軟體物料清單資訊
背景
從 Python 3.12.2 版本開始,CPython 釋出工件包含軟體物料清單 (SBOM) 文件。
本頁面提供了關於下載和使用描述 CPython 釋出工件的軟體物料清單文件的指南。目前,SBOM 文件僅適用於原始碼釋出。
什麼是軟體物料清單 (SBOM)?
軟體物料清單文件就像一份軟體的配料表,描述了每個元件、元件的來源以及每個元件如何組合成最終的軟體工件。SBOM 文件實現了與生態系統無關的格式,可用於供應鏈管理和跟蹤軟體中的漏洞。
CPython SBOM 入門
CPython 使用 SPDX 2 標準並使用 JSON 作為編碼格式提供 SBOM 文件。如果需要,可以使用 protobom 等轉換工具建立 CycloneDX 等其他格式。
SBOM 文件將使用它們所描述的工件名稱作為基礎,並附加適合該格式的副檔名(即 .spdx.json)。例如,當下載原始碼 tarball Python-3.12.2.tgz 的 SBOM 文件時,SBOM 文件將被命名為 Python-3.12.2.tgz.spdx.json。
SBOM 文件可以從 Python 釋出頁面下載,也可以使用 HTTP 客戶端下載。以下是使用 curl 下載 SBOM 文件的示例:
$ curl --remote-name https://python.club.tw/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 資料庫的網頁前端。除了 security-announce@python.org 郵件列表之外,新的漏洞公告也會發布到這些資料庫中。
