Agent Skills
返回列表
🔒

Trivy 容器镜像漏洞扫描器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/trivy-container-image-vulnerability-scanner 到 AI 助手。

技能介绍

问题:漏洞往往在镜像构建完成后才被发现

容器镜像是一层一层叠出来的:基础镜像里的包管理器层、应用层的语言依赖、再加上团队自己打进来的层。传统做法是等镜像推到仓库、甚至已经在生产里跑起来之后,再由安全同学人工抽查,或者干脆等到被通报。到那时漏洞已经存在数天甚至数周,回滚和重建的成本都很高。

更麻烦的是,同一个镜像里同时存在操作系统包和语言依赖两类风险来源。扫描结果如果只是一份原始 JSON,很难快速回答「哪些是今天必须修的」。

这个技能做了什么

该技能把 Aqua 出品的 Trivy 封装成一次可调用的扫描动作:输入一个 Docker 或 OCI 镜像引用,输出整理好的漏洞表。核心流程分三步:

  • 拉取并解包镜像:读取 manifest 与各层内容,还原文件系统,同时识别容器运行时与 SBOM 相关信息。
  • 识别依赖面:匹配操作系统包管理器(如 apt、rpm、apk),以及各语言生态的依赖清单,例如 requirements.txt、package-lock.json、go.mod。
  • 关联漏洞库并输出:将每个依赖与漏洞数据库比对,输出包含 CVE 编号、CVSS 评分、命中包名与可用修复版本的表格,支持按严重程度筛选。

修复版本这一列是值得写进流水线的关键字段:当修复版本存在时,这条漏洞通常可以通过升级依赖解决;当字段为空或缺失时,往往意味着要等待上游补丁、绕过该依赖,或者调整实现方式。

适用边界与注意点

  • 只扫镜像,不扫运行态:Trivy 检查的是固化在镜像层里的静态内容,不覆盖运行时的文件变更、密钥泄露或配置错误。
  • 检出能力依赖漏洞库时效:数据库更新越及时,结果越可靠,扫描前应确认库处于最新状态,否则 clean 的结论并不可信。
  • 上游存在 canary 构建:Trivy 会通过 Docker Hub、GitHub 与 ECR 等渠道发布 canary 版本,使用时应明确自己依赖的是哪个渠道,避免不同构建之间行为不一致。
  • 修复版本字段不是绝对保证:部分漏洞在上游尚未发布补丁,字段可能为空,此时仍需结合业务风险决定是否先阻断发布。

使用场景

  • 镜像推送到仓库之前,扫描 OS 包与语言依赖中的 CVE,按 CVSS 阈值筛选并查看修复版本,决定是否放行。
  • 升级基础镜像或依赖清单时,对比新旧镜像的扫描结果,定位新增漏洞以及对应的修复包版本。
  • 收到安全通报后排查受影响镜像,用扫描结果表确认命中的依赖名与 CVE 编号,评估处置范围。
  • 在 CI 流水线中对每次构建出的镜像执行扫描,将带高危漏洞的镜像挡在仓库之外。

适合人员

  • 负责镜像构建与发布的后端工程师,想在 CI 中加一道漏洞门槛,让带高危 CVE 的镜像构建直接失败。
  • 负责容器平台安全的安全工程师,需要定期巡检镜像仓库,按 CVSS 评分与修复版本排定处置优先级。
  • 维护内部基础镜像的平台工程师,在升级基础镜像或依赖清单前确认新增漏洞范围并拿到修复版本号。
  • 处理安全通报的值班工程师,需要在定位受影响镜像后快速确认命中的 CVE 编号与依赖名。