Trivy和Docker Scout可直接扫描镜像识别CRITICAL/HIGH漏洞,无需启动容器或依赖Docker daemon;支持私有仓库(需docker login)、本地tar包(--input)及多格式报告导出,并标注漏洞可利用性与层来源。

直接用 Trivy 或 Docker Scout 扫描镜像,就能快速识别高危漏洞(CRITICAL/HIGH 级别),不需要启动容器,也不依赖本地 Docker daemon。
聚焦高危漏洞的扫描命令
只显示 CRITICAL 和 HIGH 级别结果:
trivy image --severity CRITICAL,HIGH nginx:alpine扫描私有仓库镜像(如 Harbor):
先执行docker login myharbor.example.com,再运行:trivy image myharbor.example.com/project/app:v2.1扫描本地已导出的 tar 包(适合离线环境):
trivy image --input app.tar
查看漏洞详情的关键信息
Trivy 报告会明确列出:
- 漏洞 ID(如 CVE-2022-24769)
- 所在操作系统及版本(如 debian 11.2)
- 受影响软件包与当前安装版本(如 openssl 1.1.1k-1+deb11u2)
- 建议升级到的安全版本(如 1.1.1n-0+deb11u1)
- 是否可远程利用、是否需用户交互(用于判断真实风险)
结合构建过程定位问题源头
Docker Scout 能进一步告诉你漏洞来自哪一层:
-
docker scout cves myapp:1.0→ 查漏洞 -
docker scout config myapp:1.0→ 查 Dockerfile 风险(如缺失 USER 指令、EXPOSE 敏感端口) - 报告中标注“introduced by layer X”,对应某条 RUN 指令(例如
RUN apk add curl引入了含漏洞的 libssl)
导出结构化报告便于跟进
表格格式(人眼可读):
trivy image --format table --no-progress --severity CRITICAL,HIGH nginx:alpine > report.txtSARIF 格式(对接 GitHub、CI 工具):
trivy image --format template --template "@contrib/sarif.tpl" --output report.sarif --severity CRITICAL,HIGH nginx:alpineJSON 格式(程序解析用):
trivy image --format json --output report.json --severity CRITICAL,HIGH nginx:alpine
不复杂但容易忽略。关键不是扫出多少漏洞,而是确认每一条 CRITICAL/HIGH 是否真实可利用、是否在运行路径中暴露。


















