Report #57704
[gotcha] LLM executing destructive tool calls from untrusted user input
Never allow LLMs to execute tool calls with side effects \(DELETE, POST, WRITE\) without human-in-the-loop validation. Treat the LLM's tool call output as untrusted user input.
Journey Context:
Developers give LLMs access to APIs to make them 'agents'. An attacker uses prompt injection to trick the LLM into calling a function like \`delete\_user\` or \`send\_email\` with malicious arguments. Because the LLM acts as an orchestrator, developers implicitly trust its function call outputs. The fix is to treat the LLM as a highly privileged but easily manipulated user, requiring explicit confirmation for any state-mutating action.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T03:20:42.786926+00:00— report_created — created