热榜
#安全

aquasecurity/trivy

用一个命令行工具统一扫描容器镜像、文件系统、代码仓库、虚拟机和 Kubernetes 中的漏洞、配置错误与密钥泄露。

38,690
796
Go
Apache-2.0
上线 7 年

解决什么问题

做容器和 Kubernetes 安全扫描,通常要拼好几套工具:镜像漏洞一套、IaC 配置检查一套、密钥泄露检测一套、SBOM 生成又一套。每套都有自己的配置和输出格式,接入 CI 的成本很高。Trivy 把这些收进一个二进制,用「扫描目标 × 扫描器」的统一模型覆盖镜像、文件系统、远程 git 仓库、VM 镜像和在线集群,一条命令风格就能跑完。

有什么不同

常见做法是拼装专用工具链,漏洞扫描器加 IaC 检查器加密钥检测器各管一摊。Trivy 的差异在于把它们合进单个二进制:README 明确按「扫描器」(漏洞、错误配置、密钥、许可证、SBOM)和「目标」两个维度组织,覆盖主流语言、操作系统和平台。第二个差异是部署形态,同一引擎可以作为 CLI、Docker 镜像、GitHub Action 或 Kubernetes operator 运行,从提交阶段一路用到集群运行时。第三,operator 路径提供的是集群级报告,而不只是逐个镜像扫。README 没有给出和同类工具的速度或准确率对比,这类比较只能自己验证。

适合谁

适合需要在容器和 Kubernetes 上获得较广覆盖、又不想维护多套工具的团队:平台工程、DevSecOps、CI 负责人,希望用一道门禁代替三道。也适合想把仓库和集群扫描统一到同一个扫描器的组织。如果你需要深入应用层的 SAST 或 DAST,Trivy 并不覆盖;如果你需要带策略工作流的托管商业面板,README 自己也把用户引向 Aqua 的商业产品。很小的项目用 GitHub 自带的依赖告警可能就够了。

上手成本

前置条件很轻:Go 静态二进制、Docker 镜像或包管理器安装(brew install trivy),另有 GitHub Actions、VS Code 插件和 Kubernetes operator。README 没有说必须部署数据库或常驻 agent。真正的成本在运维侧:漏洞数据必须保持新鲜,扫描依赖外部漏洞库可访问且及时更新,隔离网络环境里这要自己解决。输出量大,不做过滤和策略就很难直接当 CI 门禁用。canary 构建官方明确说不建议用于生产。最关键的是,它本身就在它所保护的供应链里:2026 年 3 月 Hacker News 上有题为「Trivy ecosystem supply chain temporarily compromised」的讨论,说明分发渠道被攻击过,使用时应锁定版本并校验产物。许可证是 Apache-2.0,属于宽松许可。

点评

这是一个成熟项目而非短期爆红:2019 年创建,约 3.87 万 star,七年后在 Go 月度榜上仍有 #14、+688 的动量。有 Aqua 支持,生态集成广,项目不太可能突然消失。代价是安全工具天然是攻击目标,过去那次供应链事件提醒要谨慎消费它。对大多数做容器和 Kubernetes 扫描的团队来说,它是合理默认选项;但应把它当作安全体系中的一层,而不是完整的 AppSec 方案。

Hacker News 讨论

Trivy ecosystem supply chain temporarily compromised
▲ 102 · 37 条评论 · 2026年3月20日
Trivy: A scanner for vulnerabilities in containers, file systems, and Git repos
▲ 41 · 6 条评论 · 2021年11月10日
Trivy Security incident 2026-03-19
▲ 17 · 2 条评论 · 2026年3月20日

本文由 AI 根据项目 README 生成,更新于 2026年10月24日,以项目官方文档为准。