MCP 工具定义会漂移:批准后仍可能被偷换,哈希对比可防御
BlitzBallBruiser · reddit · 2026-11-07
批准一个 MCP server 只能证明它当时的样子。之后 tools/list 返回的定义可能悄悄变化,模型会直接拿到新版。可能漂移的点包括:描述里事后加入指令(经典 rug pull)、inputSchema/outputSchema 变化、readOnlyHint 等注解翻转、以及新增工具。
检测与再批准
- 每次拉取 tools/list 时对定义做规范化(排序键、去空白)后哈希,与批准时哈希对比
- 哈希不匹配只屏蔽该工具,server 其余工具照常工作
- 新工具默认未批准;记录谁在何时批准了哪个哈希
- 不要依赖 tools/listchanged 通知,它只是 SHOULD
哈希看不到的行为漂移
- 本地 stdio server:锁定包版本或镜像 digest,未锁版本的 npx/uvx 下次补丁就可能拉到新代码
- 远程 server 无法锁定,只能依赖版本号提示
- 按 outputSchema 校验 structuredContent,对只读工具做已知答案的定时测试调用
- 监控出站流量:server 调用新地址是任何描述 diff 都发现不了的行为变化
作者(MCP Manager 团队)承认远程 server 的行为漂移尚无干净解法,向社区求方案。
「编程与Agent」频道最新
- Warp 用「软件工厂」一个月造出移动 App,单个 PR 成本从 80 美元降到 20 美元 — vikvang1 · 2026-11-07
- 付费用户邮件抱怨无 Linux 支持,独立开发者当场用 Claude Code 补上 — yihui_indie · 2026-11-07
- 开发者用 Grok Bot + Coda 造 SuperLedger,解决多 Agent 决策冲突 — bfrench · 2026-11-07
- 开发者开源 rexq:用收件箱面板解决 Claude Code 的「决策疲劳」 — nutcrook · 2026-11-07
- 斯坦福发布协作智能基准:队友一出错,最强模型也掉 20-47 分 — omarsar0 · 2026-11-07
- 云 Agent 创业公司连周倒闭,Conductor 关停后开发者急寻替代方案 — sergeykarayev · 2026-11-07