2026 年每日通報的 CVE 數量比前一年多 131%。

SBOM

SBOM 自動化

SBOM 自動化是指每次建置都會產生自己的軟體物料清單(SBOM),不需要任何人把版本複製到試算表裡。如果您的團隊在多個產品之間手動整理元件,這份清單到下一次版本發布時就已過時,而且每多一個產品,工作量就跟著增加。

更新日期

為什麼手動維護的 SBOM 會行不通

  • 下一次建置就過時。相依套件在每次版本發布時都會改變,而試算表只有在有人記得更新時才會改變。
  • 只涵蓋人看得到的部分。直接相依套件很容易列出。但其下的遞移相依套件就不是了,沒有人能用手動方式追蹤。
  • 檔案會不斷增加。多個產品、每個產品又有多個支援中的版本,就代表數十個檔案,每個都有自己的負責人,也各有一套自認正確的說法。
  • 無法回答真正重要的問題。當新漏洞出現時,您需要知道哪些版本包含該套件。在一整個資料夾的試算表中搜尋既緩慢,答案也不可信。
  • 不是別人要的格式。客戶與工具期待的是 CycloneDX 或 SPDX 等機器可讀的格式。請參閱如何回應客戶的 SBOM 請求。

好的 SBOM 自動化會做到什麼

  1. 為每次建置產生 SBOM,不需要任何人執行或記得任何事。
  2. 涵蓋完整的相依樹,包括每一層的遞移相依套件。
  3. 讓每份 SBOM 對應一次建置,讓您知道哪個檔案描述哪個版本。
  4. 說明它看不到什麼,而不是把部分清單當成完整清單呈現。
  5. 匯出標準格式,讓 SBOM 能用於下一個工具與下一位客戶。
  6. 持續監控已出貨的內容,因為週一沒有問題的版本,週二就可能受到影響。

三種維護 SBOM 的方式比較

問題 試算表 CI 中的掃描工具 在建置過程中記錄
何時更新? 有人記得時 掃描步驟執行時 每次建置
資料從何而來? 人工 鎖定檔(lockfile)或最終產出 建置實際取用的內容
遞移相依套件? 很少涵蓋 僅限能推算出的部分 每一層都涵蓋
隱藏相依套件,例如安裝腳本下載的內容? 否 會遺漏 會記錄
從 CI 快取還原的套件? 否 視工具而定 會記錄並標示為來自快取
漏洞監控? 手動 通常需另一套工具 CRACI 內建

以掃描工具自動化,確實比試算表進步許多,但它仍然是在推測建置放進了什麼。背後的道理請參閱為什麼建置才是事實的來源。

您的試算表會變成怎樣

元件資料會移出試算表:版本與套件來自建置,因此沒有人需要手動輸入。留下來的是只有您的團隊才知道的資訊,例如有哪些產品、由誰負責,以及哪些版本仍在支援中。這才是值得人花時間的部分。

CRACI 如何處理

CRACI 以更快、成本更低的執行器取代您的 GitHub 託管執行器,並在每次建置執行時記錄 SBOM。您只要設定 runs-on: craci,執行結果仍會顯示在 GitHub 中。標準建置不需任何設定即可取得完整的 SBOM。使用自有套件庫或特殊容器設定的建置,可能需要一些設定。

  • 是記錄,不是掃描。CRACI 會看到進入每次建置的流量,包括以 lockfile 為基礎的工具會遺漏的隱藏相依套件。SBOM 中的每個元件都確實存在於建置中。
  • 每個作業都有完整性狀態,讓您知道何時某次建置無法被完整記錄,以及原因。
  • 匯出 CycloneDX 與 SPDX,包含遞移相依套件,以及在元件中找到的漏洞。
  • 跨產品的單一檢視。資產清冊檢視會顯示哪些軟體版本部署到哪些產品,而 CRACI 會持續重新評估受監控的 SBOM。

若要在管線各不相同的團隊之間推行,請參閱跨工程團隊的 SBOM 產生。

SBOM 自動化:常見問題

什麼是 SBOM 自動化?

在建置過程中產生軟體物料清單,讓每個版本都有一份,而不需要任何人手動建立。較完善的做法還會在版本出貨後,持續監控每份 SBOM 是否出現新漏洞。

我們可以用 Excel 維護 SBOM 嗎?

試算表可以作為最初的資產清冊,但很難保持最新,也無法涵蓋遞移相依套件。它也不是標準的 SBOM 格式。客戶與資安工具通常期待 CycloneDX 或 SPDX,而 Cyber Resilience Act(CRA)要求使用常見且機器可讀的格式。

SBOM 自動化需要在每條管線中加入新步驟嗎?

大多數產生工具都需要:您得在每個工作流程中加入一個步驟,並持續維護。CRACI 在執行器中記錄 SBOM,因此不需要在作業中加入任何步驟。

CRACI 會記錄哪些生態系?

npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、Debian 與 Ubuntu 套件(apt)、Alpine 套件(apk)與 Git 來源,以及 Yocto 與 OpenEmbedded 的下載內容。Maven 與 Java 已列入產品藍圖。

CRACI 支援哪些 CI 系統與平台?

目前支援 GitHub Actions,其他 CI 系統已列入產品藍圖。執行器目前為 Linux x86-64 與 ARM64,Windows 與 macOS 已列入產品藍圖。

向廠商購買的元件怎麼辦?

您可以將廠商的 SBOM 加入 CRACI,讓外購元件與您自己的建置一起受到監控。

費用是多少?

CRACI 只收取建置分鐘數的費用:每 vCPU 分鐘 $0.002(預設 2 vCPU 執行器為 $0.004),按秒計量,沒有月費,也不按 SBOM 份數收費。

從下一次建置開始取代試算表

針對您已在執行的建置,查看一份記錄而得的 SBOM 及其完整性狀態。預約示範,我們會與您一起逐步檢視。

預約示範