本文内容
AI 物料清单:CycloneDX 与 SPDX 实施指南
AI 物料清单是 AI 系统的软件、模型、数据集、服务、许可证、来源与关系的机器可读清单。若重点是产品安全和 SBOM 运营,可选 CycloneDX;若重点是详细来源、许可和跨产物关系,可选 SPDX。关键是只有一个权威内部清单。
AIBOM 是证据基础设施,不是合规徽章。它应回答哪个模型和数据影响了发布,以及上游变化时哪些部署需要处理。
CycloneDX 还是 SPDX?
| 因素 | CycloneDX | SPDX |
|---|---|---|
| 导向 | 产品安全与 BOM 运营 | 来源、许可与产物关系 |
| AI 表达 | 模型和数据集 ML-BOM | 可与软件配置组合的 AI Profile |
| 团队适配 | 已有 CycloneDX 与漏洞流水线 | 已有 SPDX、法务或研究流水线 |
| 稳定版本 | CycloneDX 1.7,模式发布版本 1.7.2 | SPDX 3.0.1,分别检查 AI 和 Dataset 配置文件 |
AIBOM 应记录什么?
先记录稳定身份和版本,再加入基础模型、适配器、会改变行为的提示、训练与评估数据、运行时、检索索引、外部 API、许可、哈希、供应商、评估和部署关系。
- 使用不可变哈希,不使用 latest 等显示名。
- 区分 trained-on、fine-tuned-with、evaluated-on、retrieved-from 与 served-by。
- 敏感数据详情放在受控证据中。
- 每个生产部署连接准确 AIBOM 版本。
- 在 CycloneDX 1.7 中,将可复用的数据集声明为数据组件,并在模型卡中引用其 bom-ref。在 SPDX 3.0.1 中,将数据集表示为 DatasetPackage 记录,再按用途通过 trainedOn 或 testedOn 将 AIPackage 与各记录关联。
如何避免格式锁定?
为身份、来源、关系、许可、评估和部署定义中立内部模式,再生成外部标准,避免两份清单漂移。
- 先原型化最复杂的产物组合。
- 用官方模式验证生成文档。
- 往返转换一个发布并检查关键字段损失。
- 在 CI 中固定模式和验证器版本。使用 CycloneDX 模式 1.7.2 时,文档中的 specVersion 仍为 1.7。对于 SPDX,分别验证 AI 和 Dataset 配置文件的符合性,并测试接收工具能否保留关系类型和许可证。
在哪里生成 AIBOM?
在产物不可变之后、部署批准之前生成并签名。数据来自模型注册表、数据目录、扫描器、评估结果和基础设施清单。
- 缺少身份、许可批准或评估时阻止发布。
- 区分客户版本和更丰富的内部版本。
- 上游公告变化时触发影响分析。
两个 Sprint 的试点
- 完整盘点一个已部署 AI 功能。
- 定义 ID、关系、披露层级和负责人。
- 分别用 CycloneDX 与 SPDX 表达并评分。
- 选择外部格式,保持内部中立。
- 生成、验证、签名并附到发布。
- 演练上游事件并测量定位时间。
保护从代码到发布的流程
需要团队能够维护的依赖、密钥、构建或发布控制?先选定一个代码仓库和交付路径,再约定控制措施、例外负责人及发布前所需证据。
相关服务:
- 相关交付经验: Polity
相关的应用工程经验。该案例不构成安全审计或本服务效果的证据。
- 先做决定: 上线前的软件质量保障清单
AI 物料清单常见问题
AIBOM 与 SBOM 相同吗?
CycloneDX 支持 ML-BOM 吗?
SPDX 支持 AI 产物吗?
客户应收到完整内部 AIBOM 吗?
最终思考
选择下游用户能操作的格式,但保留一个权威内部图。成功指标不是 JSON 有效,而是更快、更准确的部署影响分析。
主要来源
- OWASP CycloneDX ML-BOM. 官方能力说明
- SPDX 3 Profiles. AI Profile 官方概述
- SPDX 规范. 当前规范资源
- CycloneDX 1.7.2 发行版. 1.7 规范的模式补丁
- OWASP AI/ML-BOM 指南. 模型卡及数据集表示方式
- SPDX 3.0.1 符合性要求. AI 与 Dataset 各自的符合性要求
- SPDX 3.0.1 关系类型. trainedOn 和 testedOn 的方向及含义
