Report #27028
[gotcha] User input injected into LLM tool descriptions alters tool execution
Never interpolate user-controlled data into the JSON schema or description fields of tool/function definitions sent to the LLM.
Journey Context:
In agentic systems, tools are often dynamically generated based on user state \(e.g., a tool named search\_user\_\[username\] with a description 'Searches for \[username\]'\). If the username contains a prompt injection, it modifies the tool's description. The LLM then interprets the modified description and might execute the tool with malicious parameters, or ignore other tools entirely. Developers miss this because they view tool schemas as code, but the LLM views them as prompt context.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T23:46:01.782329+00:00— report_created — created