比較
CRACI vs Mend.io
Mend.io 掃描您的程式碼與相依套件,優先處理可達的項目,並讓套件保持最新。CRACI 則執行建置,並記錄建置實際引入的內容。一個負責掃描,一個負責觀察,兩者可以互相搭配。
更新日期
簡短的答案
Mend.io 是應用程式資安平台。Mend AppSec 結合了針對自有程式碼的 Mend SAST,以及針對開源相依套件與容器的 Mend SCA;Mend Renovate 則以自動化 pull request 讓相依套件保持最新。CRACI 是相容於 GitHub Actions 的 CI 執行器,會記錄建置取用的每個外部相依套件,並依據這份記錄產生 SBOM、來源證明(provenance)與法規遵循佐證資料。Mend 是掃描工具,CRACI 是記錄工具。如果您目前使用 Mend,CRACI 是增加一層,而不是取代任何一層。
一覽
| 功能 | CRACI | Mend.io |
|---|---|---|
| 在建置執行時觀察相依套件 | 執行器上具備套件感知能力的代理伺服器 | 在建置步驟後掃描專案 |
| 附完整性狀態的建置時 SBOM | 五種狀態,依作業與快取標示 | SPDX 與 CycloneDX,相依套件變動時重新產生 |
| 建置作業的對外連線政策 | 預設拒絕或允許,失效即封鎖 | 不執行您的建置 |
| 持續漏洞監控 | 持續重新評估受監控的 SBOM | 每個應用程式持續更新的資產清冊 |
| 依可達性排定優先順序 | 追蹤遞移相依套件的呼叫圖 | |
| 自有程式碼的 SAST | Mend SAST,支援 30 種以上語言 | |
| 授權政策 | 授權政策規則,包括依授權阻擋建置 | 自動強制執行政策,例如阻擋 AGPL |
| IaC 掃描 | Mend CLI 掃描基礎設施即程式碼 | |
| 執行您的 CI 作業 | 作業在 CRACI 執行器上執行 | 整合到您現有的 CI |
| 支援的 CI 系統 | 目前支援 GitHub Actions;GitLab CI 與 Jenkins 已列入產品藍圖 | Azure DevOps、Bitbucket、CircleCI、GitHub Actions 等 |
| 價格 | 每 vCPU 分鐘 $0.002(2 vCPU 為 $0.004),按秒計費;無月費,也不按 SBOM 收費 | Mend AppSec 每位貢獻開發者每年最高 $1,000;Renovate CLI 免費。截至 2026 年 9 月。 |
- 支援
- 部分支援
- 不支援
- 已列入產品藍圖
Mend.io 的強項
優先處理可達的項目。Mend SCA 會從您的程式碼開始,追蹤經過直接與遞移相依套件的呼叫圖,判斷您的應用程式是否實際呼叫有漏洞的函式。這能減少團隊必須處理的檢測結果。CRACI 會彙整各建置與儲存庫的漏洞,但不做可達性分析。
涵蓋程式碼與相依套件。Mend SAST 支援 30 種以上語言,Mend CLI 可掃描開源元件、自訂程式碼、容器映像檔與基礎設施即程式碼。CRACI 都不提供這些功能。
讓相依套件保持最新。Mend Renovate 會針對 90 種以上套件管理工具中過時的套件開啟 pull request。Renovate CLI 與 Community 版本免費;Enterprise 版本另提供資安功能與支援。
授權、惡意套件與 SBOM。Mend SCA 會偵測直接與遞移相依套件的授權並強制執行政策,例如在商業產品中阻擋 AGPL。它會標示錯字搶註套件、相依性混淆,以及含有後門或資料外洩程式碼的套件。它可產生 SPDX 與 CycloneDX SBOM、匯入第三方 SBOM,並套用 VEX 資料。
CRACI 的不同之處
是觀察,而不是重建
Mend 自己的文件建議在建置步驟之後進行掃描,因為建置能讓掃描工具存取私有套件庫與外部建置產物,未經建置就掃描可能得到不準確的結果。這個方向是對的。CRACI 則更進一步:它不是在建置完成後讀取專案,而是直接記錄建置本身。
CRACI 執行器上具備套件感知能力的代理伺服器,會在作業執行期間觀察連往套件來源的流量,涵蓋 npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,以及下載預設組態。相依套件的佐證資料會隨 CI 快取一起傳遞,因此從快取還原的套件仍會被納入。每份 SBOM 都會依作業與快取標示完整性:Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded。
控制建置網路
由於 CRACI 負責執行作業,它可以限制作業的連線目的地。對外連線政策可設為預設拒絕或預設允許,內建 24 種軟體來源預設組態,並可為 npm、PyPI、apt、apk、Go proxy、Nix、Cargo、OCI 套件庫與 Git 設定具型別的自訂來源。政策會在作業開始前驗證,並採失效即封鎖(fail closed)。Mend 會在惡意套件進入您的相依套件樹後偵測到它;對外連線政策則從一開始就限制建置可以連到哪些來源。兩層防護在不同的時間點發揮作用。
來自建置的佐證資料
API 會回傳 SBOM、網路追蹤記錄與來源證明。CRACI 不會為來源證明簽章。
掌握各處部署內容的資產清冊
CRACI 的資產清冊檢視會精確顯示全球各產品部署了哪些軟體版本。當新漏洞出現時,您可以直接看到哪些產品執行受影響的版本,而不必從版本說明與試算表中拼湊答案。
哪一個適合您
- 您的主要問題是程式碼與相依套件中堆積如山的檢測結果。具備 SAST、可達性分析與 Renovate 的 Mend 正是為此打造。
- 您需要證明每個版本包含了哪些內容。CRACI 會為每次建置記錄這些內容,並標示記錄的完整程度。
- 您的建置不只是從 lockfile 安裝套件。工具鏈下載、基礎映像檔與 curl 取用,正是觀察最能發揮價值的地方。
- 您的管線使用 Azure DevOps、Bitbucket 或 CircleCI。目前 Mend 較適合。CRACI 目前僅支援 GitHub Actions,GitLab CI 與 Jenkins 已列入產品藍圖。
關於 Cyber Resilience Act(CRA)
Mend.io 發布了 CRA 法規遵循指南,以及將其產品對應到該法規的法規遵循頁面:Mend AppSec 負責 CycloneDX 與 SPDX SBOM 以及依可達性排定優先順序,Mend Renovate 透過相依套件更新持續處理漏洞,授權合規則與資安態勢一併記錄。
CRACI 提供的是來自建置的佐證資料:每個版本一份標示完整性的 SBOM、來源證明、持續監控,以及以 CycloneDX 或 SPDX 匯出 SBOM。它可將企業在更廣泛的 CRA 法規遵循流程中所需的相當大一部分軟體供應鏈可視性與佐證資料自動化。沒有任何單一工具能讓產品符合法規。請參閱 CRA 法規遵循與什麼是 CRA。
在 Mend.io 之外加入 CRACI
CRACI 取代的是執行器,而不是 GitHub Actions。在工作流程中將 runs-on 改為 craci,執行記錄仍會顯示在 GitHub 介面中。您的 Mend CLI 步驟保持原位,在建置之後執行。在 CRACI 上執行一條版本發布管線,並將其 SBOM 與 Mend 針對同一個 commit 的資產清冊比較。
CRACI 目前支援 GitHub Actions。GitLab CI、Jenkins 與其他 CI 系統已列入產品藍圖。進一步了解建置時 SBOM 產生與漏洞追蹤。