SuperAPI AI 工具集

docker-security

安全与审计

查看项目

更新于 10-16 08:07

技能介绍

用途:为 Docker 容器与镜像实施安全最佳实践,覆盖加固、漏洞扫描与密钥管理,参照 CIS Docker Benchmark。

主要能力:

  1. 安全加固。强制使用非 root 用户(addgroup/adduser、USER app);只读文件系统与 tmpfs(docker run --read-only --tmpfs /tmp:rw,noexec,nosuid);裁剪能力(--cap-drop ALL 并按需 --cap-add);完整加固运行参数示例包括 --security-opt no-new-privileges:true、--user 1001:1001、--pids-limit 100、--memory 512m。
  2. 漏洞扫描。Trivy:trivy image myapp:latest,可按 --severity CRITICAL,HIGH 过滤,CI 中用 --exit-code 1,支持 --format json --output report.json。Docker Scout:docker scout cves myapp:latest,支持 --format markdown。
  3. 密钥管理。Docker Compose secrets 配合 *_FILE 环境变量;BuildKit secrets 通过 RUN --mount=type=secret,id=npmrc,target=/root/.npmrc 与 docker build --secret id=npmrc,src=.npmrc。
  4. 安全 Dockerfile 示例:多阶段构建,最终基于 distroless 镜像并以 USER nonroot 运行。
  5. 参数:image(string,非必填,待扫描镜像)、severity(enum,默认 HIGH,可选 CRITICAL/HIGH/MEDIUM/LOW)、compliance(string,默认 CIS,可选 CIS/NIST/SOC2)。

使用方式:以 Skill("docker-security") 调用;CIS 基准检查可运行 docker run --rm --net host --pid host -v /var/run/docker.sock:/var/run/docker.sock docker/docker-bench-security。相关技能:dockerfile-basics、docker-production。

适用场景:容器构建与运行阶段加固、镜像漏洞扫描、CI 集成、密钥注入。

限制与排错:常见错误包括 permission denied(非 root 用户,需修正文件属主)、read-only filesystem(只读模式下用 tmpfs 挂载)、operation not permitted(缺少能力,需添加特定 cap)。回退策略:先不加限制启动,逐步添加安全选项并逐项测试;调试清单包括确认是否以非 root 运行(docker exec <c> id)、是否已扫描漏洞、是否裁剪能力、密钥是否未放入环境变量。定价、平台支持等未在资料中提供。