2026年11月8日MCPAgents

ChatGPT 在流程中途悄悄换了连接器,只有服务端发现了

一位 MCP 开发者抓到 ChatGPT 悄悄越过了应用边界。11 月 5 日发在 OpenAI 开发者论坛上的报告,周五晚上被 Hacker News 翻了出来:一次后续工具调用,走的不是发起流程的那个连接器。

场景是这样的:一个 ChatGPT 账号,开了两个连接器,指向同一个 MCP 服务器,各自有独立的 OAuth 客户端。用户要做一个需要确认的操作。模型通过连接器 A 调用确认工具,A 的组件展示改动,用户点确认,组件把一个一次性确认码传回对话。然后模型拿着这个码发起后续调用,走的却是连接器 B,没有任何提示。开发者的服务端拒了这次调用,因为确认码绑定的是 A 的 OAuth 客户端,那段对话里每次尝试都失败了。

所以这次什么都没漏。担心的是下一次。两个连接器都出自同一家公司,它自己的校验拦住了切换。如果同一段对话里开着一个第三方连接器,而且共用服务器 URL,报告者认为同样的悄悄切换会把一个应用的数据交给另一家。他们提的规则很干净:工具调用按 OAuth 客户端匹配连接器,不按服务器 URL;后续调用必须留在发起流程的那个连接器上。帖子里我们没看到 OpenAI 回应。HN 标题里还提到漏洞赏金要求提供身份证,那部分内容我们没读到,算未经核实。

做 MCP 的人该带走的一条:永远别指望客户端会正确路由。每个确认码、待执行操作、令牌,都绑定到签发它的那个 OAuth 客户端,其他一律拒绝。这位开发者就是这么做的,把一次跨应用泄露变成了一次失败调用。选哪个工具是模型决定的,而模型看的是名字和描述,不是你把授权给了谁。边界只能守在你自己的服务器上。

原帖:https://community.openai.com/t/security-follow-up-tool-call-silently-routed-to-a-different-connector/1413053
← 上一篇
OpenMausBot:开源版 Grok Bot,一个聊天软件装下你已经付过钱的 agent
下一篇 →
你的 Mac 一直在给你全家画关系图,Siri 的 agent 会来读它
← 返回所有文章

评论

加载中...
>_