HailBytes/sbom-diff
GitHub: HailBytes/sbom-diff
一个用于对比两个 SBOM 文件(CycloneDX 或 SPDX 格式)并生成清晰变更报告(如依赖增删、版本升级及新 CVE)的命令行工具和编程库。
Stars: 1 | Forks: 0
# @hailbytes/sbom-diff

[](https://www.npmjs.com/package/%40hailbytes%2Fsbom-diff)
[](https://www.npmjs.com/package/@hailbytes/sbom-diff)
[](LICENSE)
[](https://bundlephobia.com/package/@hailbytes/sbom-diff)
## 功能说明
对比两个 CycloneDX 或 SPDX 格式的 SBOM 文件,即时查看变更内容:新增软件包、移除软件包、版本升级以及新引入的 CVE。输出格式支持人类可读文本、JSON 或 Markdown —— 非常适合 CI/CD 流程控制与审计追踪。
## 安装
```
npm install @hailbytes/sbom-diff
# 或通过 npx 直接使用
npx @hailbytes/sbom-diff old.json new.json
```
## 快速开始
### 命令行界面
```
# 比较两个 SBOM 并输出人类可读的报告
npx @hailbytes/sbom-diff old.json new.json
# 输出为 JSON
npx @hailbytes/sbom-diff old.json new.json --format json
# 输出为 Markdown(适用于 PR 评论)
npx @hailbytes/sbom-diff old.json new.json --format markdown
```
### 编程接口
```
import { diff } from '@hailbytes/sbom-diff';
const report = await diff('old.cdx.json', 'new.cdx.json');
console.log(report.added); // Component[] — newly added packages
console.log(report.removed); // Component[] — packages removed
console.log(report.upgraded); // { from: Component, to: Component }[]
console.log(report.newCVEs); // CVE[] — vulnerabilities in new packages
```
## 适用人群
安全工程师、DevSecOps 团队与供应链风险分析人员——他们需要追踪软件版本间的依赖变更、检测新引入的 CVE,并生成可用于合规证明的 SBOM 差异报告。
## 相关项目
- [`@hailbytes/caiq-lite`](https://github.com/HailBytes/caiq-lite) — CSA CAIQ-Lite 模式与验证工具
- [`@hailbytes/asm-scope-parser`](https://github.com/HailBytes/asm-scope-parser) — 攻击面范围解析
- [HailBytes](https://hailbytes.com)
*属于 [HailBytes](https://hailbytes.com) 开源安全工具套件的一部分。*
标签:API安全, CVE分析, CycloneDX, DevSecOps, JSON输出, Markdown输出, MITM代理, npm工具, SBOM比较, SPDX, TLS抓取, 上游代理, 人类可读报告, 供应链风险, 依赖管理, 包管理, 变更报告, 安全扫描, 审计工具, 数据可视化, 时序注入, 暗色界面, 杀软绕过, 自动化攻击, 软件安全, 风险分析