如何用 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 的报告文件在你指定的目录下面
相关推荐
绝无仅有6 小时前
面试MySQL基础20题(一)
后端·面试·github
杨杨杨大侠6 小时前
手把手教你写 httpclient 框架(八)- 实战案例集锦
java·http·github
CoderJia程序员甲17 小时前
GitHub 热榜项目 - 日榜(2025-09-24)
ai·开源·大模型·github·ai教程
Rhys..1 天前
Git & GitHub 个人账户创建教程
git·github
aopstudio1 天前
零成本上线动态博客:用 Rin + Cloudflare 部署个人博客的完整指南
javascript·serverless·github
CoderJia程序员甲1 天前
GitHub 热榜项目 - 日榜(2025-09-18)
ai·开源·大模型·github·ai教程
逛逛GitHub1 天前
Kimi K2 + Claude Code 接入 3 个神级开源 MCP,相当丝滑。
github·mcp
Rhys..1 天前
github修改repo名称
github
杨杨杨大侠1 天前
手把手教你写 httpclient 框架(七)- 异步处理与性能优化
java·http·github