產品
CRACI 在您的技術堆疊中取代什麼、與什麼搭配使用
CRACI 取代您的 GitHub Actions 執行器,同時也取代那些試圖重建建置用了什麼的建置層工具:各團隊各自執行的 SBOM 產生工具、用於供應鏈涵蓋範圍的 Yocto 內建 SBOM 產生功能,以及獨立的 SBOM 漏洞追蹤。它與檢查程式碼、機密、執行中服務與完成之二進位檔的工具搭配使用。原因在於它所在的位置:CRACI 就是執行器,因此它看得到建置。它不會讀取您的原始碼來找出缺陷。
更新日期
簡短的答案:哪些移轉、哪些保留
請用這張表對照您自己的技術堆疊。每一列代表您技術堆疊中某個工具目前負責的工作、這項工作需要看到什麼才能完成, 以及 CRACI 從它所在的位置是否能完成這項工作。
| 技術堆疊中的工作 | 這項工作需要看到什麼 | CRACI | 您保留什麼,以及原因 |
|---|---|---|---|
| GitHub Actions 上 Linux 作業的 CI 執行器:GitHub 託管、第三方執行器供應商或自架機群 | 執行作業的地方 | 取代 | Windows、macOS、GitHub Enterprise Server 以及 GitHub Actions 以外之 CI 系統的執行器,CRACI 目前不支援這些 |
| 加裝在您保留之執行器上的網路監控或對外連線代理程式 | 作業的對外流量 | 在 CRACI 執行器上取代 | 您在其他地方保留之執行器上的代理程式 |
| 各團隊在 CI 中各自執行的 SBOM 產生工具:用來產生 SBOM 的 manifest、lockfile 或映像檔掃描工具 | 建置實際拉進了什麼 | 對在 CRACI 上的建置取代 | 針對非在 CRACI 上建置之軟體的產生工具,例如只拉取、從不建置的映像檔 |
用於供應鏈涵蓋範圍的 Yocto 內建 SBOM 產生功能(create-spdx) |
BitBake 建置擷取的每個來源與工具 | 就供應鏈涵蓋範圍取代 | create-spdx,如果您仰賴其 recipe 中繼資料:已套用的修補與標示為已修正的 CVE |
| SBOM 漏洞追蹤:上傳 SBOM、比對資安公告、留意新公告 | 每個版本一份準確且持續更新的 SBOM | 對在 CRACI 上的建置取代;可加入廠商提供的 SBOM | 如果您需要 CRACI 不提供的功能,請保留專用工具:可達性分析、MTTR 或各嚴重等級期限等修補指標 |
| 保存在試算表中的 SBOM 與元件清單 | 每個版本一份準確且持續更新的 SBOM | 取代 | 無 |
| 宣告授權檢查與授權政策 | 每個元件宣告的授權 | 部分取代 | 全文與片段層級的授權掃描、授權聲明(attribution notice) |
| SAST 與程式碼掃描 | 您的原始碼 | 搭配使用 | 保留;它會在 CRACI 執行器上以工作流程步驟的形式照常執行 |
| 機密掃描與推送保護 | 您的儲存庫與 commit | 搭配使用 | 保留 |
| DAST 與 API 測試 | 您執行中的服務 | 搭配使用 | 保留 |
| 第三方二進位檔的二進位檔與韌體分析 | 非您建置的完成二進位檔 | 搭配使用 | 保留 |
| 針對複製或內嵌程式碼的片段與特徵碼掃描 | 儲存庫中的檔案內容 | 搭配使用 | 保留 |
| 以可達性為基礎的優先排序 | 您的呼叫圖 | 搭配使用 | 如果您仰賴它,請保留 |
| IaC、叢集與錯誤組態掃描 | 組態設定與執行中的基礎架構 | 搭配使用 | 保留 |
| 針對工作流程組態的 CI/CD 態勢檢查 | 工作流程檔案與設定 | 搭配使用 | 保留 |
| 票證系統、PSIRT 案件管理、資安公告發布 | 您的流程 | 搭配使用 | 保留 |
| 法規遵循自動化:為 SOC 2 或 ISO 27001 稽核收集佐證資料 | 您跨系統的控制措施 | 搭配使用 | 保留;CRACI 的紀錄是它可以收集的佐證資料 |
導入前與導入後
導入前:GitHub 託管執行器、每個團隊的工作流程中使用不同的 SBOM 產生工具、拉長建置時間的 Yocto create-spdx,
以及上傳到追蹤工具或試算表的 SBOM,周圍則有程式碼掃描、機密掃描、二進位檔分析與票證系統。
導入後:CRACI 執行器負責執行每個作業、強制執行其對外連線政策、記錄其 SBOM 並持續監控。
讀取程式碼、儲存庫、二進位檔與您的流程的工具則維持不變。
CRACI 取代什麼,以及原因
以下每項工作都發生在建置期間。CRACI 能接手這些工作,是因為建置就在它上面執行。每一項都會說明: 運作機制、您需要放棄什麼,以及一個範例。
您的執行器
CRACI 是 GitHub Actions 的執行器。您將 runs-on 改為 craci,執行紀錄仍會像其他 Actions 作業一樣
顯示在 GitHub 中。每個作業都有自己的虛擬機器,執行於 Linux x86-64 或 ARM64,規格從 1
到 32 vCPU,按秒計量。不需要改寫工作流程:您現有的步驟(包括掃描步驟)都會繼續執行。
CRACI 只收取建置分鐘數的費用:每 vCPU 分鐘 $0.002(預設 2 vCPU 執行器為 $0.004),按秒計量, 沒有月費,也不按 SBOM 收費。這讓它成為最實惠的 CI 執行器之一。憑藉更快的硬體、更短的佇列等待時間與快取, 它執行建置的速度約為 GitHub 託管執行器的兩倍。
| 執行器,每分鐘 | CRACI | GitHub 託管 | 差異 |
|---|---|---|---|
| 2 vCPU x64 | $0.004 | $0.006 | CRACI 便宜約 33% |
| 2 vCPU ARM64 | $0.004 | $0.005 | CRACI 便宜 20% |
| 32 vCPU x64 | $0.064 | $0.082 | CRACI 便宜約 22% |
| 32 vCPU ARM64 | $0.064 | $0.050 | CRACI 貴 28% |
GitHub 牌價截至 2026 年 9 月。GitHub 會將每個作業無條件進位到整分鐘;CRACI 則按秒計量。 範例:在 GitHub 託管的 2 核心 x64 執行器上,一次 10 分鐘的建置費用為 $0.060。以約兩倍的速度, 它在 2 vCPU 的 CRACI 執行器上只需 5 分鐘,費用為 $0.020,約低 67%。請參閱 價格方案與 CI 執行器價格。
您需要放棄什麼。目前不提供 Windows 與 macOS 執行器、其他 CI 系統以及客戶自架執行器; GitLab CI、Jenkins、Windows、macOS 與客戶自架執行器已列入產品藍圖。不支援 GitHub Enterprise Server。執行器為代管型,位於歐洲的基礎架構上。如果您正在權衡代管執行器與自有機群, 請參閱代管與自架執行器比較。
您保留之執行器上的對外連線代理程式
對外連線代理程式會監看或限制由他人營運之執行器的流量。在 CRACI 上,由執行器本身強制執行 對外連線政策:預設拒絕或允許、24 種內建軟體來源 預設組態、可為套件庫與 Git 設定具型別的自訂來源,以及明確的網路規則。政策會在作業開始前驗證, 且失效即封鎖(fail closed),CRACI 也會在違反政策時發出警示。在 CRACI 執行器上不需要另外的代理程式。
範例:某個遭入侵的相依套件試圖將作業的機密傳送到建置從未需要過的主機。 在預設拒絕的政策下,即使是前所未見的攻擊,這個連線也會被封鎖,因為政策只允許建置所需的連線, 而不是去尋找已知的惡意主機。
您需要放棄什麼。政策涵蓋的是 CRACI 執行器上的作業。您在其他地方保留的執行器, 仍需要各自的控管。
每個團隊工作流程中的 SBOM 產生工具
產生工具會讀取眼前的檔案,例如 manifest、lockfile 或映像檔,並重建當初納入了什麼。 不同的產生工具對同一份 checkout 會回傳不同的清單,而團隊通常各自挑選工具,因此 組織最後會有好幾份對不起來的清單。
CRACI 會記錄每個作業實際拉進的套件,包括從 CI 快取還原的套件,以及以 lockfile 為基礎的工具會遺漏的隱藏 相依套件:npm install hook 下載的程式碼、在建置時下載內容的 Rust 建置腳本,以及容器建置中的 基礎映像檔及其作業系統層。SBOM 中的每個元件都確實存在於建置中。每個作業的 SBOM 都會標示其完整性, 分為 Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded,因此缺口會被看見,而不是無聲無息。 結果是在 CRACI 上建置的每個儲存庫都共用同一份清單,並可匯出為 CycloneDX 或 SPDX。目前記錄的生態系: npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,以及 Yocto 與 OpenEmbedded 的下載。
範例:expressjs/express 5.2.1 並未 commit 鎖定檔(lockfile)。以 lockfile 解析
相依套件的產生工具在這裡無從解析,卻仍可能回傳一份完全沒有列出 package.json 中所宣告之 npm
相依套件的文件。在 CRACI 上建置同一個專案,則會記錄
npm install 擷取的套件。關於這個方法的更多說明,請參閱建置時 SBOM 與
SCA 與 SBOM 工具比較;若想自行組合產生工具,請參閱
自建 SBOM 工具組合。
您需要放棄什麼。CRACI 尚未記錄的生態系。Maven 與 Java 已列入產品藍圖, 上方清單以外的任何生態系都不在涵蓋範圍內。這些建置請保留產生工具。
Yocto 的內建 SBOM 產生功能
Yocto 透過 create-spdx 撰寫自己的 SPDX SBOM,對 BitBake 建置的內容相當詳盡。但它
看不到 BitBake 中繼資料以外發生的事。CRACI 執行 BitBake 建置,並記錄它擷取的內容。在一次
以 32 vCPU 原生 ARM64 執行器並列建置 core-image-sato 的比較中,CRACI 的 SBOM 包含
Yocto SBOM 中的每個元件,另外還多了 88 個 Yocto 遺漏的元件:建置機器上的 23 個主機套件、10 個 GitHub 來源(包括
GitHub Action actions/upload-artifact),以及建置期間擷取的 55 個其他來源與工具。它記錄了
全部 653 個 Rust crate 版本,並附上 pkg:cargo 套件 URL,因此可以與資安公告比對。
未啟用 Yocto SBOM 產生功能的建置所需時間少了 43%:以 CRACI 的價格計算,每次建置約為 $9.96 對 $5.68。
您需要放棄什麼。Yocto 的 SPDX 帶有 CRACI 不會記錄的 recipe 中繼資料:已套用的修補,以及
標示為已修正的 CVE。如果您仰賴這些資訊,請繼續啟用 create-spdx。方法與完整比較
請參閱 CRACI 上的 Yocto 建置。
將 SBOM 轉化為漏洞追蹤
獨立的追蹤工具必須被餵入 SBOM,並信任它收到的任何內容。CRACI 則自行產生 SBOM 並保存 紀錄。每當有新的資安公告發布,受監控的 SBOM 都會持續重新評估。建置歷程會顯示哪些 建置包含有漏洞的相依套件(不論直接或遞移),讓您在方案的保留期間內掌握受影響的期間。 檢測結果會分級研判並交給負責修正的團隊,CRACI 會將漏洞及其嚴重程度通知相關人員, 而政策關卡可依檢測結果封鎖建置, 包括包含特定 CVE 的建置。支援 VEX。可加入廠商提供的 SBOM,讓外購元件 與您自己的建置一併受到監控。
範例:某個 crate 發布了資安公告,而您的某項服務在三個月前編譯時納入了它。 CRACI 會將它與每份受監控的 SBOM 比對,並顯示哪些建置包含該版本,完全不需要任何人 重新上傳任何東西。
您需要放棄什麼。CRACI 不提供可達性分析,也不提供 MTTR、 各嚴重等級期限或待處理項目趨勢等修補指標。如果您仰賴這些功能,請保留提供它們的工具。完整功能請參閱 漏洞追蹤。
試算表
對於沒有任何 SBOM 工具的團隊,CRACI 取代的是人工彙整:有人在版本發布或稽核前,把相依套件清單複製到 試算表中。在 CRACI 上的建置會在執行的同時產生 SBOM,因此每次建置都有這份清單,而不只是有人記得處理的那幾次。
CRACI 與什麼搭配使用,以及如何搭配
這些工具讀取的是 CRACI 從不讀取的內容。CRACI 不會讀取您的原始碼來找出缺陷、不會測試執行中的服務, 也不會分析非它所建置的二進位檔。這些工具會照現在的方式繼續執行。
讀取您程式碼與儲存庫的工具
SAST、機密掃描與推送保護、片段與特徵碼掃描、IaC 掃描以及 CI/CD 態勢檢查,檢查的都是 您的程式碼、commit 或組態設定。工作流程中的步驟會在 CRACI 執行器上照常執行,而 儲存庫層級的功能不受影響,因為它們從來就不在執行器上執行。程式碼掃描步驟可以與您的建置放在 同一個作業中。SAST 是我們刻意不涵蓋的範圍:有許多優秀的 SAST 工具可以與 CRACI 搭配使用。兩種檢測結果有何不同, 請參閱 SAST 與 SCA 比較。
檢查非您所建置之內容的工具
供應商二進位檔的二進位檔與韌體分析、針對只拉取而從不建置之映像檔的掃描工具,以及針對 執行中服務的 DAST,檢視的都是在其他地方建置或已在執行中的內容。CRACI 記錄的是建置;供應商提供的二進位檔 是在 CRACI 從未見過的地方建置的。如果供應商提供 SBOM,CRACI 可以將它 與您自己的建置一併監控。
以可達性為基礎的優先排序會讀取您的呼叫圖,而 CRACI 不會分析呼叫圖。如果您仰賴它,請保留;它能告訴您什麼、 不能告訴您什麼,請參閱可達性分析。
流程系統
票證系統、PSIRT 案件管理、資安公告發布與法規遵循自動化平台,負責在眾多系統之間執行您的流程。 CRACI 會將檢測結果分派給負責的團隊,並保存來自建置的佐證資料;其餘部分請保留您的流程工具。 紀錄會以 CycloneDX 或 SPDX SBOM 的形式,以及透過 API 離開 CRACI,API 會回傳 SBOM、網路追蹤記錄與 來源證明資料。稽核方面,請參閱 SOC 2 的 SBOM 檢查。 宣告授權以外的授權工作,例如授權聲明與全文審查,請參閱 開源授權合規。CRACI 會帶入每個元件宣告的 授權,並強制執行授權政策規則,包括因授權而封鎖建置。
如何在您自己的技術堆疊中找出替換點
五個問題,一個下午就能回答。每個答案都會告訴您,技術堆疊中的某一項是否會移轉。
- 您的建置是否在 Linux 上的 GitHub Actions 中執行?如果是,執行器會移轉。如果不是,CRACI 目前不會取代任何東西。
- 目前由誰產生 SBOM?使用中的產生工具有幾種?在您移轉到 CRACI 的儲存庫上, 每個產生工具都是可以拿掉的一項。
-
您是否建置 Yocto 映像檔?如果是,請在關閉
create-spdx之前, 確認是否有人仰賴其輸出中已套用的修補與已修正的 CVE。 - SBOM 產生後會送到哪裡:追蹤工具、試算表,還是哪裡都沒送?那個工具或 流程就是第二個可以拿掉的項目,除非您需要它提供的可達性分析或修補指標。
- 您的哪些資安工具會讀取程式碼、儲存庫或第三方二進位檔?這些會保留。請把它們 記下來,以免有人以為 CRACI 會取代它們。
實際範例
一家說明用的裝置製造商,並非依據任何真實公司:Linux 建置在 GitHub 託管執行器上執行、兩個團隊使用
兩種不同的 SBOM 產生工具、一條啟用 create-spdx 的 Yocto 產品線、收集在共用
試算表中的 SBOM、一套程式碼掃描工具,以及一套票證系統。其資安團隊對問題 1 與 3 的回答是「是」,
在問題 2 找到兩種產生工具、在問題 4 找到一份試算表,並在問題 5 列出程式碼掃描、機密掃描與
票證系統。沒有人使用 Yocto SPDX 中的修補中繼資料。
| 移轉到 CRACI | 保留 |
|---|---|
| Linux 作業的 GitHub 託管執行器 | 程式碼掃描,以步驟形式在 CRACI 執行器上執行 |
| 兩種 SBOM 產生工具 | 機密掃描 |
create-spdx,因為沒有人需要其修補中繼資料 |
票證系統 |
| SBOM 試算表 |
在執行器這一項,一次在 GitHub 託管 2 核心 x64 執行器上費用為 $0.060 的 10 分鐘建置,加上速度提升後, 在 CRACI 上的費用約為 $0.020。其他工具的費用則由該公司自行填入。
CRACI 不適用的情況
- 您的管線在 GitLab CI、Jenkins、Azure DevOps 或其他 CI 系統上執行。CRACI 目前僅支援 GitHub Actions, GitLab CI 與 Jenkins 已列入產品藍圖,因此目前還無法取代任何東西。
- 您的建置需要 Windows 或 macOS 執行器或 GitHub Enterprise Server,或必須在您自己的基礎架構上執行。
- 您主要的困擾是自有程式碼的程式碼掃描雜訊。這是 SAST 調校的問題;請參閱 SAST 與 SCA 比較與如何減少漏洞 雜訊。
- 您主要的風險來自供應商提供的韌體與二進位檔,而不是您自己建置的程式碼。
- 您的技術堆疊主要是 Java 與 Maven(已列入產品藍圖),或 .NET(不在 CRACI 記錄的生態系清單中)。
- 您現在就需要以可達性為基礎的優先排序或 PSIRT 案件管理。
產品的逐步說明,請參閱 CRACI 的運作方式;SBOM 本身,請參閱 SBOM 產生。
CRACI 取代什麼:常見問題
CRACI 會取代什麼?
您用於 Linux 作業的 GitHub Actions 執行器、各團隊在 CI 中為移轉到 CRACI 之建置執行的 SBOM 產生工具、用於供應鏈涵蓋範圍的 Yocto create-spdx、執行器上的對外連線代理程式,以及針對這些建置的獨立 SBOM 漏洞追蹤。它不會取代讀取您程式碼、儲存庫或第三方二進位檔的工具。
CRACI 是我們 SCA 工具的附加元件,還是會取代某些東西?
它取代的是建置層的工作:執行器、SBOM 產生,以及從 SBOM 延伸出的追蹤。這是否會取代您的 SCA 工具,取決於您用它來做什麼。如果它會讀取您的程式碼、進行片段或二進位檔分析,或提供可達性分析,這些部分都會保留。
如果我們在 CRACI 上執行建置,還需要原本的 SBOM 產生工具嗎?
對於在 CRACI 上執行、且使用其記錄之生態系的建置,不需要。CRACI 會記錄每個作業拉進的套件,並將 SBOM 匯出為 CycloneDX 或 SPDX。對於非在 CRACI 上建置的軟體(例如您拉取的映像檔),以及 CRACI 尚未記錄的生態系(例如 Maven),請保留產生工具。
我們還需要 Yocto 的內建 SBOM 產生功能(create-spdx)嗎?
就供應鏈涵蓋範圍而言,不需要:在一次並列建置 core-image-sato 的比較中,CRACI 的 SBOM 包含 Yocto SBOM 中的每個元件,另外還多了 88 個 Yocto 遺漏的元件,而未啟用 create-spdx 的建置所需時間少了 43%。如果您仰賴其已套用的修補與標示為已修正的 CVE(CRACI 不會記錄這些),請繼續啟用 create-spdx。
CRACI 會取代程式碼掃描或機密掃描嗎?
不會。CRACI 不會讀取您的原始碼或 commit 來找出缺陷或機密。請保留這些工具。程式碼掃描步驟會在 CRACI 執行器上的工作流程中照常執行,儲存庫層級的功能也不受影響。
CRACI 會取代二進位檔或韌體分析嗎?
不會。CRACI 記錄的是它所執行的建置。對於供應商提供的韌體與二進位檔,二進位檔分析才是合適的工具。如果供應商提供 SBOM,CRACI 可以將它與您自己的建置一併監控。
我們能在 CRACI 執行器上保留 GitHub Actions 中現有的資安步驟嗎?
可以。CRACI 取代的是執行器,而不是 GitHub Actions:您將 runs-on 設為 craci,您的工作流程、步驟與結果都會留在 GitHub 中。掃描步驟、測試步驟與其他任何步驟都會照常執行。