SuperAPI AI 工具集

container-scanning

安全与审计

查看项目

更新于 10-23 02:18

技能介绍

本技能用于扫描容器镜像中的漏洞与安全配置问题,指导在镜像构建、容器安全门禁、仓库镜像扫描、合规要求和容器部署加固等场景中使用扫描工具。

前置条件:需要容器运行时(Docker、Podman)、待扫描的容器镜像,以及安装相应扫描工具。

工具对比:Trivy(开源、快速、功能全面并支持 IaC)、Grype(开源、快速、准确并支持 SBOM)、Clair(开源、速度中等、支持镜像仓库集成)、Snyk Container(商业、快速、提供修复建议)、Docker Scout(商业、快速、提供 GitHub 集成)。

Trivy:可通过 brew install trivy 安装,或拉取 aquasec/trivy 镜像。支持扫描本地与远程镜像,可输出 JSON,按严重级别过滤,忽略未修复漏洞,并在发现漏洞时返回指定退出码;也支持扫描项目目录、Dockerfile 和 Kubernetes 清单。可通过 trivy.yaml 配置超时、严重级别、忽略未修复漏洞、退出码、漏洞类型和文件匹配模式。

Grype:可通过 brew install grype 安装。支持扫描镜像、从 SBOM 扫描、输出 JSON、按严重级别失败、扫描目录;可通过 .grype.yaml 配置更新检查、失败级别、输出格式、扫描范围和漏洞忽略规则(含原因与过期时间)。

Docker Scout:提供 quickview、cves、compare、recommendations 等命令,并可在 CI 中通过 docker/scout-action 输出 SARIF 报告。

CI 集成:资料给出 GitHub Actions 示例,并强调在采用前使用最小权限作业、将每个 action 固定到经审查的完整 SHA、在摘要固定的运行器镜像中提供已验证的固定版本工具,且工具准备过程中不得暴露凭据。

镜像仓库集成:包括 Amazon ECR(开启推送时扫描、获取扫描结果、手动启动扫描)、Azure ACR(启用 Defender for Containers)和 Google Artifact Registry(启用漏洞扫描并查看包漏洞)。

准入控制:给出 OPA Gatekeeper 的 K8sAllowedRepos 约束模板示例,以及 Kyverno 要求镜像扫描证明的策略示例。

扫描策略:可定义关键漏洞阻断、高危漏洞告警并限制数量、镜像最大年龄、仅允许批准的基础镜像等策略。

常见问题:误报可通过忽略文件并结合上下文验证处理;扫描过慢可通过缓存、增量扫描和优化镜像层缓解;未修复漏洞可更新基础镜像或实施补偿控制。

最佳实践:在 CI/CD 中扫描、使用最小基础镜像(Alpine、distroless)、定期更新基础镜像、实施准入控制、持续跟踪漏洞、设定严重级别阈值、记录已接受风险、使用多阶段构建。

限制:仅在授权范围内应用相关指导,破坏性步骤应先在非生产环境测试;本次为仅文档导入,上游脚本与模板未随附。