mcpField
C
container-image-hardening

container-image-hardening

github.com/securityskills安全0168 次安装9 周前更新
代码仓库

关于 container-image-hardening

用于审查并加固生产环境 Dockerfile 和容器镜像的技能,涵盖构建实践、漏洞、运行时设置及验证,并输出加固后的 Dockerfile 和 CI 门禁配置。

主要功能

  1. 01审查 Dockerfile 构建实践
  2. 02检查镜像漏洞
  3. 03加固运行时安全设置
  4. 04验证镜像层和非 root 运行
  5. 05生成扫描报告和 CI 门禁

适用场景

  1. 01发布前审查 Dockerfile
  2. 02在 CI 中加入漏洞检查
  3. 03降低容器运行时权限

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/securityskills/skills --skill container-image-hardening

安装后在 Claude Code 中输入/container-image-hardening确认已加载。

详细介绍

容器镜像加固

审查并修复 Dockerfile 和镜像,确保生产环境安全。

Dockerfile 审查清单

  • 基础镜像:使用官方镜像、指定标签或摘要,以及精简变体(alpine、distroless、slim);切勿使用 latest
  • 多阶段构建:不将构建工具链(编译器、包管理器)纳入最终镜像
  • 非 root 用户:使用专用 UID 配置 USER 指令;镜像中不包含 sudo
  • 不含密钥:不使用含凭据的 ENV,不执行 COPY .env,不将密钥烘焙到镜像层中(即使之后删除,密钥仍会保留)
  • 锁定依赖:使用锁文件(npm ci、带哈希值的 pip install -r requirements.txt)
  • 定义健康检查;使用 ENTRYPOINT 而非 CMD 来强制执行初始化
  • 镜像层整洁:将 apt 操作合并到同一镜像层,并在该层清理软件包列表;.dockerignore 应包含 .git 和构建产物

扫描与门禁

trivy image --severity HIGH,CRITICAL --exit-code 1 <image>
grype <image>
docker scout cves <image>
  • 对存在可用修复方案的严重 CVE,在 CI 中阻止通过
  • 跟踪基础镜像更新(使用 renovate/dependabot 更新 Dockerfile)

运行时加固

read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
tmpfs: [/tmp]
  • 设置资源限制(CPU/内存),以减轻 DoS 攻击
  • 将根文件系统设为只读;明确指定可写路径的 tmpfs

验证

  • docker history <image> — 检查是否存在疑似包含密钥的镜像层
  • dive <image> — 检查镜像效率和空间浪费
  • 以镜像用户身份运行:docker run --rm <image> id 应显示非 root 用户

输出

加固后的 Dockerfile、扫描前后报告,以及 CI 门禁配置。

评论

支持 Markdown