如何用 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 天前
Cursor Rules 文件配置实战:3 个隐藏参数让我每月少写 40% 样板代码
前端·github
嘻嘻仙人2 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
白鲸开源2 天前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github
白鲸开源2 天前
一文读懂DolphinScheduler插件机制:如何轻松扩展任务类型与数据源
java·架构·github
徐小夕3 天前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
码流怪侠3 天前
【GitHub】Ponytail:给 AI 编码代理植入“懒人资深开发者“灵魂的开源插件深度拆解
程序员·github·ai编程
齐翊3 天前
怎么确认 AI 看懂了你的提示词?
人工智能·github·ai编程
李小庆3 天前
Sowork AI Agent 编程助手教程 :第一章 Python环境搭建与Sowork项目克隆学习目标
github
OpenTiny社区4 天前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github
千寻girling4 天前
一份不可多得的《微服务》教程
后端·面试·github