比較
CRACI 與 Buildkite 比較
Buildkite 提供協調功能,運算資源由您自備。CRACI 提供運算資源,並記錄每次建置所擷取的內容。前者讓您對基礎架構擁有最大的掌控權;後者則將資安佐證資料內建於執行器之中。
更新日期
簡短的答案
Buildkite 是混合式 CI/CD 平台。它的 SaaS 控制平面負責協調,而執行您作業的 agent 則位於您自己的基礎架構上, 不論是地端或雲端。Buildkite 表示原始碼與機密都會留在您的環境中。如果您不想自行執行 agent,它也提供全代管的託管 agent。
CRACI 是為供應鏈安全打造、相容 GitHub Actions 的代管執行器。它會記錄建置擷取的每個外部相依套件, 對建置網路強制執行對外連線(egress)政策,並根據這份紀錄產生 SBOM、來源證明資料與 CRA 佐證資料。簡單來說: Buildkite 是讓您對基礎架構擁有最大掌控權的傳統 CI;CRACI 則是具備資安意識的 CI,執行器本身就是佐證資料。
CRACI 目前僅支援 GitHub Actions,因此無法執行 Buildkite 管線。使用 Buildkite 的團隊若要使用 CRACI 執行器, 需要將管線移轉到 GitHub Actions,或等待其他 CI 系統的支援,這些已列入產品藍圖。
| 功能 | CRACI | Buildkite |
|---|---|---|
| 依實際觀察到的相依套件產生建置時 SBOM | 每個作業皆有,附完整性狀態,含快取套件 | 您的 agent 執行您選擇的 SBOM 工具 |
| 建置網路的對外連線政策 | 依作業設定,預設拒絕或允許,失效即封鎖 | 需由您在自架 agent 上自行強制執行 |
| 簽章的建置來源證明 | 不提供簽章的來源證明 | 透過 Package Registries 達到 SLSA Build Level 1,Enterprise |
| 簽章的管線 | agent 在執行前驗證作業簽章 | |
| 建置執行位置 | 在 CRACI 代管的 Linux VM 上。Enterprise 的客戶自架執行器已列入產品藍圖。 | 在您託管的 agent 上(地端或任何雲端),或在 Buildkite 託管的 agent 上。 |
| 原始碼位置 | 僅在建置期間於 CRACI 作業 VM 中處理,不會儲存。 | 使用自架 agent 時,原始碼與機密會留在您的環境中。 |
| 原始碼控管與 CI | 目前僅支援 GitHub Actions | GitHub、GitLab、Bitbucket 等 |
| 平台 | 目前支援 x86-64 與 ARM64 上的 Linux;Windows 與 macOS 已列入產品藍圖 | 任何您用來執行 agent 的作業系統;託管 Linux 與 macOS |
| 測試分析 | Test Engine:不穩定測試偵測、測試拆分 | |
| 價格 | 每 vCPU 分鐘 $0.002(2 vCPU 執行器為 $0.004),按秒計量。沒有月費。 | Free 方案;Pro 每位活躍使用者每月 $30;託管 Linux agent 每 vCPU 分鐘 $0.004,按秒計量(截至 2026 年 9 月)。 |
- 支援
- 部分支援
- 不支援
- 已列入產品藍圖
Buildkite 的強項
掌控運算資源。由於 agent 由您託管,硬體、作業系統、網路與區域都由您決定。 agent 透過 HTTPS 輪詢 Buildkite 的 agent API,因此您不需要開放對內的防火牆連接埠。這種模式適合大型 monorepo、 特殊硬體,以及政策要求原始碼留在自身邊界內的組織。
管線完整性。使用簽章的管線時,作業在上傳時即簽章,agent 在執行前會驗證簽章, 因此 agent 不會執行在上傳後遭到修改指令的作業。
建置周邊工具。Test Engine 會偵測並隔離不穩定的測試,並將測試拆分到平行作業。 Package Registries 可發布附有 SLSA 來源證明的建置產物,Buildkite 表示這符合 SLSA Build Level 1; 此功能僅適用於 Enterprise 方案。
彈性的價格。截至 2026 年 9 月,Buildkite 提供 Free 方案,以及每位活躍使用者每月 $30 的 Pro 方案, Pro 方案包含 10 個自架 agent,更多 agent 為每個每月 $3.50。託管 Linux agent 為每 vCPU 分鐘 $0.004,按秒計量。
CRACI 的不同之處
資安佐證資料是執行器的一部分
使用自架 agent 時,建置環境的安全需由您自行負責。Buildkite 自己的資安指引要求您安裝精簡的作業系統、 停用對內 SSH,並強制執行嚴格的網路對外連線控管。這是合理的責任分工,也意味著供應鏈佐證資料取決於您的團隊在 agent 周圍建置了什麼。
在 CRACI 上,這一層隨執行器一併提供。具備套件感知能力的代理伺服器會在每個作業執行時記錄連往套件來源的流量, 涵蓋 npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,以及下載預設組態。 相依套件的佐證資料會隨 CI 快取一起傳遞。每個作業都會產生 CycloneDX 或 SPDX 格式的 SBOM,並依作業與快取標示完整性狀態: Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded。
無需自行打造的對外連線政策
CRACI 的對外連線政策可設為預設拒絕或預設允許,內建 24 種軟體來源預設組態,可為 npm、PyPI、apt、apk、Go proxy、Nix、 Cargo、OCI registry 與 Git 設定具型別的自訂來源,並支援明確的 TLS、TCP、UDP 與 ICMP 規則。政策會在作業開始前驗證, 失效即封鎖(fail closed),並在違規時發出警示。
來源證明與監控
API 會回傳 SBOM、網路追蹤記錄與來源證明。CRACI 不會為來源證明簽章。它會彙整各建置與儲存庫的漏洞, 並持續重新評估受監控的 SBOM。
取捨
CRACI 目前為代管型;Enterprise 的客戶自架執行器已列入產品藍圖。作業在 CRACI 基礎架構上的隔離虛擬機器中執行,原始碼 僅在建置期間於作業 VM 中處理,不會儲存。在 Enterprise 方案中,CRACI 提供歐盟資料落地, 並在歐洲的裸機基礎架構上執行建置。如果您的政策要求在自有硬體上建置, Buildkite 的模式符合這項要求,CRACI 的則不符合。
哪一個適合您
- Buildkite:如果您需要在自己的硬體或網路上建置、執行 Windows 或 macOS 建置、使用 GitLab 或 Bitbucket,或規模大到自有運算資源更划算。
- CRACI:如果您使用 GitHub Actions,並希望在不必自行打造與維運的情況下取得建置佐證資料: 由單一執行器提供已記錄的相依套件、對外連線政策與 CRA 佐證資料。
- 兩者並用:如果您的組織需求分歧,可將必須留在自有硬體上的管線交給 Buildkite, Linux GitHub Actions 工作流程交給 CRACI。大型 Linux 建置(例如 Yocto 映像檔)可在最高 32 vCPU、96 GB RAM 的 CRACI 執行器上執行,詳見 CRACI Yocto 指南。
針對 Cyber Resilience Act
歐盟 Cyber Resilience Act(CRA)要求製造商掌握每個版本的內容並處理其漏洞, 通報義務自 2026 年 9 月起適用,2027 年 12 月起全面適用。 在 Buildkite 上,這些佐證資料來自您在 agent 上執行的工具。CRACI 則根據建置紀錄產生佐證資料, 持續監控已出貨的內容,並將 SBOM 匯出為 CycloneDX 或 SPDX(包含漏洞)。它能自動化企業在更廣泛的 CRA 法規遵循流程中所需的軟體供應鏈可視性與佐證資料的相當大一部分。
加入 CRACI
對於位於 GitHub 並使用 GitHub Actions 工作流程的儲存庫,請在您的組織上安裝 CRACI GitHub App,並設定 執行器標籤:
runs-on: craci
執行紀錄仍會顯示在 GitHub UI 中。進一步了解建置時 SBOM 產生與 CRACI 如何處理資安,或查看價格方案。