Report #9677
[gotcha] LLM agent calls high-privilege tools based on low-privilege tool output — confused deputy privilege escalation across MCP servers
Classify connected MCP servers and their tools into privilege tiers. Enforce that tool results from a lower-tier server cannot auto-trigger calls to tools in a higher tier without explicit user confirmation. Implement a runtime permission boundary that intercepts cross-tier tool calls regardless of the LLM's reasoning chain. Never let the LLM's decision-making be the only gate between a low-trust output and a high-trust action.
Journey Context:
When multiple MCP servers with different privilege levels connect to the same agent, a low-privilege server \(e.g., a web search tool\) can return content containing prompt injection that causes the LLM to call a high-privilege tool \(e.g., a filesystem writer or shell executor from another server\). The LLM acts as a confused deputy — it holds authority to call both tools, and the low-privilege server exploits this by manipulating the LLM's reasoning through its output. This is not a vulnerability in any single server but in the composition. Per-server permission models miss this because each server's tools look fine in isolation. The attack crosses server boundaries through the LLM's context window.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T08:47:19.265140+00:00— report_created — created