anchore avatar

anchore/syft

9.2k 890 67
Go Apache-2.0
创建于 6 年前 最后更新 昨天 +4 stars today

AI 综合评分

72 B 级
代码质量
66
文档质量
75
社区健康
69
项目活跃
78
创新性
63

项目简介

从容器镜像和文件系统快速生成软件物料清单(SBOM)的CLI工具和Go库。

项目摘要

【主题】

Syft 让你像查户口一样,一键挖出容器镜像和文件系统里所有软件包的明细清单(SBOM),不再靠猜。

【核心分点总结】

  1. 一键生成:仅需一条命令,就能从容器镜像、文件系统或 OCI 目录生成 SPDX 或 CycloneDX 格式的 SBOM,省去手动梳理的烦恼。

  2. 支持广泛:覆盖 Alp ine、Debian、RPM、Python、Node.js、Java 等多种包管理器,无论镜像用什么构建,都能精准识别。

  3. 快速准确:利用 Go 的高性能和并行解析,数秒内即可完成大型镜像的依赖分析,结果精确到版本和许可。

  4. 集成友好:既可作独立 CLI,也可嵌入自己的 Go 项目作为库使用,还提供 JSON/表格式输出,方便 CI/CD 和工具链对接。

  5. 生态联动:与 Grype 等漏洞扫描工具无缝配合,生成 SBOM 后直接喂给安全扫描器,实现“生成-扫描-修复”闭环。

【行动指南】

  1. 合规审计时:如果业务需要满足 SPDX/CycloneDX 物料清单标准,直接运行 syft <image> 导出 SBOM 文件,提交给合规部门。
  2. CI/CD 集成:在构建流水线中插入 syft,每次构建后自动生成 SBOM,并归档或推送至仓库,确保各版本依赖可追溯。
  3. 本地快速排查:开发环境遇到奇怪的依赖问题,用 syft dir:your-project/ 扫描本地目录,看看有哪些隐藏的包。

【金句总述】

Syft 让软件供应链透明得像玻璃——你知道每个容器里装了什么,不再有黑箱。

【故事性收尾】

以前,处理一个复杂的容器镜像,就像在黑暗里翻垃圾桶,全靠直觉和经验。现在,你只需敲下 syft my-image:latest,终端立刻列出所有包名、版本和许可,像看超市购物小票一样清晰。再也不用担心遗漏某个依赖带来安全漏洞——因为你知道里面每一粒“米饭”来自哪里。

相关项目推荐