
Trivy · Aqua Security 开源的综合安全扫描器 · 容器镜像 / 文件系统 / K8s 漏洞扫描部署与使用全指南
项目仓库: https://github.com/aquasecurity/trivy
开源协议:Apache-2.0 · 出品:Aqua Security 开源项目 · 支持目标:容器镜像 / 文件系统 / Git 仓库 / 虚拟机镜像 / Kubernetes · 扫描器:漏洞 / 配置错误 / 密钥 / SBOM / 许可证
1 项目简介
Trivy(发音:tri 同 trigger,vy 同 envy)是
Aqua Security
开源的综合且通用的安全扫描器。它由“扫描器(scanners)”和“扫描目标(targets)”两部分组成:扫描目标包括容器镜像、文件系统、远程
Git 仓库、虚拟机镜像与 Kubernetes;扫描器负责找出 OS
包与依赖(SBOM)、已知漏洞(CVE)、IaC 配置错误、敏感信息 /
密钥、软件许可证等安全问题。Trivy
支持绝大多数主流编程语言、操作系统与平台。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | Trivy |
| 仓库地址 | github.com/aquasecurity/trivy |
| 项目定位 | 一站式云原生安全扫描器(漏洞 / 配置 / 密钥 / SBOM / 许可证) |
| 开源协议 | Apache-2.0 |
| 出品 | Aqua Security 开源项目 |
| 安装方式 | Homebrew、Docker、Release 二进制、包管理器 |
| Docker 镜像 | aquasec/trivy |
| 系统入口 | trivy <target> [--scanners ...] <subject> |
| 官方文档 | trivy.dev/docs |
1.2 适用场景
- CI/CD 流水线中扫描容器镜像与代码仓库的已知漏洞。
- 扫描本地文件系统 / Git 仓库的硬编码密钥与配置错误。
- 生成软件 Bill of Materials(SBOM)。
- 对 Kubernetes 集群做配置与漏洞基线检查。
- 通过 GitHub Actions、Kubernetes Operator、VS Code 插件等集成到日常开发。
1.3 能力边界(官方口径)
- Trivy 是扫描器,输出问题清单;修复仍需人工处理。
- 官方提供 canary 构建(每次 push 到 main 生成),但明确提示 canary 可能含严重 bug,不建议生产使用;生产请用 Release 稳定版。
- 完整扫描覆盖范围见官方 Scanning Coverage 页面。
2 功能特性
- 多目标:容器镜像、文件系统、远程 Git 仓库、虚拟机镜像、Kubernetes。
- 多扫描器:OS 包与依赖(SBOM)、已知 CVE 漏洞、IaC / 配置错误、敏感信息与密钥、软件许可证。
- 广泛生态集成:GitHub Actions(trivy-action)、Kubernetes Operator(trivy-operator)、VS Code 插件等。
- 多安装渠道:
brew install trivy、docker run aquasec/trivy、Release 二进制。 - 结构化报告:支持多种输出格式,Kubernetes 可输出 summary 报告。
- canary 构建:Docker Hub / GitHub / ECR 提供,仅供尝鲜。
3 官方界面预览
开头封面为 Trivy 官方 Logo。运行时
trivy image python:3.4-alpine
会输出镜像中的漏洞列表,按严重等级(CRITICAL / HIGH / MEDIUM /
LOW)分组显示 CVE
编号、包名与修复版本;trivy k8s --report summary cluster
输出集群摘要报告(README 中附官方 k8s 截图)。
4 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 官网 | https://trivy.dev | 功能亮点 |
| 文档 | trivy.dev/docs/latest | 详细文档 |
| 仓库主页 | https://github.com/aquasecurity/trivy | 源码、Issues、Discussions |
| Releases | github.com/aquasecurity/trivy/releases/latest | 二进制下载 |
| 安装文档 | Installation | 各平台安装方式 |
| 生态集成 | Ecosystem | 集成列表 |
| 扫描覆盖 | Scanning Coverage | 支持语言/平台 |
| GitHub Action | aquasecurity/trivy-action | CI 集成 |
| Discussions | github.com/aquasecurity/trivy/discussions | 社区讨论 |
5 前置要求与服务器配置
5.1 软件前提
- Docker:使用 Docker 镜像方式时需要;或直接在主机安装 trivy 二进制。
- Homebrew(macOS):
brew install trivy。 - 扫描容器镜像需要本地已安装 Docker 或可访问镜像仓库。
5.2 硬件建议
- 普通主机即可;首次扫描会下载漏洞数据库,需联网与磁盘空间。
5.3 端口与资源
- Trivy 本身是命令行扫描工具,不监听网络端口;如需作为服务模式(trivy-operator),按官方 Helm Chart 部署到集群。
6 方式一:Docker / 本机安装(推荐)
# macOS
brew install trivy
# Docker 方式
docker run aquasec/trivy image python:3.4-alpine
# 或从 Releases 下载对应平台二进制解压后使用7 方式二:直接运行扫描示例
# 扫描容器镜像
trivy image python:3.4-alpine
# 扫描本地文件系统:漏洞 + 密钥 + 配置错误
trivy fs --scanners vuln,secret,misconfig myproject/
# 扫描 Kubernetes 集群摘要
trivy k8s --report summary cluster8 配置项说明
通用命令格式:trivy <target> [--scanners <scanner1,scanner2>] <subject>
| 配置项 | 用途 |
|---|---|
<target> |
扫描目标类型:image / fs / repo / k8s |
--scanners |
启用的扫描器:vuln / secret / misconfig / license |
--report summary |
输出摘要报告(k8s) |
| canary 标签 | 尝鲜构建,勿用于生产 |
9 常用运维命令
- 查看版本:
trivy --version - 扫描镜像:
trivy image <image> - 扫描目录:
trivy fs --scanners vuln,secret,misconfig <dir> - 扫描集群:
trivy k8s --report summary cluster - 更新(Homebrew):
brew upgrade trivy。
10 常见故障排查
- 首次扫描慢:正在下载漏洞数据库,属正常现象。
- 镜像拉取失败:检查 Docker 是否运行、镜像仓库是否可访问。
- 误报过多:参考官方文档调整
--scanners与忽略规则。 - canary 版本异常:官方明确不建议生产用 canary,切回 Release 稳定版。
- 更多见官方文档与 GitHub Discussions。
11 风险与合规说明
- 许可证:Apache-2.0,可自由使用与再分发。
- 商业版提示:README 中提到 Aqua 在 Trivy 之上提供商业产品,但开源版本身功能完整,不强制商业订阅。
- 本文整理自官方 README 与官方文档,命令与参数以官方文档最新说明为准;不包含 star 数等动态数据。