2026 年 10 月,三款主流开源软件物料清单(SBOM)生成工具先后发布新版本:Syft 于 10 月 20 日更新至 1.55.0,Trivy 于 10 月 14 日更新至 0.76.0,cdxgen 于 10 月 23 日更新至 13.5.0。三者都能输出 CycloneDX 与 SPDX 两种格式,因此选型问题背后首先是格式问题。
Tech Insider 的对比文章指出,目前没有独立、可复现的三款工具同目标横向速度测试,因此文章未给出速度数字,而是建议用户在自己的代码仓库上实测。文章按容器镜像盘点、单一工具 CI 扫描、多语言仓库与 Dependency-Track 流水线等场景给出了选型建议。
先定格式:SPDX 与 CycloneDX
Syft 由 Anchore 维护,定位是 SBOM 生成器;Trivy 由 Aqua Security 维护,本身是漏洞扫描器,同时具备写出 SBOM 的能力;cdxgen 属于 OWASP cdxgen 项目,以 CycloneDX 物料清单生成为主。三者的角色差异决定了它们在流水线中的位置并不相同。
版本方面,Syft 1.55.0 于 10 月 20 日发布,Trivy 0.76.0 于 10 月 14 日发布,cdxgen 13.5.0 于 10 月 23 日发布。来源提醒,这类工具通常每一两周就会推出补丁版本,因此对比表格很快就会过时,在流水线中固定版本时应以发布页当天信息为准,并把确切的版本字符串记录进日志。
三款工具本月都有与密码学物料清单(CBOM)相关的工作:Trivy 0.76.0 引入实验性的 CBOM 安全等级,cdxgen 13.5.0 支持在 CBOM 中识别证书。这一动向被来源视为厂商对需求方向的判断。
Syft 方面还有两项可查记录:Anchore 在 10 月 22 日宣布 Syft 与 Grype 合计下载量突破 5000 万次;同时 10 月 21 日有一份针对 v1.55.0 二进制中 Go 1.26.8 的问题报告被提交。来源未在 Trivy 与 cdxgen 上确认到同类安全记录。
先定格式:SPDX 与 CycloneDX
来源的核心判断是:工具问题背后首先是格式问题。Syft、Trivy、cdxgen 都能输出 CycloneDX,也都能触及 SPDX,因此 SPDX 与 CycloneDX 之间的取舍,实际决定的是下游消费者能读到什么。同一份清单还会被 Snyk、Mend、Socket、Dependabot 等软件成分分析工具使用,干净的 SBOM 因此被视为供应链治理中成本最低的上游修复手段。
SPDX 由 Linux 基金会项目维护,其官网标注为 ISO/IEC 5962:2021,这一身份在采购文本中具有意义。该标准以许可证与来源数据起家,3.x 系列扩大了覆盖范围。项目在 2026 年 1 月 26 日公布 SPDX 3.1 首个候选版本时称,模型已延伸至安全、服务、硬件、供应链与运营领域,并说明该候选版本用于测试与验证,特性仍可能变化。目前两条版本线并行:cdxgen 已可导出 SPDX 3.0.1 JSON-LD,规范仓库中另有 2.3.1 支持分支。据报道,截至 10 月 20 日,SPDX 3.1 第二个候选版本仍在开发中,里程碑已越过 9 月 27 日的目标。来源的建议是把 3.1 当作观察对象,而非直接输出的目标。
CycloneDX 由 OWASP 托管,自我定位为降低软件供应链风险的全栈物料清单格式。2026 年 10 月的讨论集中在 1.7 版本:Trivy 在 0.71 周期加入对 CycloneDX 1.7 的支持,cdxgen 通过 --spec-version 参数记录 1.6、1.7 与 2.0 的规范目标。cdxgen 不再直接生成 1.4 或 1.5 文档,因为这两个版本早于 v13 所需的部分特性;若下游坚持 1.5,需先生成 1.6 或更高版本,再用 cdx-convert 降级转换。
两种格式之间的转换都是有损的,这一点来自 Safeguard 的字段映射指南。来源给出的务实规则是:内部安全工作流写 CycloneDX,同时为客户保留一条 SPDX 导出路径;由于 Syft 与 cdxgen 都能输出两种格式,不必为此维护两个生成器。
规格与能力对比
按来源可确认的信息,Syft 可写 SPDX 与 CycloneDX,但具体支持的 CycloneDX 版本未在来源中得到确认,许可证与官方价目表同样未确认。其本地容器存储方面有一项 10 月 5 日提交的拉取请求,涉及 Podman 与 Buildah 的容器存储工作。
Trivy 可写 CycloneDX 与 SPDX,在 0.71 周期加入 CycloneDX 1.7 支持;0.76.0 带来对经 echo 修补的 Java 与 Node.js 包的处理,以及实验性 CBOM 安全等级。来源未逐项列出其操作系统包覆盖情况,也未确认许可证与带日期的官方价格。
cdxgen 采用 Apache-2.0 许可证,来源未发现付费方案。它可输出 CycloneDX 以及 SPDX 3.0.1 JSON-LD,CycloneDX 侧可通过 --spec-version 指定 1.6、1.7 或 2.0;13.5.0 通过 osquery 5.24.0 扩大了操作系统包覆盖,并加入 CBOM 证书识别。来源认为 cdxgen 对规范目标与内置组件的文档披露较为开放,因而最容易从外部审计,但这种开放性也有另一面。
来源特别提示,表格中的空白单元格反映的是来源覆盖不足,而非功能缺失,Syft 与 Trivy 的空白处同样如此。
证据与数据边界
对于任何对比,一个合理的问题是哪个工具找到的组件最多。来源给出的诚实回答是:其查阅的资料中没有针对 Syft、Trivy、cdxgen 在同一目标上的中立、可重复的横向计数,也没有独立的速度测试,因此文章不给出速度数字,而是建议用户在自己的代码仓库上实测,因为只有这种基准才能预测自己的流水线表现。
现有的是若干带日期的数据点,且各有局限。Anchore 10 月 22 日公布的 5000 万次合计下载量衡量的是覆盖面而非准确性;revisit.tech 10 月 20 日的扫描器评测只确认了 Syft 1.55.0 与 Trivy 0.76.0 为当时版本;cdxgen 的规范目标说明由其维护者自己撰写;SPDX 项目在 10 月 5 日与 10 月 12 日的两篇帖子中共新增五个工具进入生态列表,但工具列表并不对质量排名。
来源还说明,凡只有单一来源支撑的说法,文中会以据报道表述或点明来源。这一处理方式本身构成了本次对比的证据边界。
按场景怎么选
容器镜像与目录盘点场景,来源推荐 Syft,配合 Grype 做匹配,输出 CycloneDX 或 SPDX JSON,理由是生成器本身不干扰工作流。单一工具 CI 扫描场景推荐 Trivy,因为同一二进制可在一次运行中既写出 SBOM 又匹配漏洞,CI 中只需一个工具而非两个。
多语言仓库、需要 CycloneDX 1.7 输出、需要密码学物料清单或使用 Dependency-Track 流水线的团队,来源推荐 cdxgen 13.x,并建议固定版本。嵌入式与固件团队可关注 SPDX 工具列表中的 lynkctl,其面向 C 与 C++ 项目;Python 与 AI 模型来源追踪方面,可关注 2026 年 10 月 12 日公布、面向 SPDX 3 的 Pitloom。
来源的结论是没有哪个工具在每一列都胜出。格式侧的选择同样按场景划分:安全团队消费物料清单时选 CycloneDX,客户、审计方或标准机构点名要求时选 SPDX。
要点
- Syft 1.55.0 于 2026 年 10 月 20 日发布
- Trivy 0.76.0 于 2026 年 10 月 14 日发布
- cdxgen 13.5.0 于 2026 年 10 月 23 日发布
- 三款工具均可输出 CycloneDX 与 SPDX
- SPDX 具备 ISO/IEC 5962:2021 标准地位

正在读取登录状态…
暂无讨论,说说你的看法吧