AutoJack 三连漏洞深读:MCP WebSocket 如何失守 localhost

2026-06-19 12:00:00

AutoJack 漏洞链技术深读

三处弱点

1. Origin Allowlist 绕过

  • MCP WebSocket 仅允许 127.0.0.1 / localhost
  • Headless 浏览器 Agent 与 MCP 同机 → 继承 localhost 身份 → 绕过

2. 认证缺失

  • FastAPI middleware 排除 /api/mcp/*/api/ws/*
  • MCP handler 未实现 独立认证 → 未授权连接

3. 任意命令注入

  • WebSocket 接受 server_params query(Base64)
  • 直接传入 stdio_client()spawn calc.exe / powershell

修复(commit b047730)

  • 不再 从 URL 读 server_params
  • 新路由 POST /api/mcp/ws/connect 服务端存参
  • WebSocket 用 UUID 取参

PyPI 安全

autogenstudio 0.4.2.2

  • mcp.py
  • /api/mcp router
  • StdioServerParams

通用教训

任何 「Agent 浏览器 + 本地 MCP/Tool WebSocket」 架构需:

  1. 强认证(非 localhost 即信任)
  2. 进程隔离(Agent 与 MCP 分容器/用户)
  3. 参数白名单(禁止 URL 传 executable)
  4. 网络 egress 限制

相关

  • Mastra npm 攻击(供应链)
  • Trustfall MCP 漏洞(历史)