Trivy 是轻量易用高准确率的开源镜像漏洞扫描工具,支持无 Docker 守护进程扫描、CI/CD 集成、分级报告、私有仓库认证、缓存加速及配置审计。

Trivy 是目前最轻量、易用且准确率高的开源镜像漏洞扫描工具,无需 Docker 守护进程即可扫描本地镜像或容器文件系统,天然适配 CI/CD 流水线。
快速上手:三步完成基础扫描
安装与首次扫描极简:
- macOS 用户执行 brew install aquasecurity/trivy/trivy;Linux 可用一键脚本:curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin
- 拉取一个待测镜像,例如:docker pull nginx:1.25.3
- 直接扫描镜像 ID 或仓库名:trivy image nginx:1.25.3(默认输出严重及以上等级漏洞)
精准控制:按需过滤与分级报告
避免信息过载,聚焦真实风险:
- 只显示 CRITICAL 和 HIGH 级别漏洞:trivy image --severity CRITICAL,HIGH nginx:1.25.3
- 忽略已知误报或临时豁免项,用 --ignore-unfixed 跳过未修复漏洞(适用于基线评估场景)
- 生成 JSON 报告便于后续解析:trivy image -f json -o report.json nginx:1.25.3
- 添加 --vuln-type os,library 明确区分操作系统包与语言级依赖(如 npm、pip 包)漏洞
深度集成:嵌入构建与发布流程
在镜像生命周期关键节点自动卡点:
- GitHub Actions 中添加步骤:在 docker build 后立即扫描,exit code 非 0 时中断流水线(--exit-code 1 --severity CRITICAL,HIGH)
- Jenkins Pipeline 示例:用 sh 'trivy image --timeout 10m --quiet myapp:${BUILD_ID}' 实现超时防护与静默模式
- 扫描私有 Registry 镜像时,提前配置认证:trivy registry --username user --password pass harbor.example.com/project/app:latest
进阶提效:缓存、离线与定制策略
应对企业级高频扫描与合规要求:
- 启用本地数据库缓存加速(首次扫描后显著提速):trivy image --download-db-only,再配合 TRIVY_CACHE_DIR 环境变量指定路径
- 内网环境可预下载 DB:trivy image --download-db-only --db-repository ghcr.io/aquasecurity/trivy-db,然后离线使用
- 结合 Trivy 的 .trivyignore 文件,按 CVE ID 或包名忽略特定条目(需注明理由,满足审计追溯)
- 用 trivy config 扫描 Dockerfile 或 Kubernetes YAML,识别不安全配置(如 privilege escalation、root 运行)










