如何用 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 的报告文件在你指定的目录下面
相关推荐
阿米亚波11 小时前
【C/C++包管理器】vcpkg(by microsoft)
c语言·c++·git·vscode·microsoft·github·vcpkg
打工的小王13 小时前
github教程之多人协作
github
笨笨狗吞噬者13 小时前
IRIS: shell 中的智能实时输入提示工具
github·shell
fthux16 小时前
MCP协议开发实战:从零搭建AI Agent工具链
前端·人工智能·ai·开源·github
@CLoudbays_Martin1116 小时前
Linux 服务器如何查看是否被植入后门?
linux·服务器·网络·安全·github·ssl
一次旅行16 小时前
Ollama本地私有化大模型完整工程实战
人工智能·机器学习·github
华科大胡子16 小时前
GitHub Copilot 能换成本地模型吗?—— 本地化替代方案深度解析
人工智能·github·copilot
TunerT_TQ1 天前
Valhalla 静态工程审阅 #024|蚂蚁集团Ant Design 源码证据驱动评测【大厂开源基础设施特辑】
开源·github·蚂蚁集团·#推荐系统·#typescript·#antdesign
tokenKe1 天前
Cloudflare Computer: 给每个 AI Agent 一台专属电脑 | SSP Github Daily
人工智能·github