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

比較

CRACI 與 Chainguard

Chainguard 強化進入您建置的內容:容器映像檔、程式語言函式庫與 GitHub Actions。CRACI 則保護並記錄建置本身。一個負責淨化輸入,另一個負責記錄這些輸入在建置中的去向。

更新日期

簡短的答案

Chainguard 從原始碼建置開源軟體,並以強化後的形式提供:已知漏洞極少或為零的精簡容器映像檔、重新建置的程式語言函式庫、VM 映像檔與強化的 GitHub Actions,每一項都附有簽署的 SBOM 與來源證明。如果您的問題在於起始使用的基礎映像檔與套件帶有太多 CVE,Chainguard 能直接解決這個問題。

CRACI 是 GitHub Actions 的 CI 執行器。您的作業在其上執行,執行期間它會記錄作業取用的每個外部相依套件,並強制執行對外連線政策。Chainguard 保護的是輸入;CRACI 保護並記錄的是建置。兩者幾乎沒有重疊,可以自然地搭配使用。

一覽表

功能 CRACI Chainguard
執行您的建置 作業在 CRACI 執行器上執行 提供建置所使用的映像檔與函式庫
記錄您的建置取用了什麼 觀察實際的取用,包括來自 CI 快取的套件 其 SBOM 描述的是 Chainguard 自家的建置產物
建置網路的對外連線政策 預設拒絕或允許,失效即封鎖 不在其範圍內:它不執行建置
SBOM 針對您的建置產物,每次建置皆標示完整性 每個容器映像檔都附有簽署的 SPDX SBOM
簽署的來源證明 無簽署的來源證明 其映像檔與函式庫附有 SLSA 來源證明
漏洞追蹤 重新評估受監控的 SBOM 針對 Chainguard 建置產物的資安公告與重新建置
強化的精簡容器映像檔 零 CVE、從原始碼建置的映像檔目錄
從原始碼重新建置的函式庫 Java、Python 與 JavaScript
CVE 修補 SLA 重大漏洞 7 天,其他嚴重度 14 天
強化的 GitHub Actions Chainguard Actions,從原始碼建置
價格 每 vCPU 分鐘 $0.002(2 vCPU 為 $0.004),按秒計費;無月費,也不按 SBOM 收費 最多五個容器映像檔免費;10 人團隊的目錄方案 $19K 起,按映像檔計價需報價(截至 2026 年 9 月)。
  • 支援
  • 不支援

Chainguard 的強項

Chainguard 官網首頁
chainguard.dev

以 Chainguard 自己的話來說,Chainguard Containers 是一個零 CVE、從原始碼建置的容器映像檔目錄。每個映像檔都附有 SPDX 格式的簽署 SBOM 證明,以及描述建置環境的 SLSA 1.0 來源證明,全部都可以用 cosign 驗證。客戶也可以在較新的建置中取得 CycloneDX 格式的 SBOM。

其 CVE 政策相當具體。對於已下單的客戶,Chainguard 承諾在其映像檔受支援的版本系列中,於符合條件的修補程式公開後 7 個日曆天內修補重大 CVE,並在 14 個日曆天內修補高、中、低嚴重度的 CVE。

Chainguard Libraries 對程式語言套件採取相同的做法。它是一個 Java、Python 與 JavaScript 相依套件的目錄,這些套件從經過驗證的原始碼重新建置,而不是以預先建置的建置產物下載,並作為上游來源提供給 JFrog Artifactory、Sonatype Nexus Repository 或 Cloudsmith。每個套件都帶有 Sigstore 簽章、簽署的 SBOM 與 SLSA Level 3 來源證明。Chainguard Actions 提供熱門 GitHub Actions 的強化版本,從原始碼建置並持續掃描;Chainguard VMs 則將同樣的模式應用於虛擬機器映像檔。

CRACI 不產生強化的映像檔或函式庫,也不對您取用的任何內容的 CVE 數量做出承諾。那是 Chainguard 的工作。

CRACI 的不同之處

它監看的是您的建置,而不是 Chainguard 的建置

Chainguard 的 SBOM 與來源證明描述的是在 Chainguard 工廠中建置的 Chainguard 建置產物。您的建置仍然在某處執行,而它取用的不只是一個基礎映像檔:還有您自己的相依套件、工具鏈、安裝腳本取得的工具,以及工作流程步驟下載的任何內容。CRACI 記錄的正是這些。執行器上具備套件感知能力的代理伺服器,會觀察連往 npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源等套件來源的流量。佐證資料會隨 CI 快取一起傳遞,每份 SBOM 都會依作業與快取標示其完整性:Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded。

它限制建置可以連線的目標

強化的輸入只有在建置確實使用它們時才有幫助。CRACI 的對外連線政策可設為預設拒絕或預設允許,並提供 24 個內建的軟體來源預設組態,以及適用於 registry(包括 OCI registry 與 Git)的具型別自訂來源。政策在作業開始前完成驗證,並採失效即封鎖(fail closed)。只允許您的 Chainguard registry 與建置產物儲存庫、幾乎不允許其他來源的政策,能讓「我們使用 Chainguard」從一項慣例,變成由執行器強制執行的規則。

它持續監看您已出貨的內容

API 會回傳 SBOM、網路追蹤記錄與來源證明。CRACI 會持續針對新漏洞重新評估受監控的 SBOM。SBOM 可匯出為 CycloneDX 或 SPDX 格式,並包含漏洞資訊。

部署位置的資產清冊

CRACI 的資產清冊檢視會在全球範圍內精確顯示哪些軟體版本部署到了哪些產品。當新漏洞出現時,您可以直接看到哪些產品執行受影響的版本,而不必從版本說明與試算表中拼湊答案。

搭配使用

典型的配置如下:

  • Chainguard 提供基礎映像檔,並透過您的建置產物儲存庫提供重新建置的函式庫。
  • CRACI 執行以這些內容為基礎進行建置的 GitHub Actions 作業,以允許您核准來源的對外連線政策加以管控,並記錄每個作業取用的內容。

OCI 是 CRACI 能偵測的生態系之一,而且 CRACI 支援 JFrog Artifactory 的 npm 與 PyPI 鏡像,因此透過這些途徑進入的映像檔與 Python 或 JavaScript 套件,都會成為建置記錄的一部分。涵蓋 Java 版 Chainguard Libraries 的 Maven 支援已列入產品藍圖。

哪一個適合您

  • 掃描工具不斷標示基礎映像檔中的 CVE:Chainguard 會以強化的映像檔取代這些映像檔。
  • 您需要每個版本包含哪些內容的佐證資料:CRACI 從建置中記錄這些資料。
  • 您希望建置只能連線到核准的來源:CRACI 的對外連線政策會在執行器層級強制執行。
  • 您同時需要乾淨的輸入與有記錄的建置:依上述方式搭配使用兩者。

因應 Cyber Resilience Act

從已知漏洞極少、具備明文修補 SLA 與簽署 SBOM 的元件起步,能讓製造商的漏洞處理更加容易,Chainguard 在這方面能有所幫助。CRACI 則自動化了企業在更廣泛的 Cyber Resilience Act(CRA)法規遵循流程中所需的相當大一部分軟體供應鏈可視性與佐證資料:每個版本包含了哪些內容,以及持續的漏洞追蹤。兩者都無法單獨讓產品符合法規。請參閱什麼是 CRA與CRA 法規遵循。

將 CRACI 加入 Chainguard 環境

安裝 CRACI GitHub App,接著在您想要記錄的工作流程中,將 runs-on 改為 craci。您的 Dockerfile 與套件設定都維持不變。CRACI 目前支援 GitHub Actions;GitLab CI、Jenkins 與其他 CI 系統已列入產品藍圖。進一步了解建置時 SBOM 產生與CI/CD 整合。

以乾淨的輸入建置,並加以證明

在 CRACI 執行器上執行一個使用 Chainguard 映像檔的 GitHub Actions 工作流程,查看它留下的記錄。

預約示範