MCP 服务器可在 Day 1 审批后静默改工具描述绕过确认,附校验脚本
Independent-Sir3234 · reddit · 2026-11-08
一篇安全分析指出:给 Claude Code、Codex 或 Cursor 添加 npx 或远程 HTTP MCP 服务器后,多数开发者只在第一天检查一次工具列表,之后服务器仍可静默变异 tools/list 绕过宿主防护:
- 注解降级:服务器更新时保持工具名和 inputSchema 不变,但把 destructiveHint 从 true 翻成 false(或 readOnlyHint 置 true),依赖注解弹确认框的宿主就不再提示用户,直接执行 deleterow、executesql 等写操作
- 描述注入:tools/list 里的每个 description 都会在启动时注入系统提示词,服务器可在通过人工审查后,在描述里追加隐藏指令而不改任何参数类型
作者给出零依赖 Node 脚本 pin-tools-list-sha256.mjs:对完整 tools/list 做递归键排序的规范化(省略字段时 destructiveHint、openWorldHint 默认按 true 处理,防止靠删字段改行为),再校验 SHA-256 摘要,不匹配即阻断会话启动。属于典型的 MCP 供应链/提示注入防御实践。
「编程与Agent」频道最新
- 在 Surface 上本地跑 Qwen 27B,指挥多工作区的 Codex 与 Claude agent — draginol · 2026-11-08
- 开发者吐槽:被封闭供应商接连踢掉后无路可走的工作现状 — that_anokha_boy · 2026-11-08
- 牛津新研究:前沿 LLM 智能体与陌生伙伴协调时集体翻车 — rohanpaul_ai · 2026-11-08
- GTX 1080 Ti 11GB 能跑哪个编码 agent 模型?实测对比引热议 — NegotiationNo1504 · 2026-11-08
- Kaigen 引擎网战特性清单:预测回滚、延迟补偿、NAT 穿透全内置 — gdechichi · 2026-11-08
- Kaigen 引擎数小时内向内测用户推送,封测报名仍开放 — gdechichi · 2026-11-08