跳轉到

什麼是 SBOM

SBOM(Software Bill of Materials,軟體物料清單)是一份軟體內部元件的清單:軟體隨附的每一個開放原始碼函式庫與套件,連同各自的名稱、版本與授權條款。它對軟體的作用,就像成分表對包裝食品一樣——不必把產品拆開,就能看見裡面有什麼。

今天大多數軟體都是以開放原始碼組裝出來的。一個典型的網頁應用程式直接宣告的套件有數十個,而這些套件又會再帶進數百個。沒有人能把這份清冊記在腦子裡,因此 SBOM 是由工具從專案產生的——BomLens 做的就是這件事。

為什麼需要 SBOM

有兩件日常工作,取決於你是否確切知道軟體裡有什麼。

履行授權義務。大多數開放原始碼授權條款(MIT、Apache-2.0、BSD 等)要求你在產品中隨附著作權標示與授權條款全文。要寫出這份開放原始碼授權聲明,首先得有元件清單,也就是 SBOM。BomLens 會在同一次執行中,直接由 SBOM 產生授權聲明。

弱點應變。當某個函式庫被公告有弱點時,第一個問題是「我們的產品有用到它嗎,用的是哪個版本?」。只要每個產品都有 SBOM,這個答案就是一次查詢,而不是一場調查。這也是客戶與監理機關越來越常要求供應者在每次交付時一併提供 SBOM 的原因。

在結果中會遇到的名詞

CycloneDX 是 BomLens 寫出 SBOM 所採用的標準檔案格式——由 OWASP CycloneDX 專案定義的 JSON 文件(1.6 版)。正因為格式是標準的,你產生的檔案可以被其他工具讀取:弱點追蹤系統、政策檢查工具,或是客戶自己的工具。

PURL (Package URL) 是 SBOM 內部每個元件所帶的識別碼,例如 pkg:npm/express@4.18.2。它以一個字串同時記下生態系(npm、Maven、PyPI 等)、套件與確切版本,讓每個讀取這份 SBOM 的工具都對「指的是哪個元件」有一致的理解。

ML-BOM 是把同樣的概念套用到 AI 模型上:一份 CycloneDX 文件,列出一個模型由什麼構成——它的資料集、基礎模型與授權條款。BomLens 可以從 HuggingFace 模型 ID 產生一份;請參考 AI 模型指南。

下一步

要執行掃描,這些內容都不必記住。挑一條適合你的路:


相關文件:開始使用 | 不用 CLI 的快速開始 | 產出物