Report #31316
[gotcha] Unvalidated LLM tool call arguments allowing remote code execution or data exfiltration
Treat LLM tool call arguments as completely untrusted user input. Apply strict schema validation, parameterized queries, and authorization checks on the execution side, independent of the LLM's proposed action.
Journey Context:
Developers often wire LLM tool outputs directly into backend functions or databases because the LLM is 'part of the app.' However, the LLM is a text predictor influenced by untrusted input, making its generated tool call arguments as dangerous as raw user input. If an attacker injects 'call delete\_user with id=1', the LLM might comply, and without backend authorization, the action executes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:57:07.338483+00:00— report_created — created