用途
sbom-analysis 用于对软件物料清单(SBOM)进行系统性审查,并结合 VEX(Vulnerability Exploitability eXchange)文档判断漏洞的实际可利用性。它面向安全工程师与 AppSec 工程师,典型耗时 20-40 分钟,输出 SBOM 完整性评估、VEX 状态汇总、依赖风险分析与许可证冲突报告。
适用场景包括:收到 CycloneDX 或 SPDX 格式的 SBOM 需要审查;评估供应商或内部应用的软件供应链风险;需要解读 VEX 文档以确定漏洞是否真正可利用;为法规合规(如 EO 14028、EU CRA)评估 SBOM 完整性;对已知漏洞进行传递依赖分析。
不适用场景:在没有 SBOM 上下文的情况下分诊特定 CVE(应使用 cve-triage);执行运行时漏洞扫描(应使用 scanner-tuning);审查源代码安全缺陷(应使用 secure-code-review)。
主要能力
1. SBOM 格式识别与结构解析
支持 CycloneDX 1.5(OWASP)与 SPDX 2.3(Linux Foundation / ISO 5962)。CycloneDX 通过 bomFormat、specVersion 及 metadata、components、dependencies、compositions、vulnerabilities、formulation 等顶层键识别;SPDX 通过 spdxVersion、dataLicense 及 creationInfo、packages、relationships、files、snippets 等顶层键识别。若格式不明确,会先检查文件结构再继续。
2. NTIA 最小元素完整性检查
依据 NTIA 2021 年 7 月发布的《The Minimum Elements for a Software Bill of Materials》,评估七项最小元素:供应商名称、组件名称、组件版本、唯一标识符、依赖关系、SBOM 数据作者、时间戳。前五项按组件逐一评估,后两项为文档级。完整度评级分为:Complete(全部 7 项覆盖 100% 组件)、Substantially Complete(≥90%)、Partial(多数组件覆盖 5-6 项)、Incomplete(持续少于 5 项)。
3. VEX 状态解读
支持 CSAF 2.0 profile 5、CycloneDX VEX、OpenVEX。VEX 状态包括:Not Affected(需附理由,无需修复)、Affected(按 SLA 修复)、Fixed(验证已部署修复版本)、Under Investigation(持续监控,必要时采取补偿控制)。Not Affected 的理由类别包括 component_not_present、vulnerable_code_not_present、vulnerable_code_not_in_execute_path、vulnerable_code_cannot_be_controlled_by_adversary、inline_mitigations_already_exist。
4. 传递依赖分析
构建依赖图,计算最大依赖深度,识别孤立组件、高扇入组件(被 ≥5 个其他组件使用)、已知漏洞(对照 NVD、OSV、GitHub Advisory Database)、陈旧依赖(超过 18 个月无更新)。风险指标包括依赖深度 >5 层、传递依赖中存在 Critical/High CVE、单一维护者项目、被遗弃依赖、高扇入组件。
5. 许可证冲突检测
提取各组件声明的许可证,按宽松型、弱 copyleft、强 copyleft、专有、未知分类,并依据分发模式识别冲突。常见冲突如 Apache-2.0 与 GPL-2.0-only 不兼容、GPL-3.0-only 与专有软件不可组合、AGPL-3.0-only 在 SaaS 场景触发 copyleft、Unknown/NOASSERTION 需法律审查。
使用方式
若通过参数提供目标,审查将聚焦于该目标。开始前需收集或确认:SBOM 文件(CycloneDX JSON/XML 或 SPDX JSON/RDF/tag-value)、SBOM 格式与版本、关联 VEX 文档、软件身份(名称、版本、供应商)、预期用途(采购评估、合规审计、事件响应或持续监控)、合规要求、许可证政策、已知漏洞数据源。
输出格式
生成结构化报告,包含:执行摘要、SBOM 概览表、NTIA 最小元素合规表、VEX 状态汇总表、传递依赖风险表、许可证分析表、总体分类(Critical Supply Chain Risk / Elevated Risk / Acceptable / Strong)与理由、建议、参考链接。
限制
许可证冲突与风险决策需人工复核。若 SBOM 格式不明确需先检查文件结构。缺少 VEX 文档时无法进行 VEX 状态解读。未提供的信息(如具体价格、平台支持等)暂未提供。