Report #43225
[gotcha] LLM function calling executing unintended API actions
Apply the principle of least privilege to tool definitions. Never expose destructive endpoints \(e.g., \`delete\_user\`, \`execute\_sql\`, \`send\_email\`\) directly. Require human-in-the-loop approval for high-impact actions and validate all tool call parameters against a strict schema on the application side.
Journey Context:
Developers give the LLM access to powerful backend APIs to make the app 'smart,' assuming the system prompt will prevent misuse. However, indirect prompt injection can override system prompts, causing the LLM to invoke destructive tools with attacker-controlled parameters.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T03:01:42.418753+00:00— report_created — created