用於從容器映像和檔案系統產生軟體物料清單 (SBOM) 的 CLI 工具和 Go 庫。與 Grype 等掃描器一起使用時,非常適合漏洞檢測。
Syft 是一款功能強大且易於使用的開源工具,用於為容器映像和檔案系統產生軟體物料清單 (SBOM)。它提供軟體中的套件和相依性的詳細可見性,幫助您管理漏洞、授權合規性和軟體供應鏈安全性。
Syft 開發由 Anchore 贊助,並根據 Apache-2.0 授權發布。如需 Syft 或 Grype 的商業支援選項,請聯絡 Anchore。
為容器映像、檔案系統、存檔等產生 SBOM 以發現套件和庫
支援 OCI、Docker 和 Singularity 映像格式
Linux發行版識別
與 Grype(快速、現代的漏洞掃描器)無縫協作
能夠使用 in-toto 規範建立簽章的 SBOM 證明
在 SBOM 格式之間進行轉換,例如 CycloneDX、SPDX 和 Syft 自己的格式。
Syft 二進位適用於 Linux、macOS 和 Windows。
捲曲-sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
安裝腳本選項:
-b
:指定自訂安裝目錄(預設為./bin
)
-d
:更詳細的日誌記錄等級( -d
用於調試, -dd
用於追蹤)
-v
:安裝前驗證下載的工件的簽章(需安裝cosign
)
釀造安裝syft
湯匙安裝 syft
Syft 的巧克力發行版由社群維護,而不是由 Anchore 團隊分發
choco 安裝 syft -y
注意:Syft 的 Nix 包裝由社區維護。 Syft 自 NixOS 22.05
起在穩定通道中可用。
nix-env -i syft
……或者,只需在短暫的 nix shell 中嘗試:
nix-shell -p syft
為容器鏡像產生 SBOM:
syft <圖片>
上面的輸出僅包括容器中可見的軟體(即影像的壓縮表示)。若要將來自 SBOM 中所有映像層的軟體包含在 SBOM 中,無論其是否存在於最終映像中,請提供--scope all-layers
:
syft <image> --範圍所有層
Syft 的輸出格式也可以使用-o
(或--output
)選項來設定:
syft <image> -o <format>
可用的formats
有:
syft-json
:使用它可以從 Syft 中獲取盡可能多的信息!
syft-text
:面向行、人機友善的輸出。
cyclonedx-xml
:符合 CycloneDX 1.6 規格的 XML 報告。
[email protected]
:符合 CycloneDX 1.5 規格的 XML 報告。
cyclonedx-json
:符合 CycloneDX 1.6 規範的 JSON 報告。
[email protected]
:符合 CycloneDX 1.5 規格的 JSON 報告。
spdx-tag-value
:符合 SPDX 2.3 規範的標記值格式的報告。
[email protected]
:符合 SPDX 2.2 規範的標記值格式的報表。
spdx-json
:符合 SPDX 2.3 JSON Schema 的 JSON 報告。
[email protected]
:符合 SPDX 2.2 JSON Schema 的 JSON 報告。
github-json
:符合 GitHub 依賴快照格式的 JSON 報表。
syft-table
:柱狀摘要(預設)。
template
:讓使用者指定輸出格式。請參閱下面的「使用模板」。
請注意,使用 @ 的標誌也可用於每個規範的早期版本。
高山 (APK)
C(柯南)
C++(柯南)
飛鏢(酒吧)
Debian (dpkg)
點網 (deps.json)
Objective-C(可可足類)
靈丹妙藥(混合)
Erlang (rebar3)
Go(go.mod、Go 二進位)
Haskell(陰謀、堆疊)
Java(jar、ear、war、par、sar、nar、本機圖像)
JavaScript(npm、紗線)
Jenkins 外掛程式(jpi、hpi)
Linux 核心檔案 (vmlinz)
Linux 核心模組 (ko)
Nix(在 /nix/store 中輸出)
PHP(作曲家)
Python(輪子、蛋、詩、requirements.txt)
紅帽 (rpm)
紅寶石(寶石)
Rust(貨物.鎖)
Swift(cocoapods、swift-package-manager)
WordPress 外掛
我們的 wiki 包含有關以下主題的更多詳細資訊:
支持的來源
文件選擇
排除檔案路徑
輸出格式
包編目器選擇
概念
範例
使用模板
多個輸出
私人登記認證
本地 Docker 憑證
Kubernetes 中的 Docker 憑證
證明(實驗)
無鑰匙支持
本地私鑰支持
使用 Syft 將 SBOM 添加到圖像作為證明
配置
查看我們的貢獻指南和開發人員文件。
Syft 團隊定期在線上舉行社群會議。歡迎大家踴躍參與,並提出話題進行討論。
檢查日曆以了解下一次會議的日期。
將項目新增至議程(加入該群組以獲得對議程的寫入權限)
到時見!