Loading...

文章背景图

Trivy:Aqua Security 开源的综合安全扫描器|容器与 K8s 漏洞扫描部署指南

2026-11-02
0
- 字
- 分钟
|

图1 Trivy 官方 Logo(README 官方素材)

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 cluster

8 配置项说明

通用命令格式: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 数等动态数据。
评论交流

文章目录