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

軟體供應鏈安全,從每次建置記錄

您的軟體供應鏈與產品在 CI 建置中交會。CRACI 在安全的執行器上執行您的 GitHub Actions 作業,記錄作業引入的每個相依套件,控制每次建置能連線到哪裡,並持續追蹤您已出貨內容中的漏洞。

適用於 GitHub Actions 的安全執行器

只要將 runs-on 改為 craci,您的 GitHub Actions 作業就會在 CRACI 的執行器上執行,執行結果仍會顯示在 GitHub 中。每個作業都有專屬的隔離虛擬機器,執行於 Linux x86-64 或 ARM64,並託管於歐洲。憑藉更快的硬體、更短的排隊時間與快取,建置速度約為 GitHub 託管執行器的兩倍。

GitHub Actions jobs on CRACI runners A GitHub Actions workflow sets runs-on to craci. Each job runs in its own isolated virtual machine on a CRACI runner, on Linux x86-64 or ARM64, hosted in Europe, and the run still appears in GitHub. .github/workflows/release.yml jobs: build: runs-on: craci was: ubuntu-latest CRACI runners Hosted in Europe Job VM build Linux x86-64 Job VM test Linux ARM64 Job VM publish Linux x86-64 One isolated virtual machine per job, 1 to 32 vCPU Runs still appear in GitHub About 2x GitHub-hosted speed

從每次建置記錄的 SBOM

CRACI 是記錄工具,而不是掃描工具。執行器上能辨識套件的 proxy,會看見作業從 npm、PyPI、RubyGems、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源,以及 Yocto 與 OpenEmbedded 下載預設集引入的每個套件,包括從 CI 快取還原的套件。每個作業的 SBOM 都帶有完整度狀態,並可匯出為 CycloneDX 或 SPDX,內含遞移相依套件與每個元件宣告的授權。

An SBOM recorded during the build Packages from npm, PyPI, Cargo, Go, OCI registries and the CI cache pass through a package-aware proxy on the CRACI runner. The job's SBOM lists what was fetched, states its completeness and exports as CycloneDX or SPDX. Package sources npm PyPI Cargo · Go OCI registries CI cache restore Package- aware proxy on the runner Job SBOM express 5.2.1 requests 2.32.3 serde 1.0.219 + transitive deps Declared license on every component Complete Completeness states per job and cache: Complete, Complete with connections, Incomplete, Unavailable, Not recorded CycloneDX · SPDX

控制建置能連線到哪裡

對外連線(egress)政策決定作業可以連線到哪些主機:預設拒絕或預設允許、24 個內建的軟體來源預設集、適用於套件登錄庫與 Git 的具型別自訂來源,以及明確的網路規則。政策會在作業開始前驗證,並採失效即封鎖(fail closed),違規時會觸發警示。遭入侵的相依套件或建置步驟,無法悄悄將資料傳送到您從未核准的主機。

An egress policy on the build network A build job connects to hosts in its egress policy, such as package registries and Git, and a connection to a host outside the policy is blocked. The policy is validated before the job starts and fails closed, and a violation sends an alert. Egress policy Default deny Validated before the job starts Fails closed · 24 source presets Build job on a CRACI runner npm registry allowed PyPI allowed Git over HTTPS allowed Unapproved host blocked Alert on policy violation Connections are recorded in the job's network trace

為您出貨的內容提供來源證明

公開的 REST API 會針對每個作業回傳 SBOM、網路追蹤與來源證明(provenance),全部記錄自同一次建置。佐證資料直接來自建置本身,工作流程中不需額外步驟。

Provenance data from every build Every job on CRACI records the packages it fetched and its network trace. The public REST API returns the job's SBOMs, network trace and provenance. Build release job on CRACI Recorded packages fetched network trace Provenance build data, via the API Ask the API about any job Job → SBOM, trace, provenance Returned by the API Job Packages CycloneDX SBOM Network trace Recorded on every CRACI job, no extra step

發布後的漏洞追蹤

每當有新漏洞公布,CRACI 都會持續重新評估您已出貨內容的 SBOM,並跨建置與儲存庫彙整發現結果。資安團隊會研判這些結果,並將每一項分派給負責修正的團隊。政策關卡可依發現結果或授權封鎖建置,支援 VEX,廠商 SBOM 會與您自己的建置一併監控,資產清冊檢視則會顯示哪些軟體版本部署在哪些產品上。

Vulnerability tracking after release After a release ships, its SBOM stays monitored. When a new vulnerability is published, CRACI re-evaluates the monitored SBOMs, finds the affected releases, and the security team triages the finding and routes it to the team that owns the fix. The inventory view shows which software versions are deployed to which products. Release shipped SBOM monitored Later New advisory published Re-evaluated automatically Finding: critical, in 2 releases 1. Triage 2. Route to owner 3. Team fixes Policy gates can block a build on findings · VEX supported Inventory: deployed versions Product Version Web app v4.12.0 Mobile API v2.3.1

提供給客戶與稽核人員的佐證資料

客戶、稽核人員與法規越來越常要求每個版本提供 SBOM,以及漏洞處理方式的記錄。CRACI 可將 SBOM 匯出為 CycloneDX 或 SPDX,並包含其元件中發現的漏洞;公開的 REST API 則會回傳 SBOM、網路追蹤與來源證明。這些佐證資料同樣可支援歐盟 Cyber Resilience Act、NIS2、FDA SBOM 要求,以及 ISO 27001 的供應鏈控制措施。

Evidence from the build record SBOMs export as CycloneDX or SPDX, including the vulnerabilities found in their components, and the public REST API returns SBOMs, network traces and provenance, for customers, auditors and frameworks such as the EU Cyber Resilience Act, NIS2, FDA SBOM requirements and ISO 27001 supply chain controls. The build record SBOMs Vulnerability records Provenance Network traces Export CycloneDX SPDX REST API Who asks for it Customers Auditors Security reviews Frameworks this evidence supports EU Cyber Resilience Act NIS2 supply chain security FDA SBOM for cyber devices ISO 27001 supply chain controls

供應鏈資安事件會引發的問題

當套件、CI action 或登錄庫遭到入侵時,最初的幾個小時都花在釐清您是否受到影響。以下是團隊會提出的問題,以及 CRACI 的建置記錄如何回答。

問題 CRACI 如何回答
我們是否有任何建置引入了遭入侵的套件版本? 每次建置的 SBOM 都列出作業實際下載的套件,因此您搜尋的是已記錄的建置,而不必重新掃描儲存庫。
我們有哪些產品與版本受到影響? 受監控的 SBOM 會持續重新評估,資產清冊檢視則會將軟體版本對應到其部署的產品。
是否有建置步驟可能將機密傳送到某處? 每個作業的網路追蹤都會記錄其建立的連線,而對外連線政策會在連線到政策以外的主機之前就加以封鎖。
這份 SBOM 是否完整到可以交付? 每個作業的 SBOM 都會標示其完整度:Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded。
由誰負責修正?我們能否證明已妥善處理? 發現結果會經過研判並分派給負責的團隊,SBOM 可匯出為 CycloneDX 或 SPDX,並包含其元件中發現的漏洞。

CRACI 涵蓋建置及其出貨內容。程式碼掃描、機密掃描與可達性分析仍由您的應用程式安全工具負責。目前支援 GitHub Actions,其他 CI 系統已列入產品藍圖。

軟體供應鏈安全常見問題

涵蓋範圍、為何應在 CI/CD 中處理,以及 CRACI 的定位

什麼是軟體供應鏈安全?

軟體供應鏈安全保護的是從第一個 commit 到版本發布之間,進入您軟體的一切:開源相依套件、基礎映像檔、建置工具、第三方 CI actions、CI 管線本身,以及您出貨的建置產物。這代表要知道這些組成是什麼、控制它們的來源,並證明每個版本包含了哪些內容。

為什麼要在 CI/CD 中確保軟體供應鏈安全?

發布建置是解析、下載並封裝相依套件的地方。正式環境的建置並不等於筆電上的建置:版本範圍、可變動的標籤與快取,都可能讓它引入不同的內容。在發布建置執行時所做的記錄,是唯一能可靠反映實際出貨內容的記錄,而建置執行器正是您能控制建置可連線範圍的地方。

CRACI 與供應鏈安全掃描工具有何不同?

掃描工具是在事後讀取檔案:manifest、lockfile、原始碼或已完成的二進位檔。CRACI 是您 GitHub Actions 作業的執行器,因此能在建置進行時觀察建置,並記錄每個作業實際引入的套件,包括從 CI 快取還原的套件。每份 SBOM 都會標示自身的完整度,對外連線政策控制建置能連線到哪裡,API 則會回傳 SBOM、網路追蹤與來源證明。

CRACI 會取代我的 GitHub Actions 工作流程嗎?

不會。CRACI 取代的是執行器,而不是 GitHub Actions。您只需將 runs-on 改為 craci,工作流程、觸發條件與執行記錄都會保留在 GitHub 中。

CRACI 支援哪些 CI 系統與平台?

目前支援 GitHub Actions;其他 CI 系統(包括 GitLab CI 與 Jenkins)已列入產品藍圖。執行器為 x86-64 與 ARM64 上的 Linux,Windows 與 macOS 已列入產品藍圖。

CRACI 是否提供 SAST、機密掃描或可達性分析?

不提供。CRACI 負責記錄並控制建置、追蹤您已出貨內容中的漏洞,並產生佐證資料。掃描您自己程式碼中的缺陷或機密,以及可達性分析,屬於應用程式安全工具的工作。

我的建置資料儲存在哪裡?

CRACI 託管於歐洲的歐洲裸機基礎架構上,資料預設保留 180 天,Enterprise 方案可自訂保留期限。CRACI 不會儲存您的原始碼。CRACI 已通過 ISO 27001 認證,詳細資訊請參閱 Trust Center。

看看您的建置實際引入了什麼

預約示範,看看 CRACI 為 GitHub Actions 建置記錄的 SBOM、網路追蹤、對外連線政策與來源證明

預約示範