SuperAPI AI 工具集

sbom-syft

安全与审计

查看项目

更新于 10-16 06:28

技能介绍

用途

该技能面向安全工程师,用于使用 Syft(Anchore)生成软件物料清单(SBOM),以实现供应链可见性与合规。适用场景包括:被要求生成 SBOM、盘点依赖清单,或为供应链合规(EO 14028、SLSA 等)做准备。

主要能力

  • 从文件系统目录生成 SBOM。
  • 从容器镜像生成 SBOM。
  • 支持多种输出格式:CycloneDX(cyclonedx-json)、SPDX(spdx-json)、表格(table)以及 Syft 原生 JSON(json)。
  • 支持同时输出多个格式。
  • 对 SBOM 进行分析并呈现汇总信息,包括包名、版本、类型、许可证、生态,以及按生态统计的包数量、许可证分布、未固定版本的包(供应链风险)。
  • 建议将 SBOM 交由 Grype 进行漏洞扫描。

使用方式

前置条件:需先安装 Syft,安装命令为 curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin,并通过 syft version 验证。

操作步骤:

  1. 确定目标:目录或容器镜像。
  2. 生成 SBOM:
    • 文件系统:syft dir:<target-path> -o cyclonedx-json > sbom-cyclonedx.json
    • 容器镜像:syft <image>:<tag> -o spdx-json > sbom-spdx.json
    • CycloneDX 格式:-o cyclonedx-json
    • SPDX 格式:-o spdx-json
    • 表格格式(人类可读):-o table
    • 多格式输出:-o cyclonedx-json=sbom.cdx.json -o spdx-json=sbom.spdx.json
  3. 分析 SBOM:以表格形式呈现汇总(列包括序号、包、版本、类型、许可证、生态)。
  4. 总结:提供按生态(npm、pip、go 等)统计的总包数、许可证分布、未固定版本的包(供应链风险),并建议将 SBOM 交由 Grype 进行漏洞扫描。

SBOM 格式对照

  • cyclonedx-json:标准为 OWASP CycloneDX,工具兼容性最强、元数据丰富。
  • spdx-json:标准为 Linux Foundation SPDX,适用于政府/监管合规。
  • table:人类可读,适合快速审查。
  • json:Syft 原生,适用于 Syft 特定工具链。

限制

资料中未提供关于该技能的具体限制、支持范围或性能约束等信息。