La sicurezza del codice, in regole rivendibili.
Un feed di regole SAST (analisi statica del codice, sintassi Semgrep) aggregate da fonti open-source permissive, ogni regola validata sul motore reale Opengrep, licenze verificate a livello di file, mappate a CWE + OWASP-2021. In più 1.371 pattern di rilevamento dei segreti e regole forgiate internamente in taint-mode. Da caricare nella tua CI/CD, nella tua revisione del codice, nella tua pipeline DevSecOps. Firmato Ed25519.
What we added recently
A living feed: here is the coverage added to it, dated.
- +95 règles
Copertura ampia, mappata e pronta per la CI.
SQL injection (CWE-89), command injection (CWE-78), path traversal (CWE-22), injection LDAP/XPath, XXE. Il cuore del rischio applicativo, in regole Semgrep validate.
Cross-site scripting (CWE-79), deserializzazione non sicura (CWE-502), SSRF (CWE-918), open redirect. Le categorie che dominano i report di pentest web.
1.371 pattern regex normalizzati (chiavi cloud, token, password hardcoded, chiavi private) aggregati da gitleaks, noseyparker e kingfisher. Ogni regex compila, deduplicata, portabile.
Le nostre regole in taint-mode (source → sink, con sanitizer) e guidate da CVE, la parte non clonabile del pack. Ognuna supera il suo gate di test (opengrep --test) prima della consegna.
Python, JavaScript/TypeScript, Go, Java, C/C++, PHP, Ruby, C#, Kotlin, Rust… Un’unica sintassi di regola, su tutto il tuo parco di codice.
Oltre a OWASP, ogni categoria è collegata ai framework di conformità: OWASP ASVS 4.0, PCI-DSS 4.0, ISO/IEC 27001:2022, NIST SSDF e l’EU Cyber Resilience Act. Un bundle compliance.json ti dà il report pronto per l’audit, il controllo normativo, non solo la regola. È il valore reale rivenduto.
Il rischio non si ferma al codice applicativo. Regole di misconfiguration per Terraform (segreti in chiaro, bucket pubblici, security group spalancati) e Dockerfile (USER root, tag latest, segreti in build). Infrastructure-as-code auditata nello stesso scan Opengrep, senza un secondo strumento.
215 utili regole LGPL/GPL sono tenute a parte, sotto la loro licenza originale (ridistribuibili con attribuzione, mai rilicenziate): scegli tu se caricarle.
Regole aggregate da repo Semgrep permissivi, deduplicate, validate sul motore reale Opengrep (ogni regola viene caricata e compilata), poi normalizzate a CWE + OWASP-2021 (index.json + bundle per categoria OWASP). Si aggiungono le nostre regole forgiate internamente (taint / CVE) e 1.371 pattern di segreti. Provenienza e licenza conservate, a livello di file.
Ovunque girino Semgrep / Opengrep.
Ciò che il repo semgrep-rules ufficiale non ti lascia più fare.
Il repo semgrep/semgrep-rules è passato a una licenza no-resale (Semgrep Rules License v1.0, fine 2024). Il nostro feed aggrega solo fonti permissive (MIT/Apache/BSD), verificate a livello di file: ridistribuibile, uso MSSP incluso.
Ogni regola è caricata sul motore reale Opengrep (il fork LGPL di Semgrep, senza dipendenza dall’ecosistema commerciale). Ciò che non compila viene scartato: niente sintassi rotta in CI.
Il badge di licenza di un repo spesso mente: un repo può essere MIT alla radice ma i suoi file portano header EE/LGPL/Commons-Clause. Classifichiamo ogni regola dall’header: no-resale (Commons-Clause/EE) escluse, copyleft isolato, solo il permissivo rivenduto.
Ogni regola è normalizzata a un CWE e a una categoria OWASP Top-10 2021, con un index.json e bundle per categoria. È il moat: reporti per rischio, non per nome di regola, pronto per un audit o una revisione di conformità.
Oltre all’aggregato, le nostre regole taint-mode (source→sink con sanitizer) e guidate da CVE aggiungono la copertura che le liste pubbliche non hanno. Ognuna supera opengrep --test prima di entrare.
Il feed è firmato; ne verifichi l’integrità prima di ogni integrazione in CI.
Il repo semgrep-rules ufficiale è gratuito, no?
Gratuito da usare, sì, ma da fine 2024 il repo semgrep/semgrep-rules è sotto la Semgrep Rules License v1.0, che vieta la rivendita e l’uso in un prodotto o servizio concorrente. Un MSSP o un vendor non può quindi redistribuirlo ai suoi clienti. Il nostro feed risolve questo: aggrega solo fonti permissive (MIT/Apache/BSD), verificate a livello di file, il che lo rende ridistribuibile e utilizzabile in MSSP. Il contenuto differisce (altre fonti + le nostre regole interne), l’angolo è la conformità di licenza.
Opengrep, non Semgrep? Le mie regole funzioneranno?
Opengrep è il fork open-source (LGPL) di Semgrep, con la stessa sintassi di regola. Validiamo su Opengrep per non dipendere da alcun componente commerciale, ma le regole sono in sintassi Semgrep standard: funzionano bene sia con il CLI Semgrep OSS sia con Opengrep. Non sei legato a un motore in particolare.
A cosa serve il mapping CWE / OWASP?
Ogni regola porta un identificativo CWE e una categoria OWASP Top-10 2021 nei metadati, più un index.json globale e bundle pre-tagliati per categoria OWASP. In concreto: filtri «mostrami tutto l’A03 Injection», produci un report per categoria di rischio invece che per nome di regola, e alimenti direttamente una revisione di conformità (PCI-DSS, ISO 27001, SSDLC). È questo lavoro di normalizzazione, non le regole grezze, a creare il valore.
Come si usa?
Il pack include una cartella `rules/` (permissivo, rivendibile), un `rules-copyleft/` (LGPL/GPL isolato), un `secrets/secrets.json` (i 1.371 pattern), un `index.json` e `bundles/` per categoria OWASP. Punta opengrep (o semgrep) su rules/ nella tua CI: `opengrep scan --config rules/ .`. Scegli un bundle OWASP per mirare a una categoria, abilita il copyleft se il tuo progetto lo consente. Esegui prima in modalità report, poi come gate bloccante.
Quali licenze, e posso rivendere / MSSP?
La cartella `rules/` aggrega solo contenuto permissivo (MIT / Apache-2.0 / BSD), verificato a livello di file, con attribuzione conservata: ridistribuibile, uso MSSP incluso. Le regole Commons-Clause / Enterprise Edition (no-resale) sono escluse a priori, il copyleft (LGPL/GPL) è isolato in `rules-copyleft/` sotto la sua licenza originale, sta a te caricarlo. Normalizzazione, validazione sul motore, mapping CWE/OWASP e le nostre regole interne sono il valore proprietario di ThreatClaw. Le nostre regole forgiate (rules/maison/) sono proprietarie, (c) CyberConsulting.fr, regolate dall’EULA del pack: uso nelle tue operazioni di sicurezza, non ridistribuibili (l’aggregato permissivo sì).
Pronto a mettere in sicurezza il tuo codice in CI?
Abbonamento annuale. Chiave immediata. Disdici quando vuoi.