用途
Container Security 是一份面向容器镜像安全分析的指南,核心目标是“从基础镜像开始加固容器”——使用安全的基础镜像、最小化安装包、消除已知漏洞。它覆盖三类问题:操作系统包漏洞、应用依赖漏洞,以及 Dockerfile 配置问题。
主要能力
- 镜像识别:支持本地镜像、镜像仓库引用(如 gcr.io/project/app:v1)、sha256 摘要以及 .tar 归档文件。
- 扫描范围控制:可选择是否包含应用依赖漏洞、是否单独分析基础镜像漏洞、以及多架构镜像的目标平台(linux/amd64、linux/arm64)。
- 漏洞分类:将发现分为基础 OS 包、额外 OS 包(apt/yum 安装)、应用依赖(Node modules、Python 包)和 Dockerfile 问题,并标注用户可控制程度。
- 基础镜像分析:通过 exclude_base_image_vulns 参数区分“继承自基础镜像的漏洞”与“自身层新增的漏洞”。
- 修复指导:针对基础镜像升级、单个包更新、应用依赖升级分别给出 Dockerfile 或清单文件的修改建议。
- Dockerfile 最佳实践:固定具体标签、以非 root 用户运行、多阶段构建、最小化安装包。
- 验证流程:修复后重新构建镜像并再次扫描,对比修复前后的漏洞数量。
使用方式
- 识别要扫描的镜像(本地、仓库或归档)。
- 调用 snyk_container_scan,传入镜像名称;可选传入 Dockerfile 路径、开启 app_vulns、设置 severity_threshold 过滤严重级别。
- 分析结果:按来源分类,生成严重程度汇总表,列出优先修复项。
- 提供修复建议:升级基础镜像、更新包版本、修改应用依赖清单、改进 Dockerfile。
- 重新构建并再次扫描以确认修复效果。
示例调用: mcp_snyk_snyk_container_scan(image="app:latest", app_vulns=true)
适用场景
- 部署前对容器镜像进行安全扫描。
- 排查镜像中操作系统包与应用依赖的已知漏洞。
- 寻找更安全的基础镜像并评估迁移影响。
- 审查并加固 Dockerfile。
- 修复漏洞后验证修复结果。
限制与注意事项
- 指南强调“部署前必须扫描”,不要部署未扫描的镜像。
- 应固定具体镜像标签,避免使用 latest。
- 无法修复的漏洞需要记录并说明原因。
- 建议每周重新扫描镜像以发现新披露的 CVE。
- 优先使用多阶段构建以减小生产镜像体积和漏洞面。
- 常见错误处理:镜像本地不存在时先 docker pull;需要仓库认证时先 docker login;扫描超时可重试、先拉取到本地或改用 .tar 归档扫描。
- 关于具体收费、价格、平台支持范围等信息,资料中暂未提供。