SuperAPI AI 工具集

scanning-containers-with-trivy-in-cicd

部署与运维

查看项目

更新于 10-16 01:30

技能介绍

用途:在 CI/CD 中构建 Docker 镜像后、推送镜像仓库前,用 Trivy 自动扫描漏洞,建立质量门禁,阻止含严重或高危 CVE 的镜像进入生产;同时可扫描 Dockerfile、Kubernetes 清单等 IaC 配置错误。不适用于运行时容器安全监控、生产运行中容器扫描,或仅扫描未容器化的应用源码。

主要能力:检测 OS 包与语言依赖 CVE;检测 Dockerfile 配置问题(如以 root 运行、使用 latest 标签、暴露多余端口);支持 SARIF、JSON、表格、CycloneDX、SPDX 等输出;支持 --ignore-unfixed 过滤无补丁漏洞;通过 .trivyignore.yaml 与 VEX 管理误报和已接受风险;可生成 SBOM 并做许可证扫描;支持数据库缓存与离线(air-gapped)扫描。

使用方式:GitHub Actions 中可用 aquasecurity/trivy-action@0.28.0,配置 image-ref、format、severity、exit-code 等参数,并用 upload-sarif 上传结果;GitLab CI 中可用 aquasec/trivy 镜像执行 trivy image --input image.tar --exit-code 1 --severity CRITICAL,HIGH。配置扫描用 trivy config --severity HIGH,CRITICAL ./Dockerfile。SBOM 生成用 trivy image --format cyclonedx --output sbom.cdx.json app:latest。离线时先 trivy image --download-db-only --cache-dir /path/to/cache,再 trivy image --skip-db-update --cache-dir /path/to/cache myimage:tag。

前提:Trivy CLI v0.50+ 或 trivy-action;CI/CD 中可用 Docker daemon;镜像仓库凭据;可访问或缓存 Trivy 漏洞数据库。

限制:仅扫描最终阶段会遗漏构建阶段中的漏洞包,建议对构建上下文单独运行 trivy fs;数据库缓存过久会延迟新 CVE 出现;运行时监控需用 Falco 等工具。具体收费、价格与平台支持资料暂未提供。