1.什么是 Trivy?
Trivy 是由 Aquasecurity 开发的一个开源漏洞扫描工具,能够快速扫描容器镜像、文件系统以及代码仓库中的已知安全漏洞(CVE)。它支持扫描的内容包括:
-
Docker 镜像
-
文件系统路径
-
Git 仓库
-
Kubernetes 配置文件(YAML)
-
包管理器(如 apt, yum 等)
Trivy 是一款轻量级的工具,易于使用,并且可以快速集成到 CI/CD 流程中,是 DevSecOps 实践中的常见选择。
2.在 Linux 上安装 Trivy
2.1 通过包管理器安装(推荐)
Ubuntu/Debian
sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy
RHEL/CentOS
sudo yum install -y trivy
2.2 (2.1不行再试2.2,我2.1是OK的)手动安装二进制文件
# 获取最新版本号
LATEST_VERSION=$(curl -sL https://api.github.com/repos/aquasecurity/trivy/releases/latest | grep tag_name | cut -d '"' -f 4)
# 下载并安装
wget https://github.com/aquasecurity/trivy/releases/download/${LATEST_VERSION}/trivy_${LATEST_VERSION#v}_Linux-64bit.tar.gz
tar -xzf trivy_*.tar.gz
sudo install trivy /usr/local/bin/
2.3 验证安装
安装完成后,运行以下命令验证是否成功安装:
trivy --version
预期输出:

3. Trivy 基本使用
3.1 扫描 Docker 镜像
# 拉取测试镜像(如 nginx)
docker pull nginx:1.23
# 扫描镜像
trivy image nginx:1.23
预期结果:



3.2 扫描本地文件系统
# 扫描当前目录
trivy fs .
# 扫描整个系统(需要 root)
sudo trivy fs --security-checks vuln,config /

4.1 过滤漏洞严重性(以高漏洞型为例)
trivy image --severity HIGH,CRITICAL nginx:1.23
预期结果:

4.2 忽略未修复的漏洞
trivy image --ignore-unfixed nginx:1.23
4.3 生成 JSON 报告
trivy image --format json nginx:1.23 > report.json
4.4 生成 SBOM(软件物料清单)
trivy image --format cyclonedx nginx:1.23 > sbom.json
5. 集成到 CI/CD(GitHub Actions 示例)
yaml格式
name: Security Scan
on: [push]
jobs:
trivy-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t my-app .
- name: Run Trivy scan
uses: aquasecurity/trivy-action@master
with:
image-ref: my-app
format: 'table'
exit-code: '1'
severity: 'HIGH,CRITICAL'
6. 总结
Trivy 的优势:
- 简单易用:一条命令即可扫描多种目标
- 全面覆盖:支持容器、依赖、OS 包、IaC
- DevOps 友好:轻松集成 CI/CD
适用场景:
- 开发阶段:检查第三方库漏洞
- CI/CD 流程:阻断高危漏洞进入生产环境
- 合规审计:生成 SBOM 和漏洞报告
参考链接
-
Trivy GitHub 项目:https://github.com/aquasecurity/trivy
-
Trivy 文档:https://aquasecurity.github.io/trivy/

1681

被折叠的 条评论
为什么被折叠?



