项目库

软件物料清单交付 AOPC:从依赖扫描到可复现 SBOM

为有软件交付义务的开发商和集成商整理源代码、构建产物与容器依赖,交付可复现的 SPDX 清单、缺口表和生成记录,不替代安全认证或许可证法律判断。

卖的是绑定发布版本的可复现清单,不是许可证或安全认证。

作者
AOPC 编辑部
发布
AOPC 编辑部
发布时间
更新
2026/7/31
核查
已核查
客户授权的软件源代码与发布物经过工具扫描和人工复核后形成可复现的软件物料清单
客户输入到人工验收的交付路径

先看答案

适合谁
  • 能运行构建并人工核对软件组件边界的人
  • 已有软件交付合作方、可从一个发布版本开始试单的人
你会获得
卖的是绑定发布版本的可复现清单,不是许可证或安全认证。
发布时间
实质更新
发布
AOPC 编辑部

60 秒结论

一分钟看懂这篇文章

卖的是绑定发布版本的可复现清单,不是许可证或安全认证。

人负责

  • 确认授权与发布版本
  • 核对工具遗漏和未知字段
  • 审批披露范围与验收结论

AI 负责

  • 规范组件字段
  • 比较三层清单
  • 整理未解析项
  1. 授权版本
  2. 分层扫描
  3. 人工复核
  4. 清单交付

项目一句话

为需要向客户提交软件物料清单的软件开发商或系统集成商,把一个明确发布版本的源代码、构建产物和容器镜像分别扫描并对照,交付 SPDX JSON、组件差异与未解析项清单、生成命令、工具版本和校验记录。卖的是限定版本、限定输入和限定格式的可复现交付,不是扫描报告截图,也不是安全或许可证认证。

GB/T 47020—2026《网络安全技术 软件物料清单数据格式》于 2026 年 1 月 28 日发布,实施日期为 2026 年 8 月 1 日。本文发布于 2026 年 7 月 31 日,因此它在本文发布日仍是即将实施的推荐性国家标准。项目必须同时核对客户合同、采购文件、目标格式和实施日期,不能把推荐性数据格式直接扩张成对所有软件项目相同的强制认证要求。

适合什么人

适合能在隔离环境复现构建、理解包管理器和容器镜像、愿意逐项核对工具遗漏的软件工程师、DevSecOps 或质量人员。经营者还要能管理最小权限、保存命令与工具版本,并让客户指定项目经理、安全负责人或法律顾问处理超出清单整理范围的结论。

不适合只会点击一次扫描按钮、看到生成 JSON 就宣布“全部合规”的人。若无法分清源代码依赖、构建依赖、运行依赖和最终发布物,也无法安全处理私有仓库与制品,应先在客户内部环境作为受控协作者,不独立承诺清单完整性。

客户是谁

第一类客户是承接政府、国企或企业软件项目,需要提供技术资料、质量材料或软件物料清单,但没有稳定生成与复核流程的软件开发商和系统集成商。合格客户有明确发布版本、构建负责人、交付日期、可访问的隔离环境和最终验收人。

第二类客户是需要为发布归档、客户问卷或内部供应链盘点准备组件清单的小型软件团队。首单只处理一个能够复现的发布版本,不接收“把整个公司所有历史代码一次扫完”或“没有构建产物但保证清单完整”的要求。

北京市经济和信息化局的实施方案鼓励供应商按需向购买者提供软件物料清单,并引导财政资金采购的软件项目原则上包含软件物料清单。上海市奉贤区 2026 年一份公开采购文件也明确要求关键软件产品包含软件物料清单。这些材料证明 SBOM 可以成为真实交付项,但不证明所有客户都有同样要求,也不代表大型项目预算可以成为一人服务报价。

卖什么

最小交付限定为一个代码库、一个构建产物或容器镜像、一个发布版本和一种约定的 SPDX JSON。范围表写明提交人、版本标签或提交哈希、构建命令、制品摘要、扫描目标、工具与版本、包管理生态、排除路径、私有依赖处理方式和禁止对外声明。

基础清单记录工具能够识别的组件名称、版本、包标识、供应商、许可证字段、依赖关系和生成元数据。差异表把源代码、构建目录和最终发布物分开,列出只在某一层出现的组件、字段冲突、自研二进制、vendored 代码、私有包、动态下载和无法确认的项目。未知内容保留为待确认,不由 AI 补齐。

复现包包含生成命令、工具版本、配置、输入摘要、原始输出、结构校验结果、人工修改记录和客户验收记录。若客户要把生成过程放入 CI,可另外交付固定触发条件、制品绑定、失败处理和产物留存规则;不得默认上传到外部服务或自动公开清单。

怎么收费

基线交付按代码库数量、构建产物或镜像数量、包管理生态数量、目标格式、私有依赖接入难度和人工复核轮次计费。一个代码库并不等于一个简单输入:多阶段构建、多个包管理器、自研二进制和离线依赖都会增加复核时间,必须在报价前盘点。

流水线配置按 CI 流程、发布目标、密钥与制品访问方式、失败分支、输出位置和验收轮次计费。持续更新按发布批次或固定月度批次收费,比较新增、删除和版本变化,并保留客户批准记录。

不按“发现多少漏洞”或“消除多少许可证风险”收费,因为本服务不提供这两种结论。商业扫描平台、专业安全测试、许可证法律审查、标准符合性评测或认证由客户单独采购。公开采购项目的总预算包含开发、集成、安全检测和质量保障等大量工作,不能拆出或推测为个人 SBOM 服务的市场统一价。

启动成本与工具

最低验证可以使用客户提供的隔离构建环境、现有包管理器、GitHub 提供的 SPDX 导出能力或开源生成与校验工具,不必在首单前购买商业平台。但工具免费并不代表项目没有成本:仍需能运行客户构建的设备或云环境、私有依赖只读访问、安全存储、加密交付、版本留存和人工逐项复核时间。

GitHub 文档说明其依赖图可以导出 SPDX 清单,并列出使用 Actions 生成 SBOM 的方式;SPDX 官方工具目录提供校验、转换和比较工具。工具能力只说明可生成或处理数据,不保证覆盖所有自研文件、运行时下载和私有组件。先用自有或明确授权的演示项目,分别扫描源代码、构建产物和容器,记录每层组件数、未识别项、误报、人工复核时间和客户能否复现,再估算正式试单成本。

AI 员工配置

字段规范化助手把不同工具输出映射到客户约定字段,统一组件名称、包标识和版本表达。差异助手比较源代码、构建产物和镜像清单,列出新增、缺失和冲突,不决定哪一个结果“正确”。未解析项助手聚类重复问题,生成需要向开发者追问的清单。交付助手整理命令、工具版本、输入摘要和验收说明。

AI 只能处理客户授权的数据。私有代码、内部包名、仓库地址、哈希、构建日志和凭证不得发送到未经客户批准的外部模型。模型不能据组件名称解释许可证义务,也不能确认漏洞是否可利用或已经消除。

人工负责人确定扫描范围和发布版本,在批准的环境运行工具,检查 lockfile、构建脚本、制品和容器是否对应,核对自研组件、私有包、vendored 代码与动态依赖,并审批披露字段。许可证解释交给客户指定的法律或开源治理人员,安全结论交给客户指定的安全人员。有限清单不能据此宣称许可证合规、安全认证或漏洞清零。

7 天启动步骤

  1. 第 1 天:固定交付边界。 确定一个发布版本、一个代码库、一个发布物、目标 SPDX 版本、输入、排除项、验收人和禁止声明。
  2. 第 2 天:访谈交付团队。 访谈五家软件开发商或集成商,复盘最近一次客户要求的是清单、格式校验、差异说明还是流水线。
  3. 第 3 天:取得授权。 获取代码库、构建环境、私有依赖和发布物的书面只读授权,列出禁止上传的数据。
  4. 第 4 天:完成分层基线。 分别扫描源代码和发布物,记录命令、工具版本、配置、原始结果和构建摘要。
  5. 第 5 天:人工核对差异。 用 AI 整理差异,由开发者核对自研组件、私有包、未知字段和工具遗漏。
  6. 第 6 天:签付费试单。 限定发布版本、输入数量、目标格式、人工复核轮次、数据处理和客户专业判断责任。
  7. 第 7 天:交付并复现。 提交 SPDX JSON、差异与未解析项、生成记录和校验结果,由客户负责人在约定环境重跑并书面验收。

七天只验证一个发布版本的清单交付闭环,不代表已经建立企业级软件供应链治理、持续漏洞管理或许可证合规体系。

第一个客户从哪里来

先从已有合作关系的软件外包团队、系统集成商或本地软件行业组织的公开会员渠道,寻找未来三十天内有政府、国企或企业软件交付节点的项目经理、技术负责人或交付负责人。先问对方采购文件或客户验收表是否要求 SBOM、当前由谁生成、最终发布物是否能复现,而不是向陌生开发者群发“免费扫描”。

首单固定为一个代码库、一个发布产物或容器镜像和一种 SPDX JSON。先交付范围表与分层基线,客户确认输入和差异有效后,再完成付费清单与复现包。验收标准是客户能在约定环境运行记录的命令、确认清单对应指定发布版本,并逐项分配未解析项;不以通过认证、没有漏洞或许可证全部兼容作为验收。

没有现成合作方时,可在公开的软件行业活动、开发者社区或服务商目录中寻找愿意接受访谈的交付负责人,只使用公开业务联系方式进行一对一沟通,不抓取个人联系方式,不批量骚扰,不扫描未授权仓库。

风险与不适用场景

第一类风险是把工具输出扩大为专业结论。GB/T 47020—2026规定的是软件物料清单数据格式;格式字段完整不等于许可证义务已经履行,也不等于软件没有漏洞。国家保密局网站的公开材料也指出,扫描和许可证识别工具可能缺少更细粒度的权利要素与冲突识别。服务必须保留未知项和专业复核入口。

第二类风险是清单与发布物不一致。只扫描源代码可能遗漏构建阶段加入的包、自研二进制、基础镜像、复制进容器的文件或运行时下载;只扫描容器也可能看不到开发与构建依赖。每份清单必须绑定发布版本、输入摘要、命令和工具版本,并写清未覆盖的层。

第三类风险是代码和供应链信息泄露。内部包名、仓库地址、组件版本、制品哈希和构建日志可能暴露技术结构。采用客户提供的隔离环境、最小只读权限、本地工具和加密交付;没有书面批准时不上传外部服务,不保留长期凭证。

本项目不适用于要求伪造或删减组件、扫描无授权代码、隐瞒已知未知项、保证通过认证、替代法律或安全审查、处理无法复现的发布物,或规模明显超过一人交付容量的客户。

来源

唯一主行动

把下一步变成可执行动作

先用市场调研工作流访谈软件交付团队