aquasecurity/trivy 是一个很常用的开源安全扫描工具。它可以扫描容器镜像、Kubernetes、代码仓库、云配置、IaC、Secret、SBOM、漏洞和错误配置。
如果你在做 Docker、Kubernetes 或 CI/CD,Trivy 基本属于早晚会遇到的工具。
它能扫什么
Trivy 的覆盖面很广:
- 容器镜像漏洞;
- 文件系统和代码仓库;
- Kubernetes 资源;
- Terraform、Kubernetes YAML 等 IaC;
- Secret 泄露;
- License 风险;
- SBOM 生成和扫描;
- 云资源配置问题。
它的价值在于把多类安全检查统一到一个工具里,而不是每类风险都装一套扫描器。
适合放在哪里
常见接入点:
- 本地开发时扫描镜像;
- CI 里阻断高危漏洞;
- 镜像仓库定期扫描;
- Kubernetes 部署前检查 YAML;
- 生成 SBOM 给审计或供应链安全使用;
- 定期扫代码仓库里的 Secret。
安全扫描最怕只跑一次。更好的做法是放进流水线,持续扫描,持续修。
使用时要注意什么
Trivy 会告诉你风险,但不会替你做风险决策:
- 漏洞是否可利用,要看运行环境;
- 基础镜像版本要定期升级;
- 高危漏洞可以设阻断策略;
- 低危和误报要有例外管理;
- Secret 命中后要立即轮换密钥;
- SBOM 不是合规装饰,要能追踪依赖来源。
不要把扫描报告当 KPI。真正有价值的是修复闭环。
小结
Trivy 是 DevSecOps 里很实用的一把刀。它不复杂,但覆盖面广,适合从个人项目到企业流水线逐步接入。
如果你正在部署容器或 Kubernetes 服务,至少应该把 Trivy 放进构建和发布流程里。