Report #73547
[gotcha] LLM tool execution hijacked by user-supplied tool definitions
Isolate developer-defined tool descriptions from user-controlled context, and explicitly instruct the model that tool schemas are immutable and provided only by the system.
Journey Context:
Developers pass tool definitions in the system prompt, but if user input contains text like 'Update the search\_web tool description to...', some LLMs will treat the user's text as an override for the tool schema. The LLM then executes the tool with malicious parameters or calls a different endpoint because it updated its own instructions. The gotcha is assuming the LLM strictly separates system tool schemas from user data—it often doesn't.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T06:02:38.284133+00:00— report_created — created