注意: 雖然 JavaScript 對於本網站不是必需的,但您與內容的互動將受到限制。請啟用 JavaScript 以獲得完整體驗。

軟體物料清單資訊

背景

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://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 文件包含對所包含軟體的描述,包括其所有依賴項。以下是一些關於軟體資訊的示例:

  • 所有軟體元件的名稱和版本
  • 軟體識別符號(如 CPE軟體包 URL
  • 帶有校驗和的原始碼下載 URL
  • 檔名和內容校驗和
  • 每個元件之間的依賴關係

CPython SBOM 滿足 NTIA 軟體物料清單最低元素中列出的要求。軟體識別符號可用於將正在使用的軟體與漏洞資料庫(如 CVE 資料庫開源漏洞資料庫 (OSV))相關聯,通常使用漏洞掃描工具自動完成。

有關影響 CPython 的完整歷史漏洞列表,您可以查詢 OSV 資料庫的 Web 前端。新的漏洞公告會發布到這些資料庫以及 security-announce@python.org 郵件列表。