SBOM 清单还是 VEX 声明:哪一种能回答买方的漏洞问题?
买方一句"发 SBOM"背后可能是两个不同的问题;用五个共同字段判断该交付组件清单、受影响状态声明,还是两者都交。

买方一句“请发一份 SBOM”,背后可能是两个不同的问题,交付的材料应匹配问题本身。软件物料清单(SBOM,software bill of materials)按 CISA 的定义是构成软件组件的嵌套清单,回答“产品里有什么”;漏洞可利用性交换(VEX,Vulnerability Exploitability eXchange)声明是说明产品是否受某个已知漏洞影响的文档,回答“某个通用漏洞披露标识(CVE,Common Vulnerabilities and Exposures)是否影响指定产品版本”;两个问题都要答,就两者都交。对负责判断供应商上线需求的产品安全销售负责人来说,这个选择决定团队能产出什么、由谁负责、怎样才算交付完成。
CISA 的 SBOM 资源中心(2026 年 8 月 3 日访问)把 SBOM 当作清单,把 VEX 文档当作独立的受影响状态证明。还要注意:一句“请发 SBOM”只指出了一个材料类别,并没有说明买方需要的是现有文件访问、重新生成、格式规范化,还是持续更新——这些差别要在回复前确认。
两种材料,两个问题
安全评审通常只问两个问题。清单问题:这款产品由哪些组件、版本和供应商构成?SBOM 回答它。受影响状态问题:某个已知漏洞是否影响这款产品、为什么?按 CISA 的 VEX 最低要求(2023 年 4 月 21 日发布,2026 年 8 月 3 日检索),VEX 用状态和理由来传达这个答案。
产品上下文是销售角色最容易漏掉的部分。OWASP CycloneDX 的 VEX 能力页面(2026 年 8 月 3 日访问)指出:VEX 传达的是易受攻击组件在其所在产品上下文中的可利用性;单凭扫描器结果,无法确定组件是否可达、是否受影响、是否具备发布决策条件。也就是说,扫描器报一个漏洞,不等于产品的该版本就受影响。
用五个字段区分 SBOM 与 VEX 声明
对两种材料套用同一套五个字段,任何上线请求都能快速归类:
| 字段 | SBOM | VEX 声明 |
|---|---|---|
| 指定产品与版本 | 列出指定产品内的每个组件、版本和供应商 | 指明漏洞所针对的产品和版本 |
| 回答的问题 | 这款产品里有什么? | 这个已知漏洞是否影响这款产品,为什么? |
| 更新触发条件 | 依赖变化或发布新版本 | 新 CVE 披露,或受影响状态改变 |
| 证据负责人 | 构建与发布工程 | 产品安全团队,状态和理由有具名负责人 |
| 交付或验收条件 | 可导入、可比对的机器可读文件 | 每个 CVE 附状态加理由,按买方声明的标准验收 |
字段有官方依据。NTIA 的 软件物料清单最低要素(2021 年 7 月 12 日发布,2026 年 8 月 3 日检索)列出供应商名称、组件名称、版本、唯一标识、依赖关系、作者和时间戳等数据字段;CISA 的 VEX 最低要求(2023 年 4 月 21 日发布,2026 年 8 月 3 日检索)要求产品或版本、漏洞标识、组件路径、状态、理由负责人和发布决策。缺少这些要素的扫描器发现,只能开启一段 VEX 对话,还称不上文档本身——把扫描器发现变成一份完整请求的过程,见从扫描器发现到完整的上线请求。
官方来源的关键事实
- CISA,SBOM 资源中心,2026 年 8 月 3 日访问:SBOM 是嵌套组件清单;VEX 是受影响状态的证明。
- CISA,VEX 最低要求,2023 年 4 月 21 日发布,2026 年 8 月 3 日检索:VEX 以状态加理由传达受影响状态。
- NTIA,SBOM 最低要素,2021 年 7 月 12 日发布,2026 年 8 月 3 日检索:最低要素覆盖数据字段、自动化支持、实践与流程三类。
- OWASP CycloneDX,VEX 能力页面,2026 年 8 月 3 日访问:可利用性在产品上下文中判断,不能只凭扫描器结果。
- Telegram 隐私政策,2026 年 8 月 3 日访问:机器人是独立的第三方服务,界面会显示消息访问模式,开发者应事先征得许可再访问数据。
这些日期是文档历史,不是买方意图:它们只说明标准在何时发布或访问,与买方是否着急、材料是否会被接受没有关系。不要在回复里用“标准是去年发布的”来推断买方的紧迫程度。
一个复合上线请求的拆解
复合请求(示意,不是真实客户消息)。 上线期间收到这条来自潜在买方的 Telegram 消息:
你好,我们需要你们的 SBOM,才能把贵司加入供应商名单。请确认 CVE-2025-1234 是否影响 2.4 版本,并在新漏洞发布时同步更新。安全评审周五截止。
引语、CVE 编号、截止日期和供应商背景都是为演示编造的,不来自任何客户。套用五个字段:
- 指定产品与版本:消息点名 2.4 版本,SBOM 必须覆盖该版本,而不是整个产品线。
- 回答的问题:买方问了两个问题——“你们的 SBOM”(清单)和“CVE-2025-1234 是否影响 2.4”(受影响状态),两种材料都需要。
- 更新触发条件:“新漏洞发布时同步更新”是 VEX 的触发条件,不是 SBOM 的——SBOM 随组件变化更新,VEX 随 CVE 披露更新。
- 证据负责人:发布工程签署 SBOM;产品安全须为每条 VEX 状态和理由指定负责人。
- 交付或验收条件:SBOM 以可导入文件交付;VEX 每条都写明产品、版本、CVE、状态和理由才算被接受——消息没给 CVE 清单,也没给验收标准,第一封回复应索要这两样。
结论就是差距所在:SBOM 只要文件存在就能交付;VEX 那半要等买方的 CVE 清单和评审标准。
为什么这个区分很重要
两种材料都不是安全证书。SBOM 是清单;VEX 声明是状态主张。买方收下任何一种,都不等于批准了供应商;把它们当作安全证明呈交,评审失败的风险很高。SBOM 也不同于构建来源:清单说明产品里有什么,来源说明产品是怎么构建的——两种证据在上线中的区别,见SBOM 与 SLSA 来源的差别。
仍有未知项需要验证:你的产品团队要核对 SBOM 与已发布版本一致、每条 VEX 状态站得住脚;买方要核对材料满足自己的验收标准。销售不能替任何一方宣布某一步完成。
材料路线定下来后,同样的纪律适用于上线中“人”这一侧。TOP Prospect 只处理用户主动连接且有权访问的 Telegram 群,对消息保留来源证据,产出的候选项与评分供人审阅而不是事实认证,最终决定由人做出,产品不会自动联系群成员——这与 Telegram 隐私政策一致,该政策把机器人描述为独立的第三方服务,界面会显示其访问模式。如果你的下一步问题是群消息分诊怎么做,工作流见产品支柱页。
FAQ
SBOM 是安全证书吗? 不是。SBOM 是组件清单,收到它说明不了产品是否安全。
买方什么时候真的需要 VEX 声明? 当问题是某个具体 CVE 是否影响指定产品版本、以及为什么时。
一份文档能同时覆盖两者吗? CycloneDX 可以在 SBOM 中携带 VEX 数据,但验收标准不同:清单必须完整,每条 VEX 条目须写明产品、版本、CVE、状态和理由。
下次消息再说“发 SBOM”时,数一数单凭这条消息你能填满五个字段中的几个。填不满的字段,就是你要回问的问题。
常见问题
SBOM 是安全证书吗?
不是。SBOM 是组件清单,收到它说明不了产品是否安全。
买方什么时候真的需要 VEX 声明?
当问题是某个具体 CVE 是否影响指定产品版本、以及为什么时。
一份文档能同时覆盖两者吗?
CycloneDX 可以在 SBOM 中携带 VEX 数据,但验收标准不同:清单必须完整,每条 VEX 条目须写明产品、版本、CVE、状态和理由。 下次消息再说"发 SBOM"时,数一数单凭这条消息你能填满五个字段中的几个。填不满的字段,就是你要回问的问题。
资料来源与延伸阅读
- CISA, Software Bill of Materials (SBOM) resource hub (accessed 3 August 2026)
- CISA, Minimum Requirements for Vulnerability Exploitability eXchange (VEX) (21 April 2023)
- OWASP CycloneDX, Vulnerability Exploitability eXchange capability (accessed 3 August 2026)
- NTIA, The Minimum Elements for a Software Bill of Materials (12 July 2021)
- Telegram Privacy Policy (accessed 3 August 2026)
