Agent Skills
返回列表
🔒

Syft 容器与文件系统 SBOM

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/syft-sbom-generator-containers-filesystems 到 AI 助手。

技能介绍

要解决的问题

容器镜像是交付的最小单元,但一个生产镜像里往往同时混着多个包管理器的产物:基础镜像里的 .deb/.rpm/.apk,应用层的 package.json、requirements.txt、go.mod、pom.xml。安全扫描、许可证清点、漏洞响应都需要一份完整的组件清单,而手工维护或只解析一层 manifest 的做法很容易漏掉深层依赖,也无法满足 CycloneDX、SPDX 这类标准格式的输出要求。

核心能力

这个技能围绕 syft 这个 CLI 工具展开,主要能力包括:

  • 从多种镜像源生成 SBOM:OCI registry、本地 Docker 镜像、docker save 导出的 tar,以及 Singularity 等格式。
  • 直接对文件系统目录、挂载点或 tar 归档扫描,适合 CI 产物与离线环境。
  • 覆盖数十种包生态:Alpine(apk)、Debian(dpkg)、RPM、Go module、Python、Java/JAR、JavaScript、Ruby、Rust、PHP、.NET 等。
  • 输出格式可选 CycloneDX(JSON/XML)与 SPDX,并支持表格形式的人类可读输出。

典型流程是:指定输入源 → 选择 SBOM 标准与输出目标 → 生成清单文件 → 交由下游工具(如 Grype 做漏洞匹配)消费。

适用边界

  • SBOM 的准确度取决于包管理器的可识别度;用户自定义安装、编译进二进制的依赖(如 Go vendor 目录里未声明的模块)可能不被覆盖。
  • 该技能描述的是 syft 本身的能力,资料中没有体现额外的策略分析或漏洞匹配逻辑。
  • 镜像格式支持面很广,但个别冷门格式可能存在字段缺失,建议以官方安装文档为准。
  • 本次提供的资料中没有包含具体用法示例,实际行为需参考上游 README。

使用场景

  • 容器镜像上线前,需要从 OCI registry 拉取镜像生成 CycloneDX 清单,供漏洞扫描工具匹配已知 CVE
  • 合规部门要求清点镜像与根文件系统中的第三方组件及其许可证,输出符合 SPDX 标准的清单归档
  • CI 流水线在构建产物后需要对本地 Docker 镜像和导出的 tar 归档分别生成 SBOM 并随构建结果上传
  • 排查离线环境中的组件来源时,需要直接扫描挂载的文件系统目录或 Singularity 镜像,确认内部包含哪些包

适合人员

  • 负责镜像安全扫描的平台工程师,需要在 CI 阶段拿到结构化组件清单并交给下游漏洞匹配工具
  • 处理软件合规与许可证审计的安全合规负责人,需要覆盖多种包生态的完整依赖记录
  • 维护容器交付链路的 DevOps 工程师,需要对 OCI、Docker 及文件系统等多种输入统一生成 SBOM
  • 构建内部 SBOM 工具链的研发工程师,需要以 CLI 方式集成 syft 并输出 CycloneDX 或 SPDX 文件