代码安全, 化为可转售的规则。
一套 SAST(代码静态分析,Semgrep 语法)规则数据源,聚合自宽松许可的开源来源,每条规则都在真实的 Opengrep 引擎上验证,许可证按文件逐一核查,并映射到 CWE + OWASP-2021。此外还有 1,371 个密钥检测模式和内部自研的 taint-mode 规则。可加载到你的 CI/CD、代码评审和 DevSecOps 流水线。Ed25519 签名。
What we added recently
A living feed: here is the coverage added to it, dated.
- +95 règles
广泛覆盖,已映射,即插即用于 CI。
SQL 注入(CWE-89)、命令注入(CWE-78)、路径遍历(CWE-22)、LDAP/XPath 注入、XXE。应用风险的核心,以经过验证的 Semgrep 规则呈现。
跨站脚本(CWE-79)、不安全反序列化(CWE-502)、SSRF(CWE-918)、开放重定向。主导 Web 渗透测试报告的类别。
1,371 个规范化的正则模式(云密钥、令牌、硬编码密码、私钥),聚合自 gitleaks、noseyparker 和 kingfisher。每个正则都可编译、去重、可移植。
我们自研的 taint-mode 规则(source → sink,带 sanitizer)以及由 CVE 驱动的规则,这是数据包中不可复制的部分。每条规则在交付前都会通过其测试关卡(opengrep --test)。
Python、JavaScript/TypeScript、Go、Java、C/C++、PHP、Ruby、C#、Kotlin、Rust……同一套规则语法,覆盖你的全部代码资产。
在 OWASP 之上,每个类别都关联到合规框架:OWASP ASVS 4.0、PCI-DSS 4.0、ISO/IEC 27001:2022、NIST SSDF 以及 EU Cyber Resilience Act。compliance.json 分组直接给出可用于审计的报告,是监管控制项,而不仅是规则。这才是真正被转售的价值。
风险不止于应用代码。针对 Terraform(明文密钥、公开存储桶、完全开放的安全组)和 Dockerfile(USER root、latest 标签、构建期密钥)的错误配置规则。基础设施即代码在同一次 Opengrep 扫描中被审计,无需第二个工具。
215 条有用的 LGPL/GPL 规则单独保留,遵循其原始许可证(署名前提下可再分发,绝不重新授权):由你决定是否加载。
规则聚合自宽松许可的 Semgrep 仓库,经去重、在真实 Opengrep 引擎上验证(每条规则都会加载并编译),再规范化到 CWE + OWASP-2021(index.json + 按 OWASP 分类的分组)。此外还有我们内部自研的规则(taint / CVE)和 1,371 个密钥模式。逐文件保留来源与许可证。
任何运行 Semgrep / Opengrep 的地方。
官方 semgrep-rules 仓库不再允许你做的事。
semgrep/semgrep-rules 仓库已改为不可转售的许可证(Semgrep Rules License v1.0,2024 年底)。我们的数据源只聚合宽松许可的来源(MIT/Apache/BSD),并按文件核查:可再分发,含 MSSP 使用。
每条规则都在真实的 Opengrep 引擎(Semgrep 的 LGPL 分支,不依赖商业生态)上加载。无法编译的会被剔除,CI 中不会出现损坏的语法。
仓库的许可证徽章常常并不准确:某些仓库根目录为 MIT,但其文件带有 EE/LGPL/Commons-Clause 头。我们按文件头对每条规则分类:不可转售的(Commons-Clause/EE)排除,copyleft 隔离,只转售宽松许可的。
每条规则都规范化到一个 CWE 和一个 OWASP Top-10 2021 类别,并附带 index.json 和按类别的分组。这就是护城河:你按风险而非规则名报告,可直接用于审计或合规评审。
在聚合之上,我们的 taint-mode 规则(source→sink 带 sanitizer)和由 CVE 驱动的规则,补上了公共清单没有的覆盖。每条在进入前都会通过 opengrep --test。
数据源已签名;每次接入 CI 前可校验其完整性。
官方 semgrep-rules 仓库是免费的,不是吗?
使用免费,是的,但自 2024 年底起,semgrep/semgrep-rules 仓库采用 Semgrep Rules License v1.0,禁止转售以及在竞争性产品或服务中使用。因此 MSSP 或厂商无法将其再分发给客户。我们的数据源解决了这一点:只聚合宽松许可的来源(MIT/Apache/BSD),并按文件核查,使其可再分发、可用于 MSSP。内容不同(其他来源 + 我们的自研规则),切入点是许可合规。
Opengrep 而非 Semgrep?我的规则能用吗?
Opengrep 是 Semgrep 的开源(LGPL)分支,规则语法相同。我们在 Opengrep 上验证,以避免依赖任何商业组件,但规则采用标准 Semgrep 语法:用 Semgrep OSS CLI 与用 Opengrep 一样能跑。你不会被锁定在某一个引擎上。
CWE / OWASP 映射有什么用?
每条规则的元数据都带有 CWE 标识和 OWASP Top-10 2021 类别,另有全局 index.json 和按 OWASP 类别预切分的分组。具体来说:你可以筛选「给我看全部 A03 注入」,按风险类别而非规则名生成报告,并直接对接合规评审(PCI-DSS、ISO 27001、SSDLC)。真正的价值在于这份规范化工作,而非原始规则。
如何使用?
数据包含 `rules/` 目录(宽松许可、可转售)、`rules-copyleft/`(隔离的 LGPL/GPL)、`secrets/secrets.json`(1,371 个模式)、`index.json` 以及按 OWASP 类别划分的 `bundles/`。在 CI 中让 opengrep(或 semgrep)指向 rules/:`opengrep scan --config rules/ .`。选择一个 OWASP 分组以针对某类别,若项目允许可启用 copyleft。先以报告模式运行,再切换为阻断门禁。
什么许可证?可以转售 / MSSP 吗?
`rules/` 目录只聚合宽松许可内容(MIT / Apache-2.0 / BSD),按文件核查并保留署名:可再分发,含 MSSP 使用。Commons-Clause / Enterprise Edition(不可转售)规则一律排除,copyleft(LGPL/GPL)以原始许可证隔离在 `rules-copyleft/`,是否加载由你决定。规范化、引擎验证、CWE/OWASP 映射以及我们的自研规则是 ThreatClaw 的专有价值。 我们自研的规则(rules/maison/)是专有的,(c) CyberConsulting.fr,受本包 EULA 约束:仅供你自己的安全运营使用,不可再分发(宽松聚合部分则可以)。