FIBEMATE Tools

五个核心工具,同一仓库(Lennonhaha/fibemate-tools,Apache-2.0)。另有 2 个演示页,见下方「附加演示」。

它们不实现任何密码学算法,只做一件事:把「看起来对」变成「可复核」。

这些工具对应一条纪律——对外硬数字必须独立核验,不拿推测当事实。 它们给的是信号,不是判决。

核心工具(① → ⑤ 与官网一致)

1cbom-tools · 物料清单生成器

npm cbom-tools@0.2.7 · Node.js · 源码

扫描代码库,产出符合 OWASP CycloneDX 1.7 的 CBOM:算法、模式、曲线、密钥长度按官方 schema 校验,而不是按自己的解析器「能吃回去」。

npx cbom-tools scan --dir ./project --out cbom.json --spec 1.7(旧版可用 --spec 1.6)

v0.2.7 起:cbom-scan --dir <path> 路径不存在或不是目录时返回退出码 2;旧版输出空 BOM 并退出 0。

2verifact · 事实哨兵

npm verifact@0.2.4 · Node.js · 源码

查看演示 →

把文档里的声明和制品里的数字对上:逐条抽 claim,找到候选证据就判 verified,对不上就 drift。漂移即红,可作 CI 门禁(--fail-on drift)。

只做值级比对。它不校验字节完整性——那需要摘要 + 时间戳,见 scripts/claim-evidence/verify-evidence.cjs。

3密码幻觉检测器 CI 13s

npm crypto-hallucination-detector@0.1.2 · Node.js · 零依赖 · 源码

查看演示 →

扫描 JS/TS 代码里 AI 容易编出来的写法:声称常数时间却按秘密分支、用数组下标索引秘密、调用不存在的加密 API。

输出 needs-human-review,不宣判漏洞。样本测试全过,已在真实代码上验证过误报。

4fibemate-xdiff · 差分哨兵

npm fibemate-xdiff@0.1.0 · Node.js · 命令仍叫 xdiff · 源码

拿两份同一算法的实现比对派生路径与 KAT 输出:悄悄改了一处常量、少了一个域分隔字节,就红。

npm i -g fibemate-xdiff

5密码时间机器 CI 7s

PyPI crypto-time-machine@0.1.2 · Python · 仅标准库 · 命令 ctime · 源码

查看演示 →

把「某个密码学 API 在哪个 commit 引入、何时变更、影响了哪些文件」变成可查询的时间轴。

基于 git log -S/-G 的真实历史,不靠记忆。CI 用自建临时仓库跑,零外部依赖。

附加演示(不在上面五个之内)

无法解密证明器 CI 22s

Rust + Lean4 · 源码

查看演示 →

多轮覆写销毁密钥材料,每轮记录覆写前后的非零字节计数与指纹,落盘成证据链供人工复核。

用 zeroize 而非 fill(0)(防止编译器把覆写优化掉)。Lean 模板是骨架,诚实标注「非完整证明」。

密码时间账本

主仓 fibemate · GPL-3.0 · 零依赖 · 源码

查看演示 →

把「某算法在某 commit 下被纳入账本」串成可复现的 RFC 3161 时间戳链(hash 用 RFC 8785 风格键排序)。

浏览器内 Web Crypto 重算 SHA-256,零外部依赖。3 个演示 block 来自测试 fixture,非生产测量。