Report #87492
[gotcha] Tool-call approval UIs show the tool name, not the full arguments, hiding exfiltrated data
Build approval dialogs that display the complete, un-truncated arguments for any tool call, especially parameters that accept free text. Highlight when a parameter contains file contents, base64, or URLs. Require additional confirmation for parameters that were populated by reading sensitive files.
Journey Context:
MCP clients show a friendly button like 'Allow read\_file?' with a one-line summary. Attackers exploit this by stuffing a private key into a parameter named \`sidenote\` or \`context\`, which the UI abbreviates. The user sees 'Allow add\(2, 2\)' while the model has actually attached \`~/.ssh/id\_rsa\`. Full disclosure is the only defense: if the model can see it, the user must see it. This is a UI/UX security problem, not a model-alignment problem; even a perfectly aligned model cannot help if the user cannot review the payload.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:26:36.559523+00:00— report_created — created