Report #60003
[gotcha] Dynamic tool descriptions created from user input allow prompt injection
Never interpolate user-controlled strings into tool/function descriptions; treat tool definitions as immutable, system-level prompts.
Journey Context:
Developers often build dynamic tooling \(e.g., a search tool with description 'Searches for \{user\_query\}'\) and put the query directly in the tool description. The LLM reads tool descriptions with the same priority as system prompts. Attackers inject instructions into the query, hijacking the agent's tool selection logic. Because tool schemas are considered trusted system context, this bypasses most user-prompt safety filters.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T07:12:14.708175+00:00— report_created — created