首页/云/Docker 容器速查/Trivy 镜像漏洞扫描
资源与安全50 条

Trivy 镜像漏洞扫描

Trivy 开源扫描器:一条命令输出系统包与应用依赖漏洞,支持严重级别过滤、忽略不可修复项与失败退出码,便于接 CI 门禁。

Docker 容器速查云更新于 2026-10-13

开源扫描器接进门禁

Trivy 用一个命令扫描镜像里的系统包与应用依赖,输出按级别归类的漏洞清单,并且支持仅看高危、跳过暂无修复方案的条目、以及用退出码让流水线在发现问题时直接失败。扫描对象可以是镜像、文件系统,也可以是依赖清单文件。首次使用需要下载漏洞库,隔离环境要先预置缓存或自建镜像源,否则流水线第一次运行容易卡在下载上。

基本信息

扫描对象容器镜像、文件系统、依赖清单
常用参数--severity / --ignore-unfixed / --exit-code / --format
离线准备预置漏洞库缓存,或指向内部镜像源
门禁用法--exit-code 1 配合级别过滤,命中即失败

典型使用场景

  • 发布门禁:镜像推送前扫描,出现严重漏洞就中断流水线
  • 基础镜像选型:对比候选镜像的漏洞分布再决定用哪个
  • 存量复查:定期重扫已发布镜像,发现新披露的问题
  • 修复验证:升级依赖后重扫,确认目标漏洞消失
  • 结果归档:以 JSON 格式输出并随发布记录保存,便于回溯

扫描与门禁

扫描与门禁
# 只看高危与严重级别,并跳过暂无修复方案的项
trivy image --severity HIGH,CRITICAL --ignore-unfixed nginx:1.27-alpine

# 作为门禁:命中严重漏洞时让命令以非零码退出
trivy image --exit-code 1 --severity CRITICAL app/web:1.4.2 && echo scan-pass

# 输出结构化结果便于归档与比对
trivy image --format json --output scan.json app/web:1.4.2

# 扫描文件系统与依赖清单
trivy fs --severity HIGH,CRITICAL ./

常用参数对照

参数作用注意事项
--severity HIGH,CRITICAL按级别过滤结果先收窄范围再逐级放宽更实用
--ignore-unfixed跳过暂无修复方案的项需配合例外清单定期复核
--exit-code 1发现问题时命令失败接入流水线门禁的关键参数
--format json结构化输出便于归档、比对与二次分析
漏洞库会持续更新,同一镜像在不同日期扫描结果可能不同,对比结论时要带上扫描时间与镜像摘要。
扫描发现的漏洞要回到基准镜像与依赖升级上解决,只保留报告不做修复,问题会一直随镜像流转。

易错点

  • 首次运行不管网络:漏洞库下载失败会让流水线首跑超时,离线环境先预置缓存
  • 整体跳过扫描:为了流水线畅通关掉门禁,等于放弃这一层检查,用忽略清单分级管理更合理
  • 忽略不可修复项长期不复核:例外清单需要定期重看,上游一旦给出修复就该收回例外
  • 把镜像扫描当全部安全措施:凭据管理、运行权限与配置错误不在它的覆盖范围内

数据来源与参考

  • Trivy 官方文档:image scanning(trivy.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌