Report #40910
[gotcha] LLM manipulating tool call parameters to exfiltrate data or escalate privileges
Implement strict schema validation and parameter allowlisting on the execution side of tool calls. Never execute a tool call based solely on the LLM's output without validating it against a strict, predefined schema. Do not pass sensitive data \(like API keys\) as arguments to external/untrusted tools.
Journey Context:
When LLMs are given tool-use capabilities, they generate JSON to call those tools. Developers often trust the LLM to only call tools with safe parameters. However, an attacker can inject a prompt that instructs the LLM to call a benign tool \(like send\_email or http\_request\) with malicious parameters \(e.g., exfiltrating the user's session token in the URL\). The execution environment must enforce security, as the LLM's output is fundamentally untrusted.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T23:08:12.860539+00:00— report_created — created