比較
CRACI 與 CircleCI 比較
CircleCI 執行您的管線,並把供應鏈安全交給您接入的工具。CRACI 是會記錄每次建置取得內容的 GitHub Actions 執行器,因此 SBOM 與來源證明直接來自建置本身。
更新日期
簡短的答案
CircleCI 是成熟且靈活的 CI/CD 平台。它可連接 GitHub、GitLab 與 Bitbucket,能在從 Docker 容器到 macOS 與 GPU 等各式機器上執行作業,並讓您將可重複使用的設定封裝成 orb。在資安方面,CircleCI 保護憑證,掃描則交給 orb 與第三方工具。
CRACI 採取另一種做法:執行器本身就是資安紀錄。它執行 GitHub Actions 作業,觀察每次建置取得的每個外部相依套件, 對建置網路強制執行對外連線(egress)政策,並根據觀察結果產生 SBOM、來源證明資料與 CRA 佐證資料。這就是傳統 CI 與具資安意識的 CI 之間的差別。
CRACI 目前僅支援 GitHub Actions,GitLab CI 與 Jenkins 已列入產品藍圖。CircleCI 尚未支援。使用 CircleCI 的團隊需要將管線移轉到 GitHub Actions 才能使用 CRACI 執行器,或等待已列入產品藍圖的其他 CI 系統。
| 功能 | CRACI | CircleCI |
|---|---|---|
| 依實際觀察到的相依套件產生建置時 SBOM | 每個作業皆有,附完整度狀態,含快取套件 | 透過您加入的 orb 進行相依套件掃描 |
| 建置網路的對外連線政策 | 預設拒絕或預設允許,失效即封鎖 | IP ranges 功能為作業提供已知的來源位址(Performance 與 Scale 方案)。 |
| 漏洞監控 | 受監控的 SBOM 會重新評估 | 透過第三方掃描工具的 orb |
| 原始碼控管平台 | 目前僅支援 GitHub Actions | GitHub、GitLab 與 Bitbucket |
| 執行環境 | x86-64 與 ARM64 上的 Linux VM | Docker、Linux、Arm、Windows、macOS、GPU |
| 自架執行器 | 客戶自行託管的執行器,Enterprise | Linux、Windows、macOS 與 Kubernetes |
| 依執行時間資料拆分測試 | 依執行時間拆分到平行執行環境 | |
| Docker layer 快取 | 本機、遠端與 bind mount layer 快取 | 所有方案,每次作業執行 200 credits |
| 價格,2 vCPU Linux | 每分鐘 $0.004(每 vCPU 分鐘 $0.002),按秒計量。 | Linux VM medium(2 CPU、7.5 GB)每分鐘 10 credits,以每 25,000 credits $15 計算約為 $0.006。 |
| 方案 | 按建置分鐘數付費:每 2 vCPU 分鐘 $0.004,按秒計量。沒有月費,也不按 SBOM 收費。 | Free 方案每月 30,000 credits;Performance 每月 $15 起;Scale 為客製報價(截至 2026 年 9 月)。 |
- 支援
- 部分支援
- 不支援
- 已列入產品藍圖
CircleCI 的強項
運算資源多元。CircleCI 提供 Docker、Linux VM、Arm、Windows、macOS 與 GPU 資源類別, 一個平台就能建置後端、Windows 用戶端與 iOS 應用程式。自架執行器還能延伸到您自己的 Linux、Windows 與 macOS 機器以及 Kubernetes,而且執行器的作業時間不會消耗 credits。
加速功能。所有方案都提供 Docker layer 快取。測試拆分會依名稱、檔案大小或歷史執行時間資料, 將測試套件分散到平行執行環境,縮短大型測試套件的實際執行時間。
可重複使用的設定。orb 將作業、指令與執行環境封裝起來,讓團隊能跨專案重複使用, 也讓接入第三方工具(包括資安掃描工具)變得簡單。
憑證管理。CircleCI 的供應鏈指引以保護機密為核心:將機密拆分到不同 context,把部署與簽章金鑰 放在由您的 VCS 群組管控的受限 context 中,並使用 OIDC 權杖,讓作業無需在 CircleCI 儲存長期憑證即可存取雲端服務。
CRACI 的不同之處
建置就是事實依據
在傳統 CI 平台上,SBOM 由您加入管線的工具產生,這類工具通常讀取資訊清單(manifest)與鎖定檔(lockfile)。 CRACI 則是觀察建置本身。具套件感知能力的代理伺服器會在作業執行時記錄對套件來源的流量,涵蓋 npm、PyPI、RubyGems、 Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,以及下載預設集。相依套件的佐證資料會隨 CI 快取一起保存, 因此從快取還原的套件仍會被計入。
您知道 SBOM 有多完整
每個作業都會產生 CycloneDX 或 SPDX 格式的 SBOM,並附上每個作業與每個快取的完整度狀態:Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded。
建置網路有自己的政策
CircleCI 的 IP ranges 功能讓作業經由已知的 CircleCI 位址連線,讓您自己的系統可以將其加入允許清單。 這解決的是傳入存取。CRACI 則在另一個方向加入管控:為每個作業設定對外連線政策,可預設拒絕或預設允許, 提供 24 個內建軟體來源預設集、具型別的自訂來源,以及明確的 TLS、TCP、UDP 與 ICMP 規則。政策會在作業開始前驗證, 並採失效即封鎖(fail closed)。CRACI 也提供固定的對外連線 IP 範圍。
來源證明與監控出自同一份紀錄
API 會傳回 SBOM、網路追蹤與來源證明。CRACI 會跨建置與儲存庫彙整漏洞,並持續重新評估受監控的 SBOM。
哪一個適合您
- 繼續使用 CircleCI:如果您的程式碼在 GitLab 或 Bitbucket 上、您依賴 Windows、macOS 或 GPU 建置,或您在自己的硬體上執行作業。
- 考慮 CRACI:如果您的程式碼在 GitHub 上、您正在比較 GitHub Actions 與 CircleCI, 而且您交付的軟體必須能說明每個版本包含了什麼。
- 兩者並用:在逐步移轉期間,將 macOS 與 Windows 管線留在 CircleCI,並在最需要建置佐證資料的地方, 將 Linux GitHub Actions 工作流程放在 CRACI 上執行。
因應 Cyber Resilience Act
歐盟 Cyber Resilience Act(CRA)要求製造商掌握每個版本包含的內容並處理其漏洞, 通報義務自 2026 年 9 月起適用,並於 2027 年 12 月全面適用。在 CircleCI 上,這些佐證資料來自您接入管線的掃描工具與 orb。 CRACI 則根據建置紀錄產生佐證資料,並將 SBOM(包含漏洞)匯出為 CycloneDX 或 SPDX。它將企業在更廣泛的 CRA 法規遵循流程中所需的相當大一部分軟體供應鏈可視性與佐證資料自動化。
將管線移轉到 CRACI
CRACI 執行的是 GitHub Actions 工作流程,因此 CircleCI 管線需要先有對應的 GitHub Actions 版本。完成後, 在您的組織安裝 CRACI GitHub App,並設定執行器標籤:
runs-on: craci
執行紀錄仍會顯示在 GitHub UI 中。作業可使用 Docker Engine、Buildx 與 Compose v2,執行器規格從 1 到 32 vCPU, 每個 vCPU 配 3 GB RAM,並支援 GitHub Actions 快取。深入了解 建置時 SBOM 產生,或查看價格方案與 新創計畫。