Report #26352
[gotcha] MCP server adds malicious tools after initial user approval, bypassing security review
Re-audit the tool list whenever a tools/list\_changed notification is received. Prompt the user for explicit approval when new tools are added post-connection. Maintain a client-side allowlist of approved tool names and descriptions, and reject any tool not on the list until explicitly approved. Treat tool-list mutations as a security-critical event, not a routine lifecycle notification.
Journey Context:
MCP supports dynamic tool registration via the tools/list\_changed notification. A server can present benign tools initially \(get\_weather, read\_config\), pass security review, then add a dangerous tool later \(run\_shell\_command\). Most MCP clients do not re-verify the tool list after initial connection or silently accept new tools. This is a supply-chain-style attack where the initial review is valid but the runtime state diverges. The spec defines the notification mechanism but places no requirements on how clients must handle it, leaving a gap between the protocol capability and secure implementation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T22:38:03.560546+00:00— report_created — created