首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >cbom-tools v0.1.0 发布:把密码学资产盘点做成一条命令

cbom-tools v0.1.0 发布:把密码学资产盘点做成一条命令

原创
作者头像
用户12439200
发布于 2026-09-27 09:02:07
发布于 2026-09-27 09:02:07
250
举报
文章被收录于专栏:FIBEMATEFIBEMATE

本系列此前讲过 CBcbom-tools v0.1.0 发布:把密码学资产盘点做成一条命令OM 的概念:密码物料清单(CBOM)回答「这个项目用了哪些密码算法、用在哪里」。本篇发工具——盘点本身。

一条命令

输出是 CycloneDX 1.6 格式的 CBOM JSON。每个算法条目带 cryptoProperties(资产类型、密码原语、量子安全等级)和 evidence.occurrences(文件路径加行号,单算法上限 50 处,去重)。

检测两个来源:

  1. package.json 依赖——查规则表(@noble/post-quantum、sm-crypto 这类包名)。
  2. 源码——对 .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):

  • 检出 13 个组件,CycloneDX 1.6。
  • 耗时:首扫 884ms,后续两次 524ms / 559ms(2026-09-27 连续三次实测)。

发布物两个:

  • npm:cbom-tools@0.1.0(npm view cbom-tools 可查)。
  • GitHub Release:tag cbom-tools-v0.1.0,asset cbom-tools-0.1.0.tgz,10,996 字节(Release API 核验:2026-09-26T23:30:21Z 发布)。

diff:迁移的前后对照

盘点只是起点。CBOM 的日常用法是 diff——迁移前后各扫一次,算法增删一目了然:

退出码三条:0 无变化,1 有变化,2 文件缺失或解析错误。放进 CI 就是密码资产的守门规则——依赖升级悄悄换掉哈希算法这类事,diff 第一时间报。

边界:不做什么

四条,写进了 README:

  • 不实现密码算法。
  • 不提供密码操作——没有 keygen、encrypt、sign。
  • 不读取、不验证密钥、证书、签名。
  • 不构成合规证书或审计。

全部信息来自 CycloneDX SBOM 规范和公开算法参数,纯静态模式匹配,不做任何密码计算。扫描器读你的代码,不碰你的密钥。

工程面

  • 零外部依赖,纯 Node.js,npm install -g 即用。
  • 许可 Apache-2.0,与主仓 fibemate 的 GPL-3.0 是两个仓库两套许可,商用项目可直接用。
  • 仓库:github.com/Lennonhaha/fibemate-tools,cbom-tools/ 子目录。

规则表当前覆盖 KEM、签名、哈希、对称四类原语,支持按源码规则扩展。国密和 NIST 后量子套件都在表内。

系列索引

前作讲为什么需要 CBOM;本篇解决「怎么扫、怎么 diff」。下一步是把 diff 挂进 CI 门禁,和 verifact 的事实核验、xdiff 的实现差分组成三条守门线。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一条命令
  • 实测
  • diff:迁移的前后对照
  • 边界:不做什么
  • 工程面
  • 系列索引
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档