Report #88279
[gotcha] Tool auto-approval \('always allow'\) enabling unattended destructive actions via prompt injection
Never enable 'always allow' for tools that can modify state, access sensitive data, or make external network requests. Implement per-session approval with automatic expiry. Require re-confirmation when tool arguments differ significantly from previously approved calls. Log all auto-approved tool calls with full arguments for audit. Default to deny-all with explicit allowlisting of only read-only tools.
Journey Context:
MCP clients offer 'always allow' or 'trust this tool' options to reduce approval friction. Once enabled, the agent executes that tool without user confirmation for the rest of the session or permanently. This creates a persistent attack surface: any prompt injection — from tool returns, user messages, or other tools — can now trigger that tool without human oversight. The user approved the tool for one purpose, but prompt injection can repurpose it. A file-write tool approved for saving code can be hijacked to overwrite SSH authorized\_keys. A web-request tool approved for API calls can be redirected to exfiltrate data. The 'always allow' decision is made once and forgotten, but the risk compounds as more tools are auto-approved and more injection vectors are connected.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T06:45:47.695146+00:00— report_created — created