mcpField
D
Docker Compose Audit

Docker Compose Audit

远程服务
github.com/UnbearableDev安全021 周前更新
代码仓库

关于 Docker Compose Audit

Docker Compose Audit 是用于静态检查 docker-compose.yml 安全问题的 MCP 服务。它为开发者和 Agent 提供带严重级别的发现项、修复说明及 YAML 修复片段,便于审查 Compose 配置。

主要功能

  1. 01审计 Compose YAML 或 HTTPS URL
  2. 02检查权限与网络风险
  3. 03检查密钥、卷和资源限制
  4. 04审查镜像与运行周期设置
  5. 05按严重级别过滤并分类检查
  6. 06发现项附修复说明和 YAML 片段

适用场景

  1. 01部署前审查 Compose 文件
  2. 02查找暴露端口或高风险挂载
  3. 03识别硬编码密钥和缺失的限制

MCP 相关

向 MCP 客户端提供完整审计及按类别检查工具,可处理提交的 Compose YAML 或公开 HTTPS URL。发现项包含严重级别、修复说明和 YAML 修复片段。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://unbearable-dev--docker-compose-audit.apify.actor/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://unbearable-dev--docker-compose-audit.apify.actor/mcp需要授权

工具

详细介绍

Docker Compose 安全审计

用于审计 docker-compose.yml 文件安全配置错误的 MCP 服务。提供 Trivy 级别的检查目录,专为 AI Agent 设计——每条发现都包含严重性评级、完整的修复说明,以及可直接粘贴的 YAML 修复片段。

由 Unbearable Labs 开发。按事件付费——仅在运行审计时付费。


可用平台

  • Apify Actor Store — 主要平台,按量计费(PPE)
  • MCPize — 等待提交
  • MCP.so — 等待提交
  • PulseMCP — 等待提交
  • Smithery — 等待提交
  • Glama — 等待提交

新闻简报: Unbearable TechTips Weekly · 所有 Actor: github.com/UnbearableDev

功能

让任何支持 MCP 的客户端(Claude Desktop、Cursor、n8n、Make、Zapier、自定义 Agent)连接到此服务,将 docker-compose.yml 的内容交给它,即可获得包含以下内容的结构化报告:

  • 严重性 — 高 / 中 / 低 / 信息
  • 服务 — 受该问题影响的 compose 服务
  • 说明 — 存在的问题及其重要性
  • 修复建议 — 应对措施
  • 修复片段 — 可直接粘贴到文件中的 YAML

工具

工具用途
audit_compose(compose_yaml? | compose_url?, min_severity='low')运行所有检查并返回完整报告
check_privilege(...)仅检查容器权限和 capability 问题
check_network(...)仅检查网络暴露问题
check_filesystem(...)仅检查卷挂载和文件系统问题
check_secrets(...)仅检查密钥管理问题
check_resources(...)仅检查资源限制问题
check_image_hygiene(...)仅检查镜像标签 / 注册表 / 固定版本问题
check_runtime_lifecycle(...)仅检查健康检查 / 重启 / 初始化问题
check_logging(...)仅检查日志驱动 / 轮转问题
check_compose_hygiene(...)仅检查弃用字段 / Compose 规范问题
list_checks(category?)浏览完整检查目录

所有运行审计的工具都接受相同的输入:

  • compose_yaml(字符串)— 直接粘贴 YAML 内容,或
  • compose_url(字符串)— 用于获取文件的公开 HTTPS URL(例如 GitHub raw URL)

请提供其中一项,且只能提供一项。min_severity 默认为 low(过滤掉 info 级别的发现);设为 medium 或 high 可进一步筛选。

响应示例(已截断)

{
  "summary": {
    "total_findings": 14,
    "by_severity": {"high": 3, "medium": 6, "low": 5, "info": 0},
    "by_category": {"privilege": 4, "network": 3, "secrets": 2, "...": 5}
  },
  "findings": [
    {
      "id": "DCS-002",
      "category": "privilege",
      "severity": "high",
      "service": "web",
      "title": "Privileged mode enabled",
      "description": "Service 'web' has `privileged: true`...",
      "remediation": "Remove `privileged: true`. If you need specific capabilities...",
      "fix_yaml_snippet": "    # remove `privileged: true`; if needed, use cap_add or devices selectively",
      "references": ["CIS-Docker-5.4", "NIST-800-190"]
    },
    ...
  ]
}

定价

事件USD
任意审计 / check_* 工具调用$0.02
list_checks 发现调用$0.005

仅在调用工具时付费。无订阅费,也无月度最低消费。

检查目录(v1 中有 25 项,目标增至 54 项)

类别当前检查项
权限Root 用户(DCS-001)、特权模式(DCS-002)、危险 capability(DCS-003)、cap_add: ALL(DCS-004)、缺少 cap_drop: ALL(DCS-005)、缺少 no-new-privileges(DCS-006)
网络network_mode: host(DCS-010)、端口绑定到 0.0.0.0(DCS-011)、暴露 SSH 端口(DCS-013)、暴露数据库端口(DCS-014)
文件系统挂载 /var/run/docker.sock(DCS-018)、挂载主机根目录(DCS-019)、敏感主机路径(DCS-020)
密钥在 env 中硬编码密钥(DCS-026)、未使用 Docker secrets 的密钥模式 env(DCS-027)
资源未设置内存限制(DCS-032)、未设置 CPU 限制(DCS-033)、未设置 PID 限制(DCS-034)
镜像管理未固定版本 / :latest 镜像(DCS-037)
运行时生命周期未设置健康检查(DCS-043)、未设置重启策略(DCS-044)
日志未设置日志驱动(DCS-048)、未设置日志轮转(DCS-049)
Compose 规范已弃用的 version: 字段(DCS-051)、depends_on 未设置健康检查条件(DCS-052)

使用 list_checks 获取包含 ID、严重性和标题的权威最新目录。

从 Claude Desktop 连接

添加到 MCP 配置中:

{
  "mcpServers": {
    "compose-audit": {
      "transport": "streamable-http",
      "url": "https://YOUR-ACTOR-URL.apify.actor/mcp"
    }
  }
}

(启动 Actor 后,请将 YOUR-ACTOR-URL 替换为 Apify Store 页面上显示的 Standby URL。)

限制

  • YAML 大小: 每次审计调用上限为 1 MB
  • URL 获取: 超时时间为 5 秒,最多重定向 3 次,仅支持 HTTPS
  • 会话超时: 闲置 5 分钟后超时

暂不涵盖的内容

仅对 compose 文件进行静态分析。本版本不涵盖以下内容:

  • 镜像漏洞扫描(请使用 Trivy / Grype)
  • 实时容器检查
  • Kubernetes / Helm 清单(涉及不同的范围)
  • Dockerfile 专项 lint(请使用 Hadolint)

v1.x → v2 路线图中的下 29 项检查包括构建上下文安全、额外的功能检查、构建参数中的密钥模式检测,以及注册表信任验证。

来源 / 联系方式

如需反馈问题、想法或误报,请在 GitHub 仓库中提交问题,或发送邮件至 [email protected]。

获取每周通讯(https://unbearabletechtips.beehiiv.com)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。