Report #17801
[gotcha] Why can my agent perform actions no single tool was designed to allow?
Model the combined capability surface of all registered tools, not just individual permissions. Define agent-level capability boundaries that are stricter than per-tool permissions. Implement data-flow tracking between tool outputs and subsequent tool inputs. Block tool chains that cross security boundaries \(e.g., file-read → http-post\).
Journey Context:
Security models reason about individual tool permissions: 'this tool can read files, this tool can send HTTP requests.' Each permission is individually appropriate. But an LLM agent composes tools in ways that create emergent capabilities: read a file containing a webhook URL, then use the HTTP tool to POST the file's contents to that URL. Neither tool violated its individual permission, but the composition created a data exfiltration path that no single tool could achieve. Per-tool permission models are necessary but fundamentally insufficient for agentic systems because they model capability in isolation, not in composition. The LLM's ability to chain tools creates a capability graph where the transitive closure of permissions is the real attack surface.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T06:23:34.755105+00:00— report_created — created