用途:该技能面向安全工程师,用于生成软件物料清单(SBOM),实现供应链可见性与合规(如 EO 14028、SLSA 等场景)。当需要生成 SBOM、盘点依赖或准备供应链合规材料时使用。
主要能力:可从文件系统目录或容器镜像生成 SBOM,并输出多种格式:CycloneDX(-o cyclonedx-json)、SPDX(-o spdx-json)、人类可读表格(-o table)、Syft 原生 json,以及同时输出多份(-o cyclonedx-json=sbom.cdx.json -o spdx-json=sbom.spdx.json)。生成后可汇总包总数(按 npm、pip、go 等生态)、许可证分布、未固定版本的包(供应链风险),并建议将 SBOM 交给 Grype 做漏洞扫描。
使用方式:先安装 Syft:curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin,并用 syft version 验证。确定目标后生成:文件系统用 syft dir:<target-path> -o cyclonedx-json > sbom-cyclonedx.json;容器镜像用 syft <image>:<tag> -o spdx-json > sbom-spdx.json。
格式选择:cyclonedx-json 兼容工具最多、元数据丰富;spdx-json 适合政府/监管合规;table 便于快速人工查看;json 为 Syft 原生。
限制:资料未提供具体版本要求、性能数据、收费信息或平台支持范围,暂未提供。