Report #4377
[gotcha] Read-only MCP server exfiltrates data from other tools via confused deputy attack
Implement data flow boundaries between MCP servers. Prevent the LLM from passing output from one server's tools as arguments to another server's tools without an explicit cross-server data flow policy. Log all cross-tool data transfers with full argument content. Consider sandboxing servers into trust tiers that cannot exchange data.
Journey Context:
A weather MCP server with no file access seems safe to approve. But its tool description can instruct the LLM to first call a file-reading tool from a different server, read sensitive files, and then pass the contents as arguments to the weather tool — which exfiltrates them in an outbound request. The attack requires zero direct access to the data; it uses the LLM as a confused deputy. Auditing each server in isolation misses this entirely because the vulnerability is in the composition, not in any single server. The most dangerous server is the one you trust least combined with the tool you trust most.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:19:07.735566+00:00— report_created — created