anchore syft 9237 Go https://avatars.githubusercontent.com/u/16208487?v=4 72 从容器镜像和文件系统快速生成软件物料清单(SBOM)的CLI工具和Go库。 CLI tool and library for generating a Software Bill of Materials from container images and filesystems
创建于 6 年前
最后更新 昨天
+4 stars today
AI 综合评分
72 B 级
代码质量 66
文档质量 75
社区健康 69
项目活跃 78
创新性 63
项目简介
从容器镜像和文件系统快速生成软件物料清单(SBOM)的CLI工具和Go库。
项目摘要
【主题】
Syft 让你像查户口一样,一键挖出容器镜像和文件系统里所有软件包的明细清单(SBOM),不再靠猜。
【核心分点总结】
一键生成:仅需一条命令,就能从容器镜像、文件系统或 OCI 目录生成 SPDX 或 CycloneDX 格式的 SBOM,省去手动梳理的烦恼。
支持广泛:覆盖 Alp ine、Debian、RPM、Python、Node.js、Java 等多种包管理器,无论镜像用什么构建,都能精准识别。
快速准确:利用 Go 的高性能和并行解析,数秒内即可完成大型镜像的依赖分析,结果精确到版本和许可。
集成友好:既可作独立 CLI,也可嵌入自己的 Go 项目作为库使用,还提供 JSON/表格式输出,方便 CI/CD 和工具链对接。
生态联动:与 Grype 等漏洞扫描工具无缝配合,生成 SBOM 后直接喂给安全扫描器,实现“生成-扫描-修复”闭环。
【行动指南】
- 合规审计时:如果业务需要满足 SPDX/CycloneDX 物料清单标准,直接运行
syft <image>导出 SBOM 文件,提交给合规部门。 - CI/CD 集成:在构建流水线中插入
syft,每次构建后自动生成 SBOM,并归档或推送至仓库,确保各版本依赖可追溯。 - 本地快速排查:开发环境遇到奇怪的依赖问题,用
syft dir:your-project/扫描本地目录,看看有哪些隐藏的包。
【金句总述】
Syft 让软件供应链透明得像玻璃——你知道每个容器里装了什么,不再有黑箱。
【故事性收尾】
以前,处理一个复杂的容器镜像,就像在黑暗里翻垃圾桶,全靠直觉和经验。现在,你只需敲下 syft my-image:latest,终端立刻列出所有包名、版本和许可,像看超市购物小票一样清晰。再也不用担心遗漏某个依赖带来安全漏洞——因为你知道里面每一粒“米饭”来自哪里。