SBOM 全名是軟體物料清單,會詳細列出一套軟體所用到的開源函式庫、第三方套件與依賴項目,包含組件名稱、版本號、供應商與授權類型等資訊。它的作用是讓安全團隊清楚知道軟體內部到底用了什麼元件,一旦某個元件被發現漏洞,就能立刻查出哪些系統受影響,而不必逐一翻找程式碼。
實際產生 SBOM 分為三個步驟:先掃描專案找出所有開源函式庫、第三方套件與容器基礎映像等組件,再蒐集版本號、授權與 CVE 編號等中繼資料,最後用 SPDX 或 CycloneDX 這類標準格式整理成 JSON、XML 等檔案。常見工具包括 Syft、Trivy 等掃描器,可自動整合進開發流程。
SBOM 之所以重要,是因為美國 2021 年的行政命令要求聯邦機構採購的軟體必須附上 SBOM,帶動企業與政府加速採用。實務上最常被引用的例子是 Log4Shell 漏洞爆發時,事先建立好 SBOM 的團隊能快速比對哪些系統用了受影響版本的 log4j,省下大量排查時間,凸顯供應鏈安全的重要性。
這篇文章談的是企業與政府層級的軟體供應鏈治理,對正在學程式的孩子來說比較偏產業面,暫時不需要學會產生 SBOM。不過可以先建立一個習慣:知道自己專案用了哪些外部套件與版本,並在更新套件前確認來源可靠,這正是 SBOM 背後想解決問題的簡化版練習。
資安開源供應鏈安全