本文档基于本仓库当前状态编写,按步骤执行即可完成构建与验证。若你的本机 Go 版本低于 go.mod 要求,建议走 Docker 构建路径。
- Docker 已安装并可用
- Git 已安装
- 可访问 Docker Hub
- 网络可访问 Go 模块代理(如 https://goproxy.cn)
git clone https://github.com/aquasecurity/trivy.git
cd trivydocker run --rm aquasec/trivy --version若输出版本号,说明 Docker 环境与镜像拉取正常。
仓库 go.mod 需要较新 Go 版本,推荐通过官方 Golang 容器构建:
docker pull golang:1.25.0docker run --rm \
-e CGO_ENABLED=0 \
-e GOEXPERIMENT=jsonv2 \
-e GOPROXY=https://goproxy.cn,direct \
-v "$PWD":/src \
-w /src \
golang:1.25.0 \
/usr/local/go/bin/go build \
-ldflags "-s -w -X=github.com/aquasecurity/trivy/pkg/version/app.ver=dev" \
-o ./trivy ./cmd/trivy构建成功后,当前目录会生成二进制文件 ./trivy。
./trivy --version示例输出:
Version: dev
扫描本仓库文件系统(包含漏洞、密钥与误配置扫描):
./trivy fs --scanners vuln,secret,misconfig .若你想使用官方镜像直接运行:
docker run --rm aquasec/trivy fs --scanners vuln,secret,misconfig /root/.trivy如果构建时出现 proxy.golang.org 连接超时,使用以下代理:
GOPROXY=https://goproxy.cn,direct
已在第 3 步的构建命令中默认设置。
如果本机 go version 低于 go.mod 的版本要求,直接使用第 3 步的 Docker 构建路径即可。