如何用 Trivy 扫描镜像呢!

Install

下载 trivy可以去 trivygithub地址,选择相对于的系统机构直接下载就可以了,比如:下载了 linux amd64deb包,使用下面的命令安装即可:

css 复制代码
sudo dpkg -i  trivy_0.66.0_Linux-64bit.deb

安装之后在命令行执行trivy,试试看是否安装成功

Trivy Repository

第一次执行 trivy image <image>:tag 时,trivy会从 ghcr.io/aquasecurity/trivy-db:2 拉取漏洞库,但是国内从这个地方拉取很慢,所以可以考虑使用国内的镜像代理仓库,地址如下:

bash 复制代码
ghcr.nju.edu.cn/aquasecurity/trivy-db:2  
ghcr.nju.edu.cn/aquasecurity/trivy-java-db:1

下载这个漏洞库可以通过安装 oras,这样比较麻烦,可以直接用如下的方式下载:

arduino 复制代码
trivy image --db-repository ghcr.nju.edu.cn/aquasecurity/trivy-db:2    --download-db-only

这样就是只下载一个漏洞库,漏洞库的地址为国内镜像地址,这样下载速度会提升很多。除此之外,也可以执行下载后执行扫描:

arduino 复制代码
trivy image --db-repository ghcr.nju.edu.cn/aquasecurity/trivy-db:2 nginx:latest

这样就会在下载之后直接扫描镜像了。

Trivy Report Install

使用命令 trivy image --db-repository ghcr.nju.edu.cn/aquasecurity/trivy-db:2 nginx:latest扫描镜像后,会在当前的终端打印出扫描出来的各种类型的漏洞,如果想生成一个详细的漏洞报告,可以安装一个 trivy report插件,安装命令如下:

bash 复制代码
trivy plugin install github.com/miao2sec/trivy-plugin-report

上面的这个命令就会安装这个插件了,但是这种方式安装很慢,有时间甚至会超时;所以,可以直接去这个仓库地址,下载这个插件的 zip包,解压之后的目录如下:

复制代码
├── LICENSE
├── plugin.yaml
├── README.md
└── report

之后就可以进入到这个目录下面执行下面的命令即可:

复制代码
trivy plugin install ./

执行这个命令后,还是会去拉取远程的插件,所以,还需要更改一下 plugin.yaml文件,如下:

yaml 复制代码
name: report
repository: github.com/miao2sec/trivy-plugin-report
version: "0.3.3"
......
platforms:
......
  - selector:
      os: linux
      arch: amd64
    uri: /home/xxx/trivy-plugin-report_0.3.3_linux-amd64.tar.gz
    bin: ./report
  - selector:
      os: linux
      arch: arm64
    uri: https://github.com/miao2sec/trivy-plugin-report/releases/download/v0.3.3/trivy-plugin-report_0.3.3_linux-arm64.tar.gz
    bin: ./report

找到对应的操作系统和架构,更改其中的 uri为你当前下载的插件的地址,然后再执行trivy plugin install ./就可以安装成功了

Trivy Report

安装插件之后,可以用下面的命令扫描镜像:

css 复制代码
trivy image --skip-update   --cache-dir ~/.cache/trivy   --format table --output ~/temp/report.md   image-repo:tag

注:

  1. --skip-update:是跳过漏洞下载过程,因为每次执行 trivy 命令时都会尝试下载新的 trivy db
  2. --cache-dir:漏洞库的位置,国内通过 trivy命令下载漏洞库很慢,所以最好是提前下载好,放在这个位置an 这个命令就会生成一个 md 的报告文件在你指定的目录下面
相关推荐
绝无仅有1 小时前
面试真实经历某商银行大厂数据库MYSQL问题和答案总结(二)
后端·面试·github
绝无仅有1 小时前
通过编写修复脚本修复 Docker 启动失败(二)
后端·面试·github
水电费嘎嘎12 小时前
Claude Code接入Github
github·claude code
默默coding的程序猿13 小时前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea
爱宇阳1 天前
Linux 教程:如何查看服务器当前目录中的文件
linux·运维·github
CoderJia程序员甲1 天前
GitHub 热榜项目 - 日榜(2025-10-17)
ai·llm·github·开源项目·github热榜
绝无仅有1 天前
面试真实经历某商银行大厂数据库MYSQL问题和答案总结(一)
后端·面试·github
绝无仅有1 天前
Docker 实战经验之关键文件误删恢复指南
后端·面试·github
Sirens.1 天前
Java核心概念:抽象类、接口、Object类深度剖析
java·开发语言·github