比較
CRACI 與 Socket Security 比較
Socket 評估您即將使用的套件:它們會做什麼、是否值得信任。CRACI 則記錄您的建置實際取用了哪些內容,並管控它可以連線到哪裡。一個著眼於套件,另一個著眼於建置。
更新日期
簡短的答案
Socket Security 最為人所知的,是在有問題的開源套件進入之前就將其攔截。它會分析套件行為(安裝腳本、網路與檔案系統存取、混淆程式碼、已知惡意軟體、錯字搶註套件),並在 pull request 中通知您,而 Socket Firewall 可以在安裝時封鎖惡意套件。
CRACI 是 GitHub Actions 的 CI 執行器。您的作業在其上執行,執行期間它會記錄作業取用的每個外部相依套件,對作業強制執行對外連線政策,並持續追蹤已出貨內容中的漏洞。Socket 問的是一個套件是否可以安全使用;CRACI 則記錄建置使用了什麼、連線到哪裡,並將其轉化為版本發布的佐證資料。
- 選擇 Socket,在 pull request 與安裝時阻止惡意及有風險的套件。
- 選擇 CRACI,取得建置時 SBOM、來源證明資料、建置的對外連線管控,以及已出貨內容的漏洞追蹤,包括 CRA 漏洞通報。
- 兩者相輔相成。Socket 篩檢進入的套件;CRACI 記錄並限制建置如何使用這些套件。
一覽表
| 功能 | CRACI | Socket |
|---|---|---|
| 執行您的建置 | 作業在 CRACI 執行器上執行 | 與您的 CI 整合,而不是執行 CI |
| 從建置記錄相依套件 | 觀察實際的取用,包括來自 CI 快取的套件 | 從 manifest 與鎖定檔偵測 |
| 建置網路的對外連線政策 | 預設拒絕或允許,失效即封鎖 | Socket Firewall 僅過濾套件安裝 |
| SBOM 匯出(CycloneDX、SPDX) | 每次建置,並依作業與快取標示完整性 | Business 以上方案;CycloneDX 匯出 API 為 beta 版 |
| 套件行為分析 | 安裝腳本、惡意軟體、錯字搶註套件、混淆程式碼 | |
| 在安裝時封鎖惡意套件 | 全組織適用的套件封鎖清單 | Socket Firewall,提供免費版本 |
| 針對新相依套件的 pull request 留言 | Socket for GitHub 會標示有風險的新增項目 | |
| 可達性分析 | Team 起提供預先計算;Enterprise 提供完整應用程式分析 | |
| 跨建置與儲存庫的漏洞追蹤 | 持續重新評估受監控的 SBOM,並進行分級研判與轉派 | 針對其偵測到的相依套件發出漏洞警示 |
| CI 系統 | 目前支援 GitHub Actions;GitLab CI 與 Jenkins 已列入產品藍圖 | CLI 可在 GitHub Actions、GitLab、Bitbucket、Jenkins、Azure DevOps 中執行;GitHub 以外的儲存庫整合需 Enterprise 方案 |
| 價格 | 每 vCPU 分鐘 $0.002(2 vCPU 為 $0.004),按秒計費;無月費,也不按 SBOM 收費 | Free;Team 與 Business 分別為每位開發者每月 $25 與 $50;Enterprise 採客製報價(截至 2026 年 9 月)。 |
- 支援
- 不支援
- 已列入產品藍圖
Socket 的強項
Socket for GitHub 會監看 pull request。當變更新增了相依套件時,Socket 會分析該套件的行為,並在它構成資安風險時留言。它的檢查涵蓋安裝腳本、遙測、原生程式碼、已知惡意軟體、錯字搶註套件、抗議軟體(protestware)、混淆程式碼,以及 shell、網路與檔案系統存取等特權 API 的使用。這是與 CVE 查詢不同類型的訊號:它可以標示已具惡意但尚無資安公告的套件。
Socket Firewall 可作為套件管理工具指令的包裝器(sfw npm install),或作為套件管理工具與 registry 之間的代理伺服器運作。它會在任何深度封鎖惡意套件,包括遞移相依套件。免費版本不需要 API 金鑰,涵蓋 npm、yarn、pnpm、pip、uv 與 cargo。Enterprise 版本另外提供可設定的政策、私有 registry,以及 Go、Maven、Gradle、RubyGems 與 NuGet 等更多生態系。
Socket 也提供三個層級的可達性分析:相依套件可達性、從 Team 方案起提供的預先計算可達性,以及 Enterprise 的完整應用程式可達性;Socket 表示後者最多可將 90% 的漏洞警示標示為不相關。它能偵測 JavaScript、Python、Java、Go、Ruby、Rust、.NET、PHP 與 Swift 的 manifest,其 CLI 可在 GitHub Actions、GitLab、Bitbucket、Jenkins 與 Azure DevOps 中執行。CRACI 目前不分析套件行為、不在 pull request 上留言、不提供可達性分析,也不封鎖個別套件。
Socket 價格(截至 2026 年 9 月)
- Free:每月 1,000 次掃描、最多三位成員,提供惡意軟體偵測與封鎖。
- Team:每位開發者每月 $25,最少五位開發者。另外提供優先度評分、Slack 警示與預先計算可達性。
- Business:每位開發者每月 $50,最少 20 位開發者。另外提供 SBOM 匯入與匯出、法規遵循整合、SSO,以及 GitHub Actions 掃描。
- Enterprise:客製報價。另外提供完整應用程式可達性,以及 GitLab、Bitbucket 與 Azure DevOps 的儲存庫整合。
年繳最多可省 20%,且 Socket 表示對開源專案將永久免費。Socket 按開發者計價。CRACI 只收取建置分鐘數費用,每 vCPU 分鐘 $0.002(預設 2 vCPU 執行器為 $0.004),無月費,也不按 SBOM 收費;請參閱 CRACI 價格方案。
CRACI 的不同之處
建置才是事實的依據
Socket 讀取專案宣告的 manifest 與鎖定檔。CRACI 則在建置執行時進行觀察。執行器上具備套件感知能力的代理伺服器,能看到連往 npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk 與 Git 來源等套件來源的流量,以及下載預設組態。佐證資料會隨 CI 快取一起傳遞,因此從快取還原的套件仍會被納入記錄。每份 SBOM 都會依作業與快取標示其完整性:Complete、Complete with connections、Incomplete、Unavailable 或 Not recorded。
適用於整個作業的對外連線政策
Socket Firewall 決定一次套件安裝是否放行。CRACI 的對外連線政策則決定作業究竟能連線到哪裡:預設拒絕或預設允許,並提供 24 個內建的軟體來源預設組態,以及適用於 npm、PyPI、apt、apk、Go proxy、Nix、Cargo、OCI registry 與 Git 的具型別自訂來源。政策在作業開始前完成驗證,並採失效即封鎖(fail closed),CRACI 也能在發生違規時向您發出警示。試圖對外連線回報的惡意安裝腳本,既是套件問題,也是網路問題。這兩種管控涵蓋的是其中不同的部分。
來源證明與漏洞追蹤
API 會回傳 SBOM、網路追蹤記錄與來源證明。CRACI 不簽署來源證明。CRACI 會彙整跨建置與儲存庫的漏洞,持續重新評估受監控的 SBOM,並讓資安團隊研判檢測結果,再轉派給負責修正的團隊。廠商提供的 SBOM 會與您自己的建置一併監控,SBOM 可匯出為 CycloneDX 或 SPDX 格式。
部署位置的資產清冊
CRACI 的資產清冊檢視會在全球範圍內精確顯示哪些軟體版本部署到了哪些產品。當新漏洞出現時,您可以直接看到哪些產品執行受影響的版本,而不必從版本說明與試算表中拼湊答案。
關於 Socket 免費 SBOM 指令的說明
Socket CLI 提供 socket manifest cdxgen,這是一個不需要帳號的免費本機 SBOM 指令。Socket 的文件說明,這個指令會以變更過的預設值將呼叫轉交給 cdxgen:採用略過安裝相依套件的建置前生命週期,並以 JavaScript 作為預設專案類型。這些預設值決定了它能找到什麼;在沒有 lockfile 的儲存庫(例如 expressjs/express)上,就沒有任何可解析的內容。
以上描述的是一個免費的本機包裝器,而不是 Socket 的核心產品或其伺服器端 SBOM 匯出功能。
哪一個適合您
- 您希望在入口攔下惡意套件:Socket,搭配其 pull request 檢查與 Socket Firewall。
- 您希望透過可達性分析減少不相關的 CVE 警示:Socket 的 Team 或 Enterprise 方案。CRACI 不提供可達性分析。
- 您需要每個版本包含哪些內容的佐證資料:CRACI 從建置中記錄這些資料,並將其與建置產物連結。
- 您希望建置無法連線到非預期的主機:CRACI 的對外連線政策。
- 您出貨的產品受 Cyber Resilience Act(CRA)規範:CRACI 會追蹤已出貨內容中的漏洞,並為您準備 CRA 漏洞通報的內容,由您提交。
- 您使用 GitLab、Jenkins 或 Azure DevOps:Socket 目前即支援這些系統。CRACI 目前僅支援 GitHub Actions,GitLab CI 與 Jenkins 已列入產品藍圖。
因應 Cyber Resilience Act
讓惡意與有風險的元件遠離產品,有助於製造商履行其資安義務,而 Socket 正是為此打造。CRACI 則自動化了企業在更廣泛的 CRA 法規遵循流程中所需的相當大一部分軟體供應鏈可視性與佐證資料:標示完整性的建置時 SBOM、來源證明資料、持續漏洞追蹤,以及為您準備好、由您提交的 CRA 漏洞通報內容。兩種工具都無法單獨讓產品符合法規。請參閱什麼是 CRA與CRA 法規遵循。
搭配 Socket 使用 CRACI
CRACI 取代的是執行器,而不是 GitHub Actions:執行記錄仍會顯示在 GitHub 中,Socket 也會繼續檢查您的 pull request。Socket 在套件新增前與安裝時進行篩檢;CRACI 則記錄每次建置取用的內容、限制其可連線的目標,並持續追蹤已出貨內容中的漏洞。進一步了解建置時 SBOM 產生與漏洞追蹤。
也在評估其他套件安全工具嗎?請參閱 Socket 替代方案。
Socket Security 與 CRACI:常見問題
價格、SBOM 與兩種工具各自的適用情境
什麼是 Socket Security?
Socket(socket.dev)是針對開源相依套件的軟體供應鏈安全平台。它會分析套件實際的行為,例如安裝腳本、網路與檔案系統存取、混淆程式碼、已知惡意軟體與錯字搶註套件,並在 pull request、CI 中,以及透過 Socket Firewall 在安裝時標示或封鎖有風險的套件。
Socket Security 是免費的嗎?
Socket 提供免費方案,每月 1,000 次掃描、最多三位成員,且 Socket 表示對開源專案將永久免費。Socket Firewall 也有免費版本,不需要 API 金鑰,涵蓋 npm、yarn、pnpm、pip、uv 與 cargo。付費方案另外提供可達性分析、SBOM 匯出與更多整合。
Socket 的價格是多少?
截至 2026 年 9 月,Socket 的價格頁面列出 Team 為每位開發者每月 $25(最少五位開發者)、Business 為每位開發者每月 $50(最少 20 位),以及客製報價的 Enterprise,年繳最多可享 20% 折扣。SBOM 匯出從 Business 起提供,GitLab、Bitbucket 與 Azure DevOps 的儲存庫整合則屬於 Enterprise。
Socket 能產生 SBOM 嗎?
可以。SBOM 匯入與匯出屬於 Socket 的 Business 以上方案,其 CycloneDX 匯出 API 標示為 beta 版。Socket 依據其偵測到的 manifest 與鎖定檔建立 SBOM。CRACI 則在建置執行時,依據作業實際取用的套件記錄 SBOM,並標示每個作業的記錄是否完整。
CRACI 能像 Socket 一樣偵測惡意套件嗎?
無法像 Socket 那樣偵測。惡意版本一旦有公開的 CVE,CRACI 就會像處理其他漏洞一樣標示它,但 CRACI 不分析套件行為,也不為套件評分,因此新的惡意套件在資安公告出現之前不會被標示。CRACI 透過執行器層級、採失效即封鎖的對外連線政策管控建置可以連線的目標,記錄建置取用的每個套件,並持續以漏洞資料重新評估已出貨的內容。全組織適用的套件封鎖清單已列入產品藍圖。
CRACI 是 Socket 的替代方案嗎?
在新增套件前的篩檢方面不是:那是 Socket 的核心工作,而 CRACI 不提供這項功能。當您需要每個版本包含哪些內容的佐證資料時,CRACI 才是合適的選擇:建置時 SBOM、來源證明資料、建置的對外連線政策、持續漏洞追蹤,以及 CRA 漏洞通報。擔心惡意套件的團隊,可以在 pull request 上使用 Socket,並在 CRACI 上進行建置。
Socket 與 CRACI 支援哪些 CI 系統?
Socket 的 CLI 可在 GitHub Actions、GitLab、Bitbucket、Jenkins 與 Azure DevOps 中執行。CRACI 目前是 GitHub Actions 的執行器,GitLab CI 與 Jenkins 已列入產品藍圖。