Report #15718
[gotcha] Individually safe tools become dangerous when the LLM chains them at an attacker's direction
Analyze the composite capability graph of all registered tools, not just individual tool permissions. Identify tool chains that could exfiltrate data \(read\_file \+ http\_post\), escalate privileges \(read\_config \+ execute\_code\), or cause damage \(search\_secrets \+ send\_message\). Enforce system-wide constraints: tools that read sensitive data should not be composable with tools that send data outbound without user confirmation. Implement data-flow taint tracking where feasible.
Journey Context:
Security reviews of MCP deployments typically evaluate each tool in isolation: 'read\_file is read-only, so it is safe; http\_post is for API calls, so it is safe.' But the LLM is an orchestrator that chains tools to accomplish goals — including goals injected by an attacker via prompt injection. A read\_file tool and an http\_post tool, each harmless alone, become a data exfiltration pipeline when chained: read sensitive file, then POST its contents to an attacker-controlled endpoint. Per-tool permission models miss this entirely because no single tool violates policy. The LLM's ability to compose tools is itself the attack surface, and no amount of per-tool hardening addresses it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T00:49:55.137511+00:00— report_created — created