本系列此前讲过 CBcbom-tools v0.1.0 发布:把密码学资产盘点做成一条命令OM 的概念:密码物料清单(CBOM)回答「这个项目用了哪些密码算法、用在哪里」。本篇发工具——盘点本身。
输出是 CycloneDX 1.6 格式的 CBOM JSON。每个算法条目带 cryptoProperties(资产类型、密码原语、量子安全等级)和 evidence.occurrences(文件路径加行号,单算法上限 50 处,去重)。
检测两个来源:
package.json 依赖——查规则表(@noble/post-quantum、sm-crypto 这类包名)。.js/.cjs/.mjs/.ts/.tsx/.jsx 做模式匹配(crypto.createHash('sha3-256') 这类调用)。扫 fibemate 主仓(PQC 全栈平台,算法横跨 ML-KEM/ML-DSA/SLH-DSA、SM2/3/4、SHA-2/SHA-3/Keccak):
发布物两个:
cbom-tools@0.1.0(npm view cbom-tools 可查)。cbom-tools-v0.1.0,asset cbom-tools-0.1.0.tgz,10,996 字节(Release API 核验:2026-09-26T23:30:21Z 发布)。盘点只是起点。CBOM 的日常用法是 diff——迁移前后各扫一次,算法增删一目了然:
退出码三条:0 无变化,1 有变化,2 文件缺失或解析错误。放进 CI 就是密码资产的守门规则——依赖升级悄悄换掉哈希算法这类事,diff 第一时间报。
四条,写进了 README:
全部信息来自 CycloneDX SBOM 规范和公开算法参数,纯静态模式匹配,不做任何密码计算。扫描器读你的代码,不碰你的密钥。
npm install -g 即用。cbom-tools/ 子目录。规则表当前覆盖 KEM、签名、哈希、对称四类原语,支持按源码规则扩展。国密和 NIST 后量子套件都在表内。
前作讲为什么需要 CBOM;本篇解决「怎么扫、怎么 diff」。下一步是把 diff 挂进 CI 门禁,和 verifact 的事实核验、xdiff 的实现差分组成三条守门线。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。