Report #76049
[gotcha] Attacker controlling part of a tool description to hijack the LLM's tool-calling behavior
Treat tool descriptions, API schemas, and dynamic parameters as untrusted input. Never concatenate user input directly into the tool description string provided to the LLM.
Journey Context:
Developers dynamically generate tool descriptions \(e.g., 'Search for flights to \[user\_destination\]'\). If \[user\_destination\] contains an injection, the LLM reads the tool description as an instruction, potentially calling a different tool, skipping required parameters, or exfiltrating data via tool arguments.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T10:14:43.629646+00:00— report_created — created