A segurança do código, em regras revendáveis.
Um feed de regras SAST (análise estática de código, sintaxe Semgrep) agregadas de fontes open-source permissivas, cada regra validada no motor real Opengrep, licenças verificadas ao nível do arquivo, mapeadas para CWE + OWASP-2021. Além disso, 1.371 padrões de detecção de segredos e regras forjadas internamente em taint-mode. Para carregar no seu CI/CD, na sua revisão de código, no seu pipeline DevSecOps. Assinado Ed25519.
What we added recently
A living feed: here is the coverage added to it, dated.
- +95 règles
Cobertura ampla, mapeada e pronta para CI.
Injeção SQL (CWE-89), injeção de comando (CWE-78), path traversal (CWE-22), injeção LDAP/XPath, XXE. O núcleo do risco aplicacional, em regras Semgrep validadas.
Cross-site scripting (CWE-79), desserialização insegura (CWE-502), SSRF (CWE-918), open redirect. As categorias que dominam os relatórios de pentest web.
1.371 padrões regex normalizados (chaves cloud, tokens, senhas hardcoded, chaves privadas) agregados de gitleaks, noseyparker e kingfisher. Cada regex compila, deduplicado, portátil.
Nossas próprias regras em taint-mode (source → sink, com sanitizers) e orientadas por CVE, a parte não clonável do pack. Cada uma passa no seu gate de teste (opengrep --test) antes da entrega.
Python, JavaScript/TypeScript, Go, Java, C/C++, PHP, Ruby, C#, Kotlin, Rust… Uma mesma sintaxe de regra, em todo o seu parque de código.
Além do OWASP, cada categoria é ligada aos frameworks de conformidade: OWASP ASVS 4.0, PCI-DSS 4.0, ISO/IEC 27001:2022, NIST SSDF e o EU Cyber Resilience Act. Um bundle compliance.json entrega o relatório pronto para auditoria, o controle regulatório, não só a regra. Esse é o valor real revendido.
O risco não para no código de aplicação. Regras de misconfiguration para Terraform (segredos em claro, buckets públicos, security groups abertos) e Dockerfile (USER root, tag latest, segredos em build). Infrastructure-as-code auditada no mesmo scan Opengrep, sem uma segunda ferramenta.
215 regras LGPL/GPL úteis são mantidas à parte, sob sua licença original (redistribuíveis com atribuição, nunca relicenciadas): você escolhe se as carrega.
Regras agregadas de repos Semgrep permissivos, deduplicadas, validadas no motor real Opengrep (cada regra é carregada e compilada), depois normalizadas para CWE + OWASP-2021 (index.json + bundles por categoria OWASP). Somam-se nossas regras forjadas internamente (taint / CVE) e 1.371 padrões de segredos. Proveniência e licença mantidas, ao nível do arquivo.
Em qualquer lugar onde Semgrep / Opengrep rode.
O que o repo semgrep-rules oficial já não deixa você fazer.
O repo semgrep/semgrep-rules passou a uma licença no-resale (Semgrep Rules License v1.0, final de 2024). Nosso feed agrega apenas fontes permissivas (MIT/Apache/BSD), verificadas ao nível do arquivo: redistribuível, uso MSSP incluído.
Cada regra é carregada no motor real Opengrep (o fork LGPL do Semgrep, sem dependência do ecossistema comercial). O que não compila é descartado, nada de sintaxe quebrada na CI.
O badge de licença de um repo muitas vezes engana: um repo pode ser MIT na raiz mas seus arquivos têm cabeçalhos EE/LGPL/Commons-Clause. Classificamos cada regra pelo cabeçalho: no-resale (Commons-Clause/EE) excluídas, copyleft isolado, só o permissivo revendido.
Cada regra é normalizada para um CWE e uma categoria OWASP Top-10 2021, com um index.json e bundles por categoria. Esse é o moat: você reporta por risco, não por nome de regra, pronto para uma auditoria ou revisão de conformidade.
Além do agregado, nossas regras taint-mode (source→sink com sanitizers) e orientadas por CVE adicionam a cobertura que as listas públicas não têm. Cada uma passa no opengrep --test antes de entrar.
O feed é assinado; você verifica a integridade antes de cada integração na CI.
O repo semgrep-rules oficial é gratuito, não é?
Gratuito para usar, sim, mas desde o final de 2024 o repo semgrep/semgrep-rules está sob a Semgrep Rules License v1.0, que proíbe a revenda e o uso em um produto ou serviço concorrente. Um MSSP ou um fornecedor não pode, portanto, redistribuí-lo aos seus clientes. Nosso feed resolve isso: agrega apenas fontes permissivas (MIT/Apache/BSD), verificadas ao nível do arquivo, o que o torna redistribuível e utilizável em MSSP. O conteúdo difere (outras fontes + nossas regras internas), o ângulo é a conformidade de licença.
Opengrep, não Semgrep? Minhas regras vão funcionar?
Opengrep é o fork open-source (LGPL) do Semgrep, com a mesma sintaxe de regra. Validamos no Opengrep para não depender de nenhum componente comercial, mas as regras estão em sintaxe Semgrep padrão: rodam tão bem com o CLI Semgrep OSS quanto com o Opengrep. Você não fica preso a nenhum motor específico.
Para que serve o mapeamento CWE / OWASP?
Cada regra carrega um identificador CWE e uma categoria OWASP Top-10 2021 nos metadados, além de um index.json global e bundles pré-cortados por categoria OWASP. Concretamente: você filtra “mostre-me todo o A03 Injection”, produz um relatório por categoria de risco em vez de por nome de regra, e alimenta diretamente uma revisão de conformidade (PCI-DSS, ISO 27001, SSDLC). É esse trabalho de normalização, não as regras brutas, que cria o valor.
Como uso?
O pack traz uma pasta `rules/` (permissivo, revendável), um `rules-copyleft/` (LGPL/GPL isolado), um `secrets/secrets.json` (os 1.371 padrões), um `index.json` e `bundles/` por categoria OWASP. Aponte opengrep (ou semgrep) para rules/ na sua CI: `opengrep scan --config rules/ .`. Escolha um bundle OWASP para mirar uma categoria, ative o copyleft se o seu projeto permitir. Rode primeiro em modo relatório, depois como gate bloqueante.
Quais licenças, e posso revender / MSSP?
A pasta `rules/` agrega apenas conteúdo permissivo (MIT / Apache-2.0 / BSD), verificado ao nível do arquivo, com a atribuição preservada: redistribuível, uso MSSP incluído. As regras Commons-Clause / Enterprise Edition (no-resale) são excluídas de antemão, o copyleft (LGPL/GPL) é isolado em `rules-copyleft/` sob sua licença original, você decide se carrega. A normalização, a validação no motor, o mapeamento CWE/OWASP e nossas regras internas são o valor proprietário da ThreatClaw. Nossas regras forjadas (rules/maison/) são proprietárias, (c) CyberConsulting.fr, regidas pela EULA do pack: uso nas suas próprias operações de segurança, não redistribuíveis (o agregado permissivo é).
Pronto para proteger seu código na CI?
Assinatura anual. Chave instantânea. Cancele quando quiser.