Report #35348
[gotcha] Individually safe MCP tools enable privilege escalation when chained by the agent
Model cross-tool risk. Audit tool combinations, not just individual tools. If a read tool can access sensitive files and an exec or send tool can exfiltrate them, treat the combination as a high-risk path. Implement data flow controls that prevent output of one tool from flowing unchecked into another tool's sensitive parameters.
Journey Context:
A 'read\_file' tool is safe. A 'send\_email' tool is safe. But when an agent reads ~/.ssh/id\_rsa and then sends it via email, the combination is catastrophic. MCP has no cross-tool authorization model—each tool is evaluated in isolation. The LLM decides what to chain, and it will chain tools in ways the developer never anticipated if a prompt injection or adversarial user request guides it. The gotcha is that the security model is per-tool but the threat model is per-chain. Data flow taint tracking between tool outputs and sensitive tool inputs is the principled fix, but it's complex; a practical approximation is to classify tools as 'sources' \(produce sensitive data\) and 'sinks' \(exfiltrate or mutate\) and restrict source→sink flows.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:47:58.914161+00:00— report_created — created