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

為開發者與 AI 代理打造的自動化網路韌性

讓每一次建置 成為您的第一道防線。

以快速、可靠且成本更低的執行器,將供應鏈安全放在您軟體的核心。

  • 安全的執行器
  • 建置時 SBOM
  • 漏洞監控
  • 漏洞應變
  • 已記錄 185 個套件
  • 已拒絕 6 個連線
  • SBOM 完整
  • 已於 v2.4.1 修正
  1. 建置

    northwind-controls/web-portal

    release.yml #1843 · 5d08e3b
    runs-on: craci
    size 2 · x86-64

  2. 套件

    已記錄 185 個套件

    • next 15.2.2
    • react 19.0.0
    • react-dom 19.0.0
    • express 4.21.2
    • tailwindcss 4.0.14
    • typescript 5.8.2
  3. 政策關卡
    建置 #1843 已停止

    CVE-2025-29927 · Critical

    建置 #1844 已通過

    已於 next 15.2.3 修正

  4. 已發布的建置產物

    ghcr.io/northwind-controls/web-portal:2.4.1

    sha256:e2b9…5c07

    以 v2.4.1 發布

使用 CRACI 建置的團隊

  • Fluencify
  • Homie
  • Bahn Express
  • Hamina Wireless
  • ConfidentialMind
  • Propia

漏洞出現的速度,快過任何修正。

攻擊者只需要一個入口,而 AI 代理幫助他們以前所未有的速度找到它。您的團隊卻必須堵住每一個缺口,而且大多靠人工。

2026 年至今

每天發布的 CVE 數量
303
平均每 5 分鐘一個。
每天比前一年增加
+131%
與 2025 年的每日數量相比。
每天被評為 High 或 Critical
155
依據其 CVSS 分數。
各年度每天發布的 CVE 數量
年度每天的 CVE每天的 High 或 Critical
2020 39 7
2021 54 12
2022 68 20
2023 78 28
2024 109 48
2025 131 54
2026 年至今 303 155
資料來自公開的 CVE 清單,每日更新。選擇年度即可比較。 閱讀 CVE 報告

為什麼是現在

  1. 警示已成為雜訊。

    當數百個發現都是緊急的,就沒有一個是緊急的。團隊不再管理風險,而是開始數警示。

  2. 數量超出任何團隊的負荷。

    分級研判與修正仍靠人工完成。在這樣的數量下,增聘人手也無法縮小差距。

  3. 修正與新功能互相競爭。

    產品團隊以交付功能來衡量績效,因此資安工作只能等待一個永遠不會到來的空檔衝刺。

  4. 掃描工具只是在估算。

    建置後根據檔案整理出的清單,會遺漏實際放進去的內容,而錯誤的信心讓人不再去檢查。

您的軟體在建置過程中成形。

您的鎖定檔(lockfile)固定了應該安裝的內容,但實際到達的內容由建置決定。CRACI 會在每個套件進入時加以記錄,包括解析後的版本、來源,以及是否從 CI 快取還原。

package-lock.json 您所固定的內容
"packages": {
  …
  
  
  
  
  
  …
}
只列出版本,不包括每個套件的來源或它如何進入。
建置紀錄 #1842 已記錄 185 個套件
在 northwind-controls/web-portal 的範例建置 #1842 中記錄的套件,依其進入建置的方式分組。
套件 解析版本 進入途徑 來源
經由 package.json
express 經由 package.json 4.21.2 package.json registry.npmjs.org
next 經由 package.json
目前受 CVE-2025-29927 影響 · Critical
15.2.2 package.json registry.npmjs.org
react 經由 package.json · 來自 CI 快取 19.0.0 package.json CI 快取
react-dom 經由 package.json · 來自 CI 快取 19.0.0 package.json CI 快取
styled-jsx 經由 next 5.1.6 next registry.npmjs.org
經由建置腳本
tailwindcss 經由 建置腳本 4.0.14 建置腳本 registry.npmjs.org
typescript 經由 建置腳本 5.8.2 建置腳本 registry.npmjs.org
以及另外 178 個已記錄的套件
已記錄 185 個套件 · 2 個從快取還原

保護建置,記錄其相依套件。

您的作業在 CRACI 執行器上執行,而非 GitHub 託管執行器,速度快兩倍。它們引入的每個套件都會連同版本、來源與授權一併記錄。來自政策以外來源的任何內容都會被拒絕。

Secure Build Service

每個作業都在自己的隔離虛擬機器中執行,並受到在作業開始前即已檢查的對外連線政策保護。

  • 隔離的 VM
  • 預設拒絕或允許
  • 失效即封鎖
  • 違規時發出警示

Package Analytics

能辨識套件的代理伺服器會記錄作業引入的每個套件,包括解析後的版本、來源與宣告的授權。

  • npm
  • PyPI
  • RubyGems
  • Cargo
  • Go
  • Nix
  • OCI
  • Yocto
  • 以及更多
政策事件 建置 #1842
  1. time2025-03-14 09:13:07 UTC
  2. jobrelease.yml #1842
  3. stepnpm run build
  4. policyDefault deny. Allowed: npm, GitHub, ghcr.io, Docker Hub, example.com
  5. denied malicious.example:443
  6. reason主機不在政策中
  7. action已在執行器端封鎖
連線已拒絕。警示已送出。
相依關係圖 v2.4.0
web-portal v2.4.0 的相依關係圖 web-portal 直接相依於 next 15.2.2、react 與 express 等套件。next 會帶進 styled-jsx 與 @swc/helpers。此範例的建置腳本還會引入 tailwindcss 與 typescript。 web-portal next 15.2.2 react express styled-jsx @swc/helpers 建置工具 tailwindcss typescript

SBOM 節錄 CycloneDX 1.7 · JSON
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  …
  "components": [{
    "name": "next",
    "version": "15.2.2",
    "purl": "pkg:npm/[email protected]",
    "licenses": [
      { "license": { "id": "MIT" } }
    ]
  }, …]
}
可匯出為 CycloneDX 或 SPDX,包含遞移相依套件與漏洞。

CRACI 看得見掃描工具看不見的流量。

其他 SBOM 工具讀取鎖定檔或建置的產出,再推測放進了什麼。CRACI 則看見每次建置實際進入的內容,包括由建置時 hook、建置腳本與基礎映像檔引入的隱藏相依套件。

掃描工具

競品掃描工具

方式
讀取 package-lock.json
時機
建置之後
看見的內容
鎖定檔所列的內容
掃描工具根據範例建置 #1842 的鎖定檔產生的 SBOM。
套件 版本 授權 發現於
next pkg:npm/[email protected] 15.2.2 MIT package-lock.json
react pkg:npm/[email protected] 19.0.0 MIT package-lock.json
react-dom pkg:npm/[email protected] 19.0.0 MIT package-lock.json
express pkg:npm/[email protected] 4.21.2 MIT package-lock.json
styled-jsx pkg:npm/[email protected] 5.1.6 MIT package-lock.json
不在任何鎖定檔中,因此不在 SBOM 中
不在任何鎖定檔中,因此不在 SBOM 中
不在任何鎖定檔中,因此不在 SBOM 中

列出 142 個套件 缺少 43 個

記錄的 SBOM

方式
觀察建置的流量
時機
建置期間
看見的內容
建置所擷取的內容
CRACI 根據範例建置 #1842 的流量記錄的 SBOM。
套件 版本 授權 擷取自
next pkg:npm/[email protected] 15.2.2 MIT registry.npmjs.org
react pkg:npm/[email protected] 19.0.0 MIT registry.npmjs.org
react-dom pkg:npm/[email protected] 19.0.0 MIT registry.npmjs.org
express pkg:npm/[email protected] 4.21.2 MIT registry.npmjs.org
styled-jsx pkg:npm/[email protected] 5.1.6 MIT registry.npmjs.org

已記錄 185 個套件 比鎖定檔多 43 個

範例建置。 建置時 SBOM 如何運作

將潛在漏洞精確對應到受影響的版本。

CRACI 持續檢查已記錄的 SBOM 是否出現新漏洞。在這個示意範例中,一個嚴重漏洞在版本發布 7 天後被揭露。請沿著建置紀錄,從受影響的套件一路追到團隊的修正。

第 1 步,共 4 步

CVE-2025-29927 已揭露

next 是直接相依套件,建置 #1842 記錄了它的確切版本。

嚴重程度
Critical 9.1
套件
next
受影響
15.0.0 至 15.2.2
修正於
15.2.3

第 2 步,共 4 步

有一個版本受到影響

CRACI 將其與記錄的 SBOM 比對。

版本
web-portal v2.4.0
比對
next 15.2.2,直接相依套件
SBOM
Complete

第 3 步,共 4 步

它以這個映像檔出貨

版本、其映像檔與其 SBOM 會保存在一起。

映像檔
ghcr.io/northwind-controls/web-portal:2.4.0
版本
v2.4.0
SBOM
追蹤中

第 4 步,共 4 步

修正有專人負責

分級研判、轉交負責人,並追蹤到修正版本發布。

負責人
平台團隊
處置
將 next 升級至 15.2.3 並重新建置
修正於
web-portal v2.4.1,2025-03-22

用證據回答每一位稽核人員。

每次建置都會留下佐證資料:SBOM、漏洞紀錄,以及每個修正如何進入版本。將它們用於您的 CRA、NIS2、ISO 27001 與 SOC 2 流程,稽核人員的提問只需要一次下載,而不是一個專案。

組成
每個版本都有一份建置時 SBOM。
  • CycloneDX
  • SPDX
  • 遞移相依套件
  • 漏洞
  • 宣告的授權
漏洞處理
已記錄的 SBOM 會持續重新評估。
  • 分級研判
  • 修正
  • 與版本一併保存
通報
CRACI 準備內容,由您提交。
  • 早期預警
  • 事件通報
  • 最終報告

Cyber Resilience Act

  1. 通報義務開始適用
  2. 法規全面適用
閱讀 CRA 指南

漏洞通報 節錄

web-portal v2.4.0

northwind-controls/web-portal · 建置 #1842

SBOM
CycloneDX · Complete
建置
#1842 · commit 9f3c2e1
漏洞
CVE-2025-29927 · Critical
元件
next 15.2.2
通報對象
透過 CRA Single Reporting Platform 通報 CSIRT 與 ENISA

處理時間軸

  1. 版本已建置,SBOM 已記錄
  2. 資安公告已發布,並與此版本比對
  3. 由 產品資安 分級研判,指派給 平台團隊
  4. v2.4.1 已發布,包含 next 15.2.3

SBOM 可匯出為 CycloneDX 或 SPDX

5 分鐘內執行您的第一次建置。

在這段示範中,我們帶一個 TanStack Start 網站從註冊走到在 CRACI 上的第一次執行。我們連接 GitHub,以 runs-on: craci 導向作業,並觀看第一次執行。CRACI 會記錄建置引入的每個外部相依套件,標示已知漏洞,並將每個漏洞追溯到引入它的作業。

From sign-up to your first build on CRACI

CRACI 的 YouTube 頻道:CRACI demo.

看看 CRACI 如何融入您的交付工作流程。

CRACI 取代的是執行器,而不是 GitHub Actions。您的工作流程、審查與部署步驟都維持不變。

  1. 連接 GitHub App

    可套用到所有儲存庫,或僅限您選擇的儲存庫。

  2. 更新您的執行器

    在工作流程中設定 runs-on: craci。其他一切都不變。

  3. 執行下一次建置

    執行結果仍會顯示在 GitHub 中。建置紀錄與 SBOM 則顯示在 CRACI 中。

執行器
位於歐洲基礎設施上的 x86-64 與 ARM64 代管 Linux 執行器。
建置
支援 Docker Engine、Buildx 與 Compose v2。Yocto 與 BitBake 建置已有文件說明。
您的程式碼與資料
CRACI 在建置期間處理原始碼,但不會儲存。建置資料託管於歐洲。快取內容取決於您的工作流程儲存了什麼。閱讀資安頁面。
已列入產品藍圖
GitLab、Jenkins 及其他 CI 系統、Windows 與 macOS 執行器、地端執行器、Maven 與 Java。

團隊在示範前常問的問題

相容性、設定、資安與資料處理。

支援哪些 CI 環境與套件生態系?

目前支援的 CI 整合是 GitHub Actions,其他 CI 系統已列入產品藍圖。CRACI 會記錄 npm、PyPI、RubyGems、Cargo、Go、Nix 與 OCI registry、Debian、Ubuntu 與 Alpine 套件儲存庫,以及 Git 與其他原始碼下載。Maven 與 Java 已列入產品藍圖。執行器為 x86-64 與 ARM64 上的 Linux。

設定需要做些什麼?

您只要在所有或選定的儲存庫上連接 CRACI GitHub App,並在工作流程中設定 runs-on: craci。CRACI 取代的是執行器,而不是 GitHub Actions,因此您的執行結果仍會顯示在 GitHub 中。

CRACI 會存取哪些資料?資料儲存在哪裡?

GitHub App 會讀取您的程式碼與 Actions 執行紀錄,並管理它為您的組織註冊的執行器。CRACI 在建置期間處理原始碼,但不會儲存。建置資料(包括中繼資料、套件資料、網路軌跡、SBOM、來源證明、快取與稽核紀錄)託管於歐洲,Enterprise 方案可自訂保存期限。快取內容取決於您的工作流程儲存了什麼。閱讀資安與資料處理說明。

CRACI 是封鎖還是發出警示?違反政策的建置會怎樣?

對外連線政策在執行器端強制執行。它會在作業開始前驗證,並採失效即封鎖(fail closed),因此政策以外的連線會被拒絕,您也會收到警示。政策關卡也能即時停止建置。

可以匯出哪些格式?

SBOM 可匯出為 CycloneDX 或 SPDX,包含遞移相依套件、漏洞與宣告的授權。

目前有哪些功能,哪些已列入產品藍圖?

目前提供:GitHub Actions 的代管 Linux 執行器、包含漏洞資訊的建置時 SBOM、對外連線政策、具分級研判功能的持續漏洞監控,以及政策關卡。已列入產品藍圖:GitLab、Jenkins 及其他 CI 系統、Windows 與 macOS 執行器,以及地端執行器。

投資方

  • Lifeline Ventures
  • First Fellow Partners
  • Wave Ventures

媒體報導

  • Talouselämä
  • tech.eu
  • TechFundingNews
  • Kubernetes Community Days

看見從建置到修正的完整路徑。

  1. 探索建置期間記錄的相依套件。
  2. 找出受漏洞影響的版本。
  3. 追蹤從分級研判到修正版本發布的應變過程。