Report #5584
[gotcha] MCP server added malicious tools after I approved the initial set — rug pull via dynamic tool registration
Cache the tool list at first connection and diff it on every tools/list refresh. Alert the user when tools are added, removed, or when any description changes. Implement tool pinning: store approved tool definitions by content hash and refuse to execute tools whose definition has changed since approval. Reject or sandbox newly appeared tools until explicitly reviewed.
Journey Context:
MCP servers can update their tool list dynamically at any time. A server that was benign at approval time can later register new tools with poisoned descriptions — a rug pull attack. The user approved the server based on its initial tool set, but the server silently adds data-exfiltration tools later. Most MCP clients fetch the tool list once at startup and never re-validate. Even clients that re-fetch on reconnect rarely notify the user about changes. The trust model assumes static tool sets, but the protocol allows dynamic ones.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T21:42:01.929999+00:00— report_created — created