MCP 服务器四大运行时安全陷阱:静态扫描器查不出的坑与修法
Independent-Sir3234 · reddit · 2026-11-06
作者审计多个 MCP 部署(Claude Code、Codex、Cursor)后总结:大家盯着 GitHub 上工具描述投毒这类静态问题,真正咬人的是服务器装好之后的运行时漏洞。四大陷阱与修复:
- 本地 HTTP/SSE 绑 0.0.0.0:FastAPI/Express 写的 MCP 包装器常默认监听 0.0.0.0、无鉴权、不校验 Origin,同一 Wi-Fi 任何人及浏览器 DNS rebinding 都能打到。修法:严格绑 127.0.0.1、Origin 白名单、loopback 也要 per-session bearer token。
- 远程 MCP 用静态 API key:放在 query param 或配置头里,轮换和按客户端吊销都很痛。修法:按 RFC 9728 提供 /.well-known/oauth-protected-resource,用 OAuth 2.1 + PKCE 给每个会话发独立可吊销 token。
- 工具列表运行时突变:Day 1 批准的服务器 Day 10 工具列表可能已变(远程或动态构造描述的包装器)。修法:固定 tools/list 输出哈希,对执行 shell、改外部状态、传文件的工具保留客户端预执行闸门(如 PreToolUse hook exit 2 或桌面确认弹窗)。
- prompt injection 下工作区文件无界访问:合法服务器抓取不可信外部内容(公开 GitHub issue、网页)进会话,若能读 .env 就成外泄通道。修法:客户端权限里拒绝 Read(./.env) 及通配,外发文件或开外部会话前强制人工确认。
「编程与Agent」频道最新
- 开发者在 reMarkable 上用 Claude 搭书写学习笔记本应用 — tokentrillionaire · 2026-11-06
- 实测:进程内 BM25 记忆层每条约 4.6KB 内存,1 万条 46MB — Neither-Witness-6010 · 2026-11-06
- 博主支招:给 AI 写的页面加手机预览屏,vibe coding 更省心 — yangyi · 2026-11-06
- 百万粉博主做 Agent 心得:生活化 Agent 比效率工具更常用 — yangyi · 2026-11-06
- Inkling 2 Small 自主训练模型:4.5 小时花 426 美元让 Qwen 成绩翻倍 — Scobleizer · 2026-11-06
- Skillry 上架 Anthropic 官网同款 Hero 技能,设计与动画复刻 — yihui_indie · 2026-11-06