La sécurité du code, en règles revendables.
Un flux de règles SAST (analyse statique de code, syntaxe Semgrep) agrégées depuis des sources open-source permissives, chaque règle validée sur le vrai moteur Opengrep, licences vérifiées au fichier près, mappées CWE + OWASP-2021. Plus 1 371 patterns de détection de secrets et des règles forgées maison en taint-mode. À charger dans votre CI/CD, votre revue de code, votre pipeline DevSecOps. Signé Ed25519.
Ce qu’on a ajouté récemment
Un flux vivant : voici la couverture ajoutée à ce feed, datée.
- +95 règles
Une couverture large, mappée et prête pour la CI.
Injection SQL (CWE-89), injection de commande (CWE-78), path traversal (CWE-22), injection LDAP/XPath, XXE. Le cœur du risque applicatif, en règles Semgrep validées.
Cross-site scripting (CWE-79), désérialisation non sûre (CWE-502), SSRF (CWE-918), open redirect. Les catégories qui dominent les rapports de pentest web.
1 371 patterns regex normalisés (clés cloud, tokens, mots de passe en dur, clés privées) agrégés depuis gitleaks, noseyparker et kingfisher. Chaque regex compile, dédupliquée, portable.
Nos propres règles en taint-mode (source → sink, avec sanitizers) et pilotées par CVE, la part non-clonable du pack. Chacune passe son gate de test (opengrep --test) avant livraison.
Python, JavaScript/TypeScript, Go, Java, C/C++, PHP, Ruby, C#, Kotlin, Rust… Une même syntaxe de règle, sur tout votre parc de code.
Au-delà d’OWASP, chaque catégorie est reliée aux référentiels de conformité : OWASP ASVS 4.0, PCI-DSS 4.0, ISO/IEC 27001:2022, NIST SSDF et l’EU Cyber Resilience Act. Un bundle compliance.json vous donne le rapport prêt pour l’audit, le contrôle réglementaire, pas seulement la règle. C’est la vraie valeur revendue.
Le risque ne s’arrête pas au code applicatif. Des règles de misconfiguration pour Terraform (secrets en clair, buckets publics, security groups ouverts) et Dockerfile (USER root, tag latest, secrets en build). L’infrastructure-as-code auditée dans le même scan Opengrep, sans second outil.
215 règles LGPL/GPL utiles sont conservées à part, sous leur licence d’origine (redistribuables avec attribution, jamais relicenciées) : vous choisissez si vous les chargez.
Règles agrégées depuis des dépôts Semgrep permissifs, dédupliquées, validées sur le vrai moteur Opengrep (chaque règle est chargée et compilée), puis normalisées à CWE + OWASP-2021 (index.json + bundles par catégorie OWASP). S’y ajoutent nos règles forgées maison (taint / CVE) et 1 371 patterns de secrets. Provenance et licence conservées, au fichier près.
Partout où Semgrep / Opengrep tourne.
Ce que le repo semgrep-rules officiel ne vous laisse plus faire.
Le repo semgrep/semgrep-rules est passé sous une licence no-resale (Semgrep Rules License v1.0, fin 2024). Notre flux n’agrège que des sources permissives (MIT/Apache/BSD), vérifiées au fichier près : redistribuable, usage MSSP inclus.
Chaque règle est chargée sur le vrai moteur Opengrep (le fork LGPL de Semgrep, sans dépendance à l’écosystème commercial). Ce qui ne compile pas est écarté, aucune syntaxe cassée en CI.
Le badge de licence d’un repo ment souvent : certains dépôts sont MIT à la racine mais ses fichiers portent des en-têtes EE/LGPL/Commons-Clause. On classe chaque règle à l’en-tête : les no-resale (Commons-Clause/EE) sont exclues, le copyleft isolé, le permissif seul revendu.
Chaque règle est normalisée à un CWE et à une catégorie OWASP Top-10 2021, avec un index.json et des bundles par catégorie. C’est le moat : vous reportez par risque, pas par nom de règle, prêt pour un audit ou une revue de conformité.
Au-delà de l’agrégat, nos règles taint-mode (source→sink avec sanitizers) et pilotées par CVE ajoutent la couverture que les listes publiques n’ont pas. Chacune passe opengrep --test avant d’entrer.
Le flux est signé ; vous vérifiez son intégrité avant chaque intégration en CI.
Le repo semgrep-rules officiel est gratuit, non ?
Gratuit à utiliser, oui, mais depuis fin 2024 le repo semgrep/semgrep-rules est sous la Semgrep Rules License v1.0, qui interdit la revente et l’usage dans un produit ou service concurrent. Un MSSP ou un éditeur ne peut donc pas le redistribuer à ses clients. Notre flux résout ce point : il n’agrège que des sources permissives (MIT/Apache/BSD), vérifiées au fichier près, ce qui le rend redistribuable et utilisable en MSSP. Le contenu diffère (autres sources + nos règles maison), l’angle est la conformité de licence.
Opengrep, pas Semgrep ? Mes règles marcheront ?
Opengrep est le fork open-source (LGPL) de Semgrep, avec la même syntaxe de règle. Nous validons sur Opengrep pour ne dépendre d’aucun composant commercial, mais les règles sont en syntaxe Semgrep standard : elles tournent aussi bien avec le CLI Semgrep OSS qu’avec Opengrep. Vous n’êtes lié à aucun moteur en particulier.
À quoi sert le mapping CWE / OWASP ?
Chaque règle porte un identifiant CWE et une catégorie OWASP Top-10 2021 dans ses métadonnées, plus un index.json global et des bundles pré-découpés par catégorie OWASP. Concrètement : vous filtrez « montre-moi tout l’A03 Injection », vous produisez un rapport par catégorie de risque plutôt que par nom de règle, et vous alimentez directement une revue de conformité (PCI-DSS, ISO 27001, SSDLC). C’est ce travail de normalisation, pas les règles brutes, qui fait la valeur.
Comment on l’utilise ?
Le pack contient un dossier `rules/` (le permissif, revendable), un `rules-copyleft/` (LGPL/GPL isolé), un `secrets/secrets.json` (les 1 371 patterns), un `index.json` et des `bundles/` par catégorie OWASP. Pointez opengrep (ou semgrep) sur rules/ dans votre CI : `opengrep scan --config rules/ .`. Choisissez un bundle OWASP pour cibler une catégorie, activez le copyleft si votre projet le permet. Passez d’abord en mode rapport, puis en gate bloquant.
Quelles licences, et puis-je revendre / MSSP ?
Le dossier `rules/` n’agrège que du permissif (MIT / Apache-2.0 / BSD), vérifié au fichier près, avec l’attribution conservée : redistribuable, usage MSSP inclus. Les règles Commons-Clause / Enterprise Edition (no-resale) sont exclues d’office, le copyleft (LGPL/GPL) est isolé dans `rules-copyleft/` sous sa licence d’origine, à vous de décider de le charger. La normalisation, la validation moteur, le mapping CWE/OWASP et nos règles maison sont la valeur propriétaire ThreatClaw. Nos règles forgées (rules/maison/) sont propriétaires, (c) CyberConsulting.fr, régies par l’EULA du pack : usage dans vos propres opérations de sécurité, non redistribuables (l’agrégat permissif, lui, l’est).
Prêt à sécuriser votre code en CI ?
Abonnement annuel. Clé instantanée. Résiliable à tout moment.