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

比較

CRACI vs Snyk

Snyk 告訴您所宣告的程式碼與相依套件有什麼問題,CRACI 則記錄您的建置實際做了什麼。同時重視這兩個問題的團隊,多半最後兩套工具都會使用。

更新日期

兩個不同的問題

如果您已在使用 Snyk,對於其中一個問題您已經有不錯的答案:我的專案所宣告的開源套件中,哪些有已知漏洞或授權問題,又該如何修正?Snyk 本質上是軟體組成分析(SCA)工具,而且把這件事做得很好。它也涵蓋自有程式碼、容器映像檔與基礎架構即程式碼(infrastructure as code)。

CRACI 回答的是另一個問題:這次建置實際引入了什麼,又是從哪裡引入的?CRACI 是 CI 執行器。您的 GitHub Actions 作業在它上面執行,執行期間它會記錄作業擷取的每一個外部相依套件。SBOM、來源證明與法規遵循佐證資料,全都來自這份紀錄。

兩套工具位於管線的不同位置,因此與其說是正面對決,不如說是一張「誰負責什麼」的分工圖。

功能 CRACI Snyk
執行您的建置 作業在 CRACI 執行器上執行 掃描專案,而非執行建置
從建置記錄相依套件 實際觀察到的擷取,包括來自 CI 快取的套件 由 manifest 與 lockfile 重建
SBOM 匯出(CycloneDX、SPDX) 每次建置皆有,附每個作業與快取的完整度 snyk sbom 指令,僅限 Enterprise 方案
建置網路對外連線政策 預設拒絕或預設允許,失效即封鎖 不在其範圍內:Snyk 不執行建置
漏洞發現 彙整所有建置與儲存庫 依可達性、利用成熟度、EPSS、CVSS 排定優先順序
持續監控 受監控的 SBOM 持續重新評估 監控專案中新揭露的漏洞
SAST、容器與 IaC Snyk Code、Snyk Container、Snyk IaC
授權政策 授權政策規則,包括依授權封鎖建置 針對開源相依套件的授權政策
GitHub Actions 以外的 CI 目前支援 GitHub Actions;GitLab CI 與 Jenkins 已列入產品藍圖 IDE、CLI、SCM 整合與 CI 管線
報告 CycloneDX 或 SPDX 格式的 SBOM,透過 API 取得紀錄;無報告匯出 報告儀表板
價格 每 vCPU 分鐘 $0.002(2 vCPU 為 $0.004),按秒計費;沒有月費,也不按 SBOM 收費 Free、Team 每月 $25 起,以及 Enterprise(截至 2026 年 11 月)。
  • 支援
  • 部分支援
  • 不支援
  • 已列入產品藍圖

Snyk 的強項

Snyk 官網首頁
snyk.io

Snyk 是為開發人員打造的。它可在 IDE、CLI 中執行,透過 SCM 整合掃描您的儲存庫,也能在 CI 中執行。對於開源相依套件,它會依可達性、利用成熟度以及 EPSS 與 CVSS 分數等因素排定發現的優先順序,並能為您開立套用升級的 pull request。它會監控專案中新揭露的漏洞,並支援授權政策。

除了相依套件之外,Snyk Code(SAST)、Snyk Container 與 Snyk Infrastructure as Code 涵蓋了 CRACI 完全不涉及的領域。CRACI 不是靜態分析工具,也不會掃描您的 Terraform。如果您需要這些功能,Snyk 或類似工具仍應保留在您的技術堆疊中。

Snyk 的介入點也更早,從您專案宣告的相依套件開始,並以升級 pull request、優先排序、IDE 回饋與授權政策包裝其修正。如果您希望從編輯器開始就引導開發人員進行升級,這正是 Snyk 的主場。

CRACI 的不同之處

它記錄建置,而不是讀取 manifest

Snyk 依據您專案中的 manifest 與 lockfile 建立相依關係樹。當 manifest 能完整說明一切時,這種做法很有效。但建置往往做得更多:執行安裝腳本、下載工具鏈、還原快取、拉取基礎映像檔,以及用 curl 擷取發布的二進位檔。

CRACI 能看到這些活動,因為它就是執行器。作業執行期間,具套件感知能力的代理伺服器會觀察前往套件來源的流量。可偵測的生態系包括 npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,以及下載預設。相依套件的佐證資料會隨 CI 快取一起保留,因此從快取還原的套件也會被記錄。

CRACI 也會告訴您每份 SBOM 的完整程度。完整度依每個作業與每個快取標示,共有五種狀態:Complete、Complete with connections、Incomplete、Unavailable 與 Not recorded。當紀錄有缺口時您會知道,而不是假設它沒有缺口。

它控管建置網路

由於建置在 CRACI 上執行,您可以為其設定對外連線(egress)政策。政策可採預設拒絕或預設允許,並提供 24 個內建的軟體來源預設,以及適用於 npm、PyPI、apt、apk、Go proxy、Nix、Cargo、OCI registry 與 Git 的類型化自訂來源。政策會在作業開始前驗證,並採取失效即封鎖(fail closed)。作業違反政策時,CRACI 可以發出警示。

掃描工具檢視的是專案宣告的內容;執行階段的控管則限制建置在執行期間能連線到哪裡。兩者是互補的防護層。

它記錄建置本身

CRACI 在自有執行器內部,依據建置實際擷取的內容產生 SBOM。API 會回傳 SBOM、網路追蹤紀錄與來源證明。CRACI 不會對來源證明進行簽章。

它從同一份紀錄產生法規遵循佐證資料

對於 EU Cyber Resilience Act(CRA)這類法規,您需要證明每個版本包含什麼,以及您如何追蹤其中的漏洞。CRACI 彙整所有建置與儲存庫中的漏洞,持續重新評估受監控的 SBOM,並將其匯出為 CycloneDX 或 SPDX 格式。它能自動化企業在更廣泛的 CRA 法規遵循流程中所需的相當大一部分軟體供應鏈可視性與佐證資料。詳見 CRA 佐證資料與 CRA 法規遵循。

掌握哪些內容部署在哪裡的資產清冊

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

關於 SBOM 取得方式

Snyk 可以透過 snyk sbom 指令匯出 CycloneDX 與 SPDX 格式的 SBOM。根據 Snyk 的文件,此指令僅提供給 Snyk Enterprise 方案的客戶。使用 CRACI 時,在執行器上的每次建置都會產生 SBOM,不另收費:CRACI 只收取建置分鐘數的費用。最新條款請參閱 價格方案。

何時同時使用兩者

常見的配置如下:

  • Snyk 用於 IDE 與 pull request,在合併前找出有漏洞的相依套件、程式碼問題與 IaC 設定錯誤,並開立修正的 pull request。
  • CRACI 作為您 GitHub Actions 工作流程的執行器,記錄每次建置擷取的內容、落實對外連線政策、為每次建置產生 SBOM 與來源證明資料,並保存稽核所需的佐證資料。

Snyk 的 GitHub Actions 與其他步驟一樣,可以在 CRACI 執行器上執行。CRACI 取代的是執行器,而不是 GitHub Actions,執行紀錄仍會顯示在 GitHub 介面中。

如果您不將軟體交付到受監管的市場、建置簡單且由 manifest 驅動,而且優先事項是快速修正已知問題,單獨使用 Snyk 最為合適。當您需要證明每個版本包含了什麼、控管建置能連線到哪裡,或需要能在稽核中站得住腳的 SBOM 時,可以考慮加入 CRACI。

CRACI 目前支援 GitHub Actions。GitLab CI、Jenkins 與其他 CI 系統已列入產品藍圖。進一步了解 建置時 SBOM 產生與 漏洞追蹤。

CRACI 與 Snyk:常見問題

價格、SBOM 匯出,以及各工具的定位

CRACI 是 Snyk 的替代方案嗎?

就 Snyk 的部分功能而言是。CRACI 記錄每次 GitHub Actions 建置的 SBOM,持續針對新漏洞重新評估受監控的 SBOM,並讓資安團隊分級研判各項發現,轉交給負責修正的團隊。CRACI 不提供 SAST、容器或 IaC 掃描,也不提供可達性分析;因此當您的問題是「每個版本是用什麼建置出來的」時,它是替代方案,但無法取代 Snyk 的程式碼掃描。

CRACI 會取代 Snyk,還是與它並用?

多數團隊會同時使用兩者。Snyk 在 IDE 與 pull request 中運作,在合併前找出有漏洞的相依套件、程式碼問題與 IaC 設定錯誤。CRACI 則是您 GitHub Actions 工作流程的執行器,記錄每次建置擷取的內容、落實對外連線政策,並產生 SBOM 與來源證明資料。Snyk 的 GitHub Actions 與其他步驟一樣,可以在 CRACI 執行器上執行。

CRACI 與 Snyk 的價格如何比較?

兩者收費的對象不同。截至 2026 年 11 月,Snyk 提供 Free 方案、每月 $25 起的 Team 方案,以及 Enterprise 方案。CRACI 只收取建置分鐘數的費用,每 vCPU 分鐘 $0.002(預設 2 vCPU 執行器為 $0.004),沒有月費,也不按 SBOM 收費;最新條款請參閱價格方案。

哪個 Snyk 方案包含 SBOM 匯出?

根據 Snyk 的文件,可匯出 CycloneDX 與 SPDX 的 snyk sbom 指令僅適用於 Snyk Enterprise 方案。使用 CRACI 時,在執行器上的每次建置都會產生 SBOM,並以 CycloneDX 或 SPDX 格式匯出,包含遞移相依套件,以及每個作業與每個快取的完整度狀態。

Snyk 能做到哪些 CRACI 做不到的事?

Snyk Code(SAST)、Snyk Container 與 Snyk Infrastructure as Code 涵蓋了 CRACI 不涉及的領域。Snyk 也會依可達性、利用成熟度、EPSS 與 CVSS 排定開源發現的優先順序,開立升級的 pull request,並在 IDE 中提供開發人員回饋。CRACI 不提供可達性分析。

Snyk 與 CRACI 支援哪些 CI 系統?

Snyk 可在 IDE、CLI、透過 SCM 整合以及在 CI 管線中執行。CRACI 目前是 GitHub Actions 的執行器;其他 CI 系統已列入產品藍圖,包括 GitLab CI 與 Jenkins。CRACI 取代的是執行器,而不是 GitHub Actions,因此執行紀錄仍會顯示在 GitHub 中。

CRACI 能協助因應 Cyber Resilience Act 嗎?

可以。CRACI 記錄每個版本的內容,持續追蹤其中的漏洞,將 SBOM 匯出為 CycloneDX 或 SPDX 格式,並為您準備 CRA 漏洞通報的內容,供您提交。它能自動化您的 CRA 流程所需的相當大一部分供應鏈可視性與佐證資料;符合 CRA 仍是製造商自身的流程。預約示範,查看來自您自己建置的佐證資料。

執行一次真實建置並比較

將一個 GitHub Actions 工作流程改由 CRACI 執行,並將其 SBOM 與您目前的 SBOM 比較。

預約示範