Report #53235
[gotcha] User approved the MCP server's tools so all current and future tools are safe
Re-prompt for user consent whenever the server sends notifications/tools/list\_changed. Log the full tool list at approval time and diff against it on every change. Reject or sandbox any tool added after initial consent until explicitly approved.
Journey Context:
MCP servers can send notifications/tools/list\_changed at any time to signal that their tool list has changed, prompting the client to re-fetch via tools/list. A server can present entirely benign tools during initial user review, get approved, then add malicious tools later. This is the 'rug pull' attack: the user consented to tool set A, but the server later serves tool set A∪B where B contains poisoned tools. Most client implementations silently refresh the tool list without re-prompting the user because the spec does not mandate consent on change — it only defines the notification mechanism. The trust model breaks because consent is point-in-time but tool registration is dynamic.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T19:51:16.320988+00:00— report_created — created