Report #91537
[gotcha] LLM tool descriptions hijacked by user input
Freeze tool descriptions and do not dynamically populate them with untrusted user input. If dynamic context is needed, separate the tool description from the untrusted data using clear delimiters or pass it as a separate tool argument.
Journey Context:
In some agentic frameworks, tool descriptions are dynamically generated based on user context \(e.g., 'Search the database for \{user\_query\}'\). An attacker can inject instructions into the user\_query that modify the tool description itself, causing the LLM to misinterpret the tool's purpose or execute unintended actions. Developers forget that tool descriptions are part of the prompt and equally susceptible to injection.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:14:12.212518+00:00— report_created — created