MCPChain — Transitive Privilege Escalation Across Multi-Server Tool Ecosystems

Published:

Status: Full run complete (two model families) · part of the agent-authorization and tool-security line of work.

The question

Can individually legitimate low-privilege tools compose into unauthorized high-impact behaviour through multi-step reasoning and cross-server delegation? MCPChain places 20 tools across 7 mock servers on a four-level privilege lattice and runs a short ReAct-style loop. The attack lives in the observation returned by a low-privilege read on one server — tool-output contamination — and tries to induce a high-impact call on a different server.

Results so far

Identical 72 episodes across two model families:

DefenseEscalation (Qwen2.5-7B)Escalation (Llama-3.1-8B)
none0.400.50
destination_only0.150.25
capability_bound0.000.00
  • The defense result replicates. Capability binding reaches zero escalation on both families and the ordering holds on both — the most reliable defense finding in its round.
  • A utility cost appears only on the second model, and withdraws the stronger claim. Benign false-block rate is 0.0 on Qwen but 0.50 on Llama — half the benign control episodes refused. Llama explores more (mean benign path length 2.5 versus 1.5), wandering to tools outside the capability’s scope on legitimate tasks, where the server-scope rule then refuses it. The “perfect separation at no utility cost” claim was withdrawn as a general one.

Pilot limitations, stated in the study’s own README: servers are mock objects rather than real MCP servers, the catalogue is 20 tools against the ~200 the full design calls for, and path length is capped at 3 steps, so deep escalation chains are unexplored.