Skip to main content

纲目规则库 · gangmu-rules

免费的规则库:被各家 SDK 拷贝最多的上游开源组件,社区共同维护。

rules PyPI

纲目 Gangmu 用这份规则库在嵌入式 C/C++ 源码树里认出被改名、魔改、 静态链接的开源组件,并生成 SBOM。工具和规则分开维护:工具按版本发布,规则按日期发布, 新增一条规则不用等工具发版。

English · 贡献规则 · 规则格式

安装

pip install gangmu-sbom      # 会一并装上 gangmu-rules
pip install -U gangmu-rules  # 只更新规则
gangmu rules lint            # 查看当前加载了哪些规则

无法访问 PyPI 的内网环境:从 Releases 下载 gangmu-rules-offline-<版本>.tar.gz,解压后用 SHA256SUMS 校验,再设置 GANGMU_RULES=<解压目录>。

里面有什么

目录 内容
rules/generic/ 被各家 SDK 拷贝最多的上游组件:lwIP、Mbed TLS、FreeRTOS、RT-Thread、LiteOS、GmSSL、铜锁、wolfSSL,以及 zlib、libpng、curl、Expat、LZ4、Lua、ThreadX、WAMR、coreMQTT、TinyUSB、MCUboot、FreeRTOS-Plus-TCP、libsodium、Mongoose、MicroPython 等
rules/zephyrproject/ Zephyr 及其 HAL 模块
rules/patches/ 补丁记录:某条公告的修复改了哪些函数。gangmu vuln --source ROOT 据此判断厂商那份代码里修复本身在不在,而不是只看版本号去猜(目前 9 条:nanopb、nimble、wolfSSL、libjpeg-turbo)。每条记录在 CI 里都从它写明的上游提交重新生成并比对,见 CONTRIBUTING.md

共 89 条规则,全部免费,欢迎社区贡献。

厂商专属的规则

只跟一家公司绑定的规则(这家公司自己的 SDK、固件库,或它 fork 过的开源组件)不在这个免费规则库里,属于商业版规则包。 规则 id 与这里一致,装上商业版规则包后自动叠加;只装这个仓库时,这些公司的固件库不会被认出来。

每条规则都写明它对应的上游版本(固定的标签或提交),CI 会从这个上游重新推导证据,复现不了的规则不会合入。

叠加自己的规则

自有 BSP、未公开的 SDK,可以写在自己的目录里,扫描时叠加在社区规则之上;同一个 id 以后加载的为准:

gangmu scan firmware/ --rules "$(python -c 'import gangmu_rules;print(gangmu_rules.path())')" --rules my-rules/

也可以把私有规则做成 Python 包,通过 gangmu.rule_packs 入口自动加载(见本仓库的 pyproject.toml)。

相关仓库

仓库 做什么
gangmu 工具本体:扫描、SBOM、漏洞比对、CRA 与工信部草稿。工具本身的问题去那里提
gangmu-rules(本仓库) 免费规则库:认不出某个 SDK 里的通用组件、认错了版本,在这里提 issue 或 PR
gangmu-bench 评测:用真实上游发布版检验规则认得对不对,每次规则变动后都可以重跑
gangmu-cbom-rules 密码算法与库能力表:gangmu cbom 读的规则,格式和本仓库不同
gangmu-action GitHub Action:在 CI 里生成 SBOM、CBOM 并给出后量子就绪报告

商业版在开源版之上叠加持续监测、报送工作台和规则企业服务,见开源版与商业版。

参与规则共建,联系我们

一条规则只需要一个干净的上游版本和一次 gangmu rules verify,欢迎大家一起补。

  • 通用开源组件、Zephyr 与 HAL、国产 SDK 里常见的第三方库:直接提 issue 或 PR,见 CONTRIBUTING.md;
  • 想认领某个芯片 SDK、不确定规则该放哪里、手上有真实固件样本愿意帮忙验证:先联系我,避免重复劳动;
  • 厂商专属规则、私有 BSP、商业版规则包:同样联系我。

联系方式:邮箱 64031875@qq.com,或扫码进「CRA 合规群」(二维码有有效期,扫不出来请发邮件)。

CRA 合规群二维码

你贡献的规则按本仓库的许可证(CDLA-Permissive-2.0)授权;已有内容不会撤回,也不会收费。

许可证

规则数据采用 CDLA-Permissive-2.0,任何项目和产品都可以使用;打包代码采用 Apache-2.0。

厂商专属规则包、带响应时限的规则更新、离线镜像或为自有 SDK 编写私有规则,见开源版与商业版。

Metadata

Release files for gangmu-rules 2026.10.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gangmu-rules 2026.10.11
File Size Uploaded
gangmu_rules-2026.10.11.tar.gz 5.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gangmu-rules 2026.10.11
File Interpreter ABI Platform
gangmu_rules-2026.10.11-py3-none-any.whl Python 3 none any Details

Total release size: 10.3 MB

Release files / gangmu_rules-2026.10.11.tar.gz

Download URL gangmu_rules-2026.10.11.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
5cc7dfccdf6380f6de6a9287a62af1a8629b148daddf8a5b954265640fee51e5
BLAKE2b-256 checksum
How to use checksums
624237ef7e707d0e9ee8cbdf7767980e30e09cbd3c5b7b855c47171e4abd5f2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / gangmu_rules-2026.10.11-py3-none-any.whl

Download URL gangmu_rules-2026.10.11-py3-none-any.whl
Size 5.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
eefa40435cc1aa23e6d4780b164b75b2b33c18f5b00c074c3951b0589e55fbd9
BLAKE2b-256 checksum
How to use checksums
0359e30ae9a394661c4474ed01e6203fb6156834cd07e8223dcb64281c6998fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.10.11 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page