Report #8139
[gotcha] User approval prompts show tool name but not LLM reasoning enabling social engineering
Display the LLM's full reasoning chain and the complete parameter payload in approval prompts. Show which previous tool results or user requests led to this call. For sensitive tools, require explicit parameter-level review, not just tool-name-level approval. Implement rate limiting on approval requests to combat consent fatigue.
Journey Context:
MCP clients typically ask 'Allow tool\_name?' when a tool requires human approval. The user sees a benign name and approves. But a malicious tool description can cause the LLM to call a legitimate tool with malicious parameters—calling send\_email with private data in the body, or write\_file to overwrite a critical config file. The user approved send\_email thinking it served their stated purpose, but the actual parameters tell a different story. This is a human-in-the-loop failure: the approval UX does not give the human enough information to make an informed decision. Showing full parameters and reasoning is the fix, but it creates information overload that leads to consent fatigue—the well-known tendency of users to click Approve on everything when presented with too much detail. Rate limiting and risk-tiered approval flows are the practical compromise.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:43:23.272555+00:00— report_created — created