用于从容器映像和文件系统生成软件物料清单 (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 中,无论其是否存在于最终映像中,请提供--scope all-layers
:
syft--范围所有层
Syft 的输出格式也可以使用-o
(或--output
)选项进行配置:
syft-o
可用的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 团队定期在线举行社区会议。欢迎大家踊跃参与,提出话题进行讨论。
检查日历以了解下一次会议的日期。
将项目添加到议程(加入该群组以获得对议程的写入权限)
到时见!