Trivy 容器安全扫描器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/trivy-container-security-scanner。
技能介绍
你要面对的问题
镜像里的漏洞从来不是「一个 CVE」那么简单。一个生产镜像通常混着基础操作系统的 apt/yum 包、语言层的依赖(npm、PyPI、Maven、Go modules),以及一层 Dockerfile 或 Terraform / Kubernetes 声明式配置。人工审查几乎不可能覆盖全部,而在 CI 里随手跑一次 docker scan 又常常因为输出不可解析而被忽略。真正的困难在于:把安全扫描变成流水线里一个可编程的、输出标准化的环节,而不是一个每次都要人工看一遍的日志。
它如何工作
- 统一调用 Trivy CLI:技能内部集成 Aqua Security 的 Trivy,不需要你自己拼参数或记子命令。
- 覆盖三层检测:
- OS 包 CVE——Linux 发行版软件源层面的已知漏洞
- 语言专属依赖漏洞——按语言生态建立指纹,再与漏洞库匹配
- IaC 配置错误——Dockerfile、Terraform 等声明式文件中的高风险写法
- 输出 SARIF:扫描结果以 SARIF 格式落盘。SARIF 是静态分析结果的主流交换格式,CI/CD runner、GitHub/GitLab 的 code scanning 以及各类审计面板都能直接消费,不需要再写一层解析脚本。
一般的调用路径是:指定镜像引用或文件路径 → 触发扫描 → 拿到结构化的漏洞与配置报告 → 在 CI 阶段做门禁(例如命中 high / critical 即失败)。
适用边界与注意点
- 检测能力完全取决于上游 Trivy 的漏洞库与扫描器版本,技能本身不维护规则库。
- 上游资料提到存在 canary 构建(Docker Hub、GitHub、ECR 等渠道),生产环境请先评估渠道稳定性并固定版本。
- 本技能侧重镜像与 IaC 的静态扫描,不替代运行时检测、容器隔离(如 gVisor、Kata)或准入阶段的控制。
使用场景
- 在 CI 流水线构建容器镜像后,需要按漏洞级别设置发布门禁,命中高危即阻断的场景
- 上线前审查 Dockerfile 和 Terraform 文件中的高风险配置写法并生成修复建议
- 排查项目依赖中 npm、PyPI、Maven 等语言生态的已知漏洞并定位到具体包
- 需要把扫描结果接入 GitHub/GitLab code scanning,做持续的镜像安全审计
适合人员
- CI/CD 平台工程师:需要在流水线中接入可编程的镜像安全门禁
- 容器化交付的开发工程师:想在发布前发现镜像与 IaC 配置中的风险
- 安全审计人员:需要结构化漏洞报告用于合规检查与审计留档