La seguridad del código, en reglas revendibles.
Un feed de reglas SAST (análisis estático de código, sintaxis Semgrep) agregadas desde fuentes open-source permisivas, cada regla validada en el motor real Opengrep, licencias verificadas a nivel de archivo, mapeadas a CWE + OWASP-2021. Además, 1371 patrones de detección de secretos y reglas forjadas internamente en taint-mode. Para cargar en tu CI/CD, tu revisión de código, tu pipeline DevSecOps. Firmado Ed25519.
What we added recently
A living feed: here is the coverage added to it, dated.
- +95 règles
Cobertura amplia, mapeada y lista para CI.
Inyección SQL (CWE-89), inyección de comandos (CWE-78), path traversal (CWE-22), inyección LDAP/XPath, XXE. El núcleo del riesgo aplicativo, en reglas Semgrep validadas.
Cross-site scripting (CWE-79), deserialización insegura (CWE-502), SSRF (CWE-918), open redirect. Las categorías que dominan los informes de pentest web.
1371 patrones regex normalizados (claves cloud, tokens, contraseñas hardcodeadas, claves privadas) agregados desde gitleaks, noseyparker y kingfisher. Cada regex compila, deduplicada, portable.
Nuestras propias reglas en taint-mode (source → sink, con sanitizers) y guiadas por CVE, la parte no clonable del pack. Cada una pasa su gate de test (opengrep --test) antes de la entrega.
Python, JavaScript/TypeScript, Go, Java, C/C++, PHP, Ruby, C#, Kotlin, Rust… Una misma sintaxis de regla, en todo tu parque de código.
Más allá de OWASP, cada categoría se vincula a los marcos de cumplimiento: OWASP ASVS 4.0, PCI-DSS 4.0, ISO/IEC 27001:2022, NIST SSDF y el EU Cyber Resilience Act. Un bundle compliance.json te da el informe listo para auditoría, el control regulatorio, no solo la regla. Ese es el valor real revendido.
El riesgo no se detiene en el código de aplicación. Reglas de misconfiguración para Terraform (secretos en claro, buckets públicos, security groups abiertos) y Dockerfile (USER root, tag latest, secretos en build). Infrastructure-as-code auditada en el mismo escaneo Opengrep, sin una segunda herramienta.
215 reglas LGPL/GPL útiles se mantienen aparte, bajo su licencia original (redistribuibles con atribución, nunca relicenciadas): tú eliges si las cargas.
Reglas agregadas desde repos Semgrep permisivos, deduplicadas, validadas en el motor real Opengrep (cada regla se carga y compila), y normalizadas a CWE + OWASP-2021 (index.json + bundles por categoría OWASP). Se añaden nuestras reglas forjadas internamente (taint / CVE) y 1371 patrones de secretos. Procedencia y licencia conservadas, a nivel de archivo.
Donde sea que corra Semgrep / Opengrep.
Lo que el repo semgrep-rules oficial ya no te deja hacer.
El repo semgrep/semgrep-rules pasó a una licencia no-revendible (Semgrep Rules License v1.0, finales de 2024). Nuestro feed solo agrega fuentes permisivas (MIT/Apache/BSD), verificadas a nivel de archivo: redistribuible, uso MSSP incluido.
Cada regla se carga en el motor real Opengrep (el fork LGPL de Semgrep, sin dependencia del ecosistema comercial). Lo que no compila se descarta: nada de sintaxis rota en CI.
El badge de licencia de un repo suele mentir: un repo puede ser MIT en la raíz pero sus archivos llevan encabezados EE/LGPL/Commons-Clause. Clasificamos cada regla por su encabezado: las no-revendibles (Commons-Clause/EE) se excluyen, el copyleft se aísla, solo se revende lo permisivo.
Cada regla se normaliza a un CWE y a una categoría OWASP Top-10 2021, con un index.json y bundles por categoría. Ese es el moat: reportas por riesgo, no por nombre de regla, listo para una auditoría o una revisión de cumplimiento.
Más allá del agregado, nuestras reglas taint-mode (source→sink con sanitizers) y guiadas por CVE añaden la cobertura que las listas públicas no tienen. Cada una pasa opengrep --test antes de entrar.
El feed está firmado; verificas su integridad antes de cada integración en CI.
El repo semgrep-rules oficial es gratis, ¿no?
Gratis para usar, sí, pero desde finales de 2024 el repo semgrep/semgrep-rules está bajo la Semgrep Rules License v1.0, que prohíbe la reventa y el uso en un producto o servicio competidor. Un MSSP o un editor no puede redistribuirlo a sus clientes. Nuestro feed resuelve eso: solo agrega fuentes permisivas (MIT/Apache/BSD), verificadas a nivel de archivo, lo que lo hace redistribuible y utilizable en MSSP. El contenido difiere (otras fuentes + nuestras reglas propias), el ángulo es el cumplimiento de licencia.
¿Opengrep, no Semgrep? ¿Funcionarán mis reglas?
Opengrep es el fork open-source (LGPL) de Semgrep, con la misma sintaxis de regla. Validamos en Opengrep para no depender de ningún componente comercial, pero las reglas están en sintaxis Semgrep estándar: funcionan igual de bien con el CLI Semgrep OSS que con Opengrep. No quedas atado a ningún motor en particular.
¿Para qué sirve el mapeo CWE / OWASP?
Cada regla lleva un identificador CWE y una categoría OWASP Top-10 2021 en sus metadatos, más un index.json global y bundles pre-cortados por categoría OWASP. En concreto: filtras «muéstrame todo el A03 Injection», produces un informe por categoría de riesgo en vez de por nombre de regla, y alimentas directamente una revisión de cumplimiento (PCI-DSS, ISO 27001, SSDLC). Es ese trabajo de normalización, no las reglas brutas, lo que crea el valor.
¿Cómo se usa?
El pack incluye una carpeta `rules/` (lo permisivo, revendible), un `rules-copyleft/` (LGPL/GPL aislado), un `secrets/secrets.json` (los 1371 patrones), un `index.json` y `bundles/` por categoría OWASP. Apunta opengrep (o semgrep) a rules/ en tu CI: `opengrep scan --config rules/ .`. Elige un bundle OWASP para apuntar a una categoría, activa el copyleft si tu proyecto lo permite. Ejecuta primero en modo informe, luego como gate bloqueante.
¿Qué licencias, y puedo revender / MSSP?
La carpeta `rules/` solo agrega contenido permisivo (MIT / Apache-2.0 / BSD), verificado a nivel de archivo, con la atribución conservada: redistribuible, uso MSSP incluido. Las reglas Commons-Clause / Enterprise Edition (no-revendibles) se excluyen de entrada, el copyleft (LGPL/GPL) se aísla en `rules-copyleft/` bajo su licencia original, tú decides si lo cargas. La normalización, la validación en motor, el mapeo CWE/OWASP y nuestras reglas propias son el valor propietario de ThreatClaw. Nuestras reglas forjadas (rules/maison/) son propietarias, (c) CyberConsulting.fr, regidas por el EULA del pack: uso en tus propias operaciones de seguridad, no redistribuibles (el agregado permisivo sí lo es).
¿Listo para asegurar tu código en CI?
Suscripción anual. Clave instantánea. Cancela cuando quieras.