替代方案
Syft 與 Grype 替代方案
Syft 與 Grype 是產生 SBOM 並比對漏洞的免費標準工具。當團隊需要不同的格式或生態系、需要反映建置實際使用內容的 SBOM,或想要不必自行維運的監控時,就會開始尋找替代方案。
更新日期
CRACI 是我們打造的產品,請您將這點納入考量;我們依據每個選項自己的文件來描述它們,並在其他工具更合適時明確說明。
團隊為何尋找 Syft 與 Grype 以外的選擇
Syft 是 Anchore 推出的免費 Apache-2.0 產生工具,適用於容器映像檔與檔案系統。它能辨識數十種套件類型,可輸出 CycloneDX、SPDX 與 Syft JSON,並能建立經簽章的 in-toto SBOM 證明。它的搭檔 Grype 則將 SBOM 與漏洞進行比對。
當團隊的情況改變時,就會尋找其他選擇:
- 設定。catalogers 依掃描類型選擇,因此在已安裝的 express 專案上,單一旗標就決定了 npm 套件是否會出現在結果中。
- 格式與生態系。有些團隊想要來自 CycloneDX 社群的產生工具、從建置輸出產生的 SPDX,或專為單一套件管理工具打造的工具。
- 佐證資料。SBOM 描述的是被掃描的檔案,而不是建置實際下載的內容。
- 監控。要持續監看已出貨的內容,就必須自行儲存 SBOM 並重新執行 Grype。
評估重點
- SBOM 來自磁碟上的檔案,還是來自建置實際下載的內容。
- 遞移相依套件,以及工具是否會在紀錄不完整時明確告知。
- 版本發布後的監控,而不只是您手動執行時的一次掃描。
- 格式:CycloneDX、SPDX 與 VEX。
- 您還需要掃描哪些內容:並非您自行建置的映像檔、IaC、機密、叢集。
可選方案
前六項是 SBOM 產生工具。其餘項目則在 SBOM 之外,加上漏洞比對、監控或更完整的平台。
1. CRACI(我們的產品)
CRACI 在您的 GitHub Actions 建置執行時記錄 SBOM,而不是事後掃描檔案。具套件感知能力的代理伺服器會記錄作業取得的每個套件,包括從 CI 快取還原的套件,每份 CycloneDX 或 SPDX 格式的 SBOM 都會標示每個作業與每個快取的完整度。CRACI 會在新漏洞出現時持續重新評估受監控的 SBOM,政策關卡可依發現結果阻擋建置,API 則會傳回 SBOM、網路追蹤與來源證明。
最適合: 您在 GitHub Actions 上建置之軟體的 SBOM 與相依套件漏洞。
適合考慮的情況: 您不需要基礎架構即程式碼、機密、叢集或 VM 映像檔掃描(CRACI 不提供這些),且您的建置在 Linux 上的 GitHub Actions 執行。
2. cdxgen(開源)
cdxgen 是 OWASP CycloneDX 專案,採 Apache-2.0 授權,可從原始碼與容器映像檔建立 CycloneDX BOM。對於 Node.js,它會先解析鎖定檔(包括開發相依套件),也會分析程式碼中的 import。您可以用 -t 設定專案類型,限制它要尋找的內容。
最適合: 以 CycloneDX 為標準、希望使用該格式社群自家產生工具的團隊。
適合考慮的情況: 您能接受以檔案宣告的內容為準:和其他掃描工具一樣,它只能回報眼前的內容。
3. Microsoft SBOM Tool(開源)
Microsoft SBOM Tool 是採 MIT 授權的 SBOM 產生工具,輸出 SPDX 2.2,或依需求輸出 SPDX 3.0,並可依據 SPDX 規格驗證 SBOM。它需要在命令列提供建置輸出資料夾、套件名稱、版本與供應商,因此屬於建置後步驟,可在 GitHub Actions 與 Azure Pipelines 中執行。
最適合: 希望為已封裝之建置輸出產生 SPDX 的團隊。
適合考慮的情況: 您會將它指向建置輸出資料夾:若指向剛提交的儲存庫,它幾乎沒有東西可描述。
4. CycloneDX 工具與建置外掛(開源)
CycloneDX 專案維護了針對單一生態系的產生工具,列在其 Tool Center 中:Maven、Gradle 與 Apache Ant 外掛,以及 npm、Yarn、Python、.NET、Go modules、Rust Cargo、PHP Composer、Ruby Gems、Erlang 與 Elixir、Conan 的工具。另外的 CycloneDX CLI 採 Apache 2.0 授權,不會產生 SBOM,而是用於轉換、合併、比對差異、驗證與簽章。
最適合: 單一生態系的專案,希望使用為該生態系打造的產生工具。
適合考慮的情況: 您能在混用多種語言的程式碼庫中,為每個生態系各執行一個工具。
5. Tern(開源)
Tern 是軟體組成分析工具與 Python 函式庫,採 BSD-2-Clause 授權,可為容器映像檔與 Dockerfile 產生 SBOM。它根據每一層的套件中繼資料,逐層呈現容器內的內容,並輸出 SPDX tag-value、SPDX JSON 與 CycloneDX JSON 等格式。
最適合: 了解哪個映像檔層引入了哪個套件。
適合考慮的情況: 您的 SBOM 需求是針對容器映像檔,而非原始碼儲存庫。
6. Amazon Inspector SBOM Generator
Sbomgen 是 Amazon Inspector 本身用於映像檔、Lambda 與 EC2 掃描的 SBOM 產生工具,以獨立的 Linux 二進位檔提供。它從容器映像檔、目錄、封存檔、掛載的磁碟區,以及編譯後的 Go 與 Rust 二進位檔讀取套件中繼資料,並輸出 CycloneDX。它可將 SBOM 傳送到 Amazon Inspector Scan API 以取得漏洞發現,這需要 AWS 帳戶。
最適合: 工作負載已在 AWS 上執行的團隊。
適合考慮的情況: 您在 Linux 上執行它,這是它唯一支援的平台。
7. Trivy(開源)
Aqua Security 推出、採 Apache-2.0 授權的免費掃描工具。它可掃描容器映像檔、檔案系統、儲存庫、VM 映像檔與 Kubernetes 中的漏洞、IaC 設定錯誤、機密與授權,並輸出 CycloneDX 或 SPDX 格式的 SBOM。對儲存庫,它讀取鎖定檔;對映像檔,則讀取已安裝套件的中繼資料。
最適合: 預算有限,或希望在任何 CI 中使用單一掃描工具的團隊。
適合考慮的情況: 您能自行建置其餘部分:監控代表您要依自己的排程重新掃描。
8. Anchore Enterprise
Anchore Enterprise 建立在 Anchore 的開源工具 Syft 與 Grype 之上。它可從容器映像檔、原始碼與檔案系統產生 SBOM,匯入在其他地方建立的 SBOM,在沒有原始建置產物的情況下重新掃描已儲存的 SBOM,並強制執行 FedRAMP、NIST、CIS、PCI DSS 與 CMMC 政策套件。它可部署在 Kubernetes、Docker Compose 或離線隔離環境中。價格依報價而定。
最適合: 橫跨多種 CI 系統的容器群,以及政府或離線隔離環境。
9. Dependency-Track(開源)
OWASP Dependency-Track 是採 Apache 2.0 授權的免費平台,可追蹤您產品組合中每個應用程式每個版本的元件。它從 NVD 與 GitHub Advisories 等來源取得漏洞資料,具備針對安全、授權與營運規則的政策引擎,並能讀取與產生 CycloneDX VEX。
最適合: 希望使用透明、自架且無授權費之 SBOM 平台的團隊。
適合考慮的情況: 您已準備好維運它並為它提供資料;它分析您上傳的 SBOM,但不會產生 SBOM。
10. Aikido
涵蓋廣泛的 AppSec 套件。每個方案都列出 SCA、SAST、機密、IaC、雲端安全態勢、容器掃描、DAST、授權掃描與 SBOM 產生。其 SCA 使用函式層級的可達性分析,AutoFix 會開啟 pull request,並可阻擋含有嚴重發現的 pull request。它提供免費的 Developer 方案,付費方案每月 $350 起(截至 2026 年 9 月)。
最適合: 希望以單一工具與單一儀表板滿足大部分掃描需求的小型團隊。
11. GitHub Advanced Security
建立在 GitHub 平台功能之上的兩項付費產品。Secret Protection 涵蓋機密掃描與推送保護;Code Security 涵蓋 CodeQL 程式碼掃描、Copilot Autofix 與相依性審查。它們建立在所有 GitHub 方案都包含的相依關係圖與 Dependabot 之上,相依關係圖可匯出為 SPDX SBOM。在 Team 或 Enterprise 方案上,Secret Protection 每位活躍提交者每月 $19,Code Security $30(截至 2026 年 9 月)。
最適合: 程式碼與工作流程已在 GitHub 上、並希望減少廠商數量的團隊。
CRACI 與 GitHub Advanced Security 比較
並列比較
| 功能 | CRACI | Syft | Trivy | cdxgen | Microsoft SBOM Tool | GitHub export | Amazon Inspector Sbomgen |
|---|---|---|---|---|---|---|---|
| 元件清單的來源 | 記錄的建置流量 | Cataloger 讀取檔案與映像檔 | Lock file 或已安裝的套件 | 原始碼與容器映像檔 | 建置輸出(drop)資料夾 | Manifest 與 lock file | 映像檔、目錄、封存檔與二進位檔中的檔案 |
| 格式 | CycloneDX、SPDX | CycloneDX、SPDX、Syft JSON | CycloneDX、SPDX | CycloneDX | SPDX | SPDX | CycloneDX |
| 記錄建置取得的內容 | 包括 CI 快取 | Dependency submission | |||||
| 無需執行建置即可運作 | |||||||
| 簽章證明或來源證明 | 無簽章來源證明 | in-toto SBOM 證明 | 搭配 Cosign | 未說明 | 未說明 | Artifact attestations | 未說明 |
| 漏洞比對 | 受監控的 SBOM | 搭配 Grype 使用 | 未說明 | 未說明 | Dependabot 警示 | Inspector Scan API | |
| 建置的對外連線政策 | 失效即封鎖 | ||||||
| 可在任何 CI 中執行 | 目前支援 GitHub Actions;GitLab CI 與 Jenkins 已列入產品藍圖 | GitHub 儲存庫 | 僅限 Linux | ||||
| 價格 | 每 vCPU 分鐘 $0.002(2 vCPU 為 $0.004),按秒計量;無月費,也不按 SBOM 收費 | 免費,Apache-2.0 | 免費,Apache-2.0 | 免費,Apache-2.0 | 免費,MIT | 包含在 GitHub 中 | 免費下載 |
- 支援
- 部分支援
- 不支援
- 已列入產品藍圖
「未說明」表示我們無法在該廠商的公開頁面上確認此項資訊。
何時應繼續使用 Syft 與 Grype
- 您需要掃描並非您自行建置的映像檔。
- 您仰賴 Grype 的 VEX 篩選或 CI 中的嚴重性關卡。
- 您想要一套能在任何地方執行的免費產生工具。
- 您可以兩者並用:針對並非您自行建置的映像檔,繼續使用 Syft 與 Grype。
延伸閱讀:建置時 SBOM 產生、SBOM 工具比較,以及開源 SBOM 產生工具遺漏了什麼。
Syft 與 Grype 替代方案常見問題
團隊比較時最常提出的問題,簡短解答
最好的開源 SBOM 產生工具是哪一個?
取決於您要掃描的對象。Syft 與 Trivy 是免費、採 Apache-2.0 授權的產生工具,適用於容器映像檔與檔案系統。cdxgen 從原始碼與映像檔產生 CycloneDX,CycloneDX 建置外掛各自涵蓋一個生態系,Microsoft SBOM Tool 為建置輸出資料夾產生 SPDX,Tern 則逐層呈現映像檔內容。這些工具都是讀取檔案。CRACI 是付費產品,直接從建置本身記錄 SBOM。
Syft 的費用是多少?
免費。Syft 與 Grype 是採 Apache-2.0 授權的免費開源軟體。Anchore 另外銷售以它們為基礎的商業平台 Anchore Enterprise,價格需個別報價(截至 2026 年 9 月)。
如何使用 Syft 產生 SBOM?
執行 syft 並指定目標與輸出格式,例如映像檔使用 syft my-image:latest -o spdx-json=sbom.spdx.json,目錄則使用 syft ./my-project -o cyclonedx-json=sbom.cdx.json。syft cataloger list 會列出該掃描類型會執行哪些 catalogers。
Syft 與 Grype 有什麼不同?
Syft 負責產生 SBOM。Grype 是漏洞掃描工具:它掃描容器映像檔、檔案系統與 SBOM,以 EPSS 與 KEV 資料排定優先順序,並支援以 OpenVEX 篩選結果。兩者都來自 Anchore,採 Apache-2.0 授權,團隊通常會一起使用。
CRACI 能取代 Syft 與 Grype 嗎?
對於您在 GitHub Actions 上建置的軟體,可以。CRACI 在建置執行時記錄 SBOM,並為每個作業與每個快取標示完整性狀態,且在新漏洞出現時持續重新評估受監控的 SBOM。對於並非您自行建置的映像檔,請保留 Syft 與 Grype 這類掃描工具。