Install
下载 trivy
可以去 trivy
的 github地址,选择相对于的系统机构直接下载就可以了,比如:下载了 linux amd64
的 deb
包,使用下面的命令安装即可:
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
注:
--skip-update
:是跳过漏洞下载过程,因为每次执行trivy
命令时都会尝试下载新的trivy db
--cache-dir
:漏洞库的位置,国内通过trivy
命令下载漏洞库很慢,所以最好是提前下载好,放在这个位置an 这个命令就会生成一个md
的报告文件在你指定的目录下面