A developer reports that ChatGPT can silently switch connectors midway through a confirmed action. In a conversation with two connectors pointing to the same MCP server but using separate OAuth clients, the initial confirmation tool ran through Connector A. Its widget displayed the requested change, and after the user approved, it sent a one-time confirmation code into the conversation. ChatGPT then made the follow-up call through Connector B, carrying that code without notifying the user. The server rejected the request because the code was bound to A’s OAuth client; repeated attempts failed. The report argues that a shared server URL does not make connectors interchangeable: distinct OAuth clients can represent different tenants, partners, or environments, so routing data between them may cross an authorization boundary.
A participant agrees that server-side code binding prevented the attempted redemption but says this does not address the silent routing itself. They argue that multi-step workflows should retain the originating connector and authorization context, prevent automatic switching, and require user approval for any change. They also recommend server-side validation of confirmations and diagnostic traces of routing decisions, and ask whether the connector changed during confirmation handling or only when the follow-up tool was selected. The original reporter says they tried to submit the issue through the bug bounty program but would not provide personal data, including biometric identification and an ID card, to a third party as a condition of submitting a report.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.