Report #7942
[gotcha] MCP clients auto-approve tool calls, silently converting blocked attacks into successful ones
Default to requiring explicit user approval for every tool invocation, especially for tools with side effects \(file writes, API calls, network access, shell execution\). Implement tiered approval: read-only tools can be auto-approved after initial review, but write/exec tools always require confirmation. Never auto-approve tools from newly-added MCP servers until they have been individually reviewed. Log every auto-approval decision.
Journey Context:
Many MCP client implementations and agent frameworks default to auto-approving tool calls because requiring approval for every call creates friction and slows down the agent. The MCP spec includes a human-in-the-loop authorization model, but it is optional and many clients bypass it entirely. The gotcha: auto-approval converts a prompt injection from 'the LLM wanted to do something bad but the user stopped it' into 'the LLM did something bad and nobody knew.' When tool poisoning or indirect injection causes an agent to call tools it should not, auto-approval means the attack executes silently with full privileges. The entire security model of agentic systems assumes human oversight at action boundaries — auto-approval removes that boundary. The tradeoff is real \(approval friction reduces velocity\), but the default should be safe, not fast.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:12:29.105175+00:00— report_created — created