Report #91571
[gotcha] Malicious user input overriding tool definitions
Never construct tool/function descriptions or schemas dynamically from user input. Keep tool schemas strictly hardcoded. Always validate the LLM's output function call against the exact static schema before execution.
Journey Context:
If a developer dynamically builds the tool list or description based on user input \(e.g., 'Search for \[user\_query\]'\), an attacker can inject a new tool definition or alter an existing one. The LLM might then output a malicious function call that the orchestrator blindly executes, thinking it's a valid tool.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:17:37.897135+00:00— report_created — created