软件物料清单信息
背景
从 Python 3.12.2 版本 开始,CPython 发行工件包含软件物料清单 (SBOM) 文档。
此页面提供有关下载和使用描述 CPython 发行工件的软件物料清单文档的指南。目前,SBOM 文档仅适用于源代码发行版本。
什么是软件物料清单 (SBOM)?
软件物料清单文档就像软件的配料清单,描述每个组件、组件的来源以及每个组件如何组合到最终的软件工件中。SBOM 文档实现了独立于生态系统的格式,可用于供应链管理和跟踪软件中的漏洞。
CPython SBOM 入门
CPython 使用 SPDX 2 标准 并使用 JSON 作为编码格式提供 SBOM 文档。如果需要,可以使用 protobom 等转换工具创建其他格式(如 CycloneDX)。
SBOM 文档将使用它们描述的工件名称作为基础,并在末尾附加适用于该格式的文件扩展名(即 .spdx.json
)。例如,当下载源代码压缩包 Python-3.12.2.tgz
的 SBOM 文档时,SBOM 文档将命名为 Python-3.12.2.tgz.spdx.json
。
SBOM 文档可以从 Python 发行页面下载,也可以使用 HTTP 客户端下载。下面是使用 curl 下载 SBOM 文档的示例
$ curl --remote-name https://pythonlang.cn/ftp/python/3.12.2/Python-3.12.2.tgz.spdx.json
下载 SBOM 文档后,您的工作目录中应有一个名为 Python-3.12.2.tgz.spdx.json
的文件。
CPython 的软件物料清单中包含什么?
SBOM 文档包含对所包含软件的描述,包括其所有依赖项。以下是一些关于软件信息的示例:
CPython SBOM 满足 NTIA 软件物料清单最低元素中列出的要求。软件标识符可用于将正在使用的软件与漏洞数据库(如 CVE 数据库 和 开源漏洞数据库 (OSV))相关联,通常使用漏洞扫描工具自动完成。
有关影响 CPython 的完整历史漏洞列表,您可以查询 OSV 数据库的 Web 前端。新的漏洞公告会发布到这些数据库以及 security-announce@python.org 邮件列表。