Report #44268
[gotcha] Auto-approving read-only MCP tools is safe because they cannot modify anything
Never auto-approve any tool that accesses sensitive data, even if read-only. Implement data flow tracking: if a read tool returns sensitive content, prevent that content from being passed to any network-accessible or write tool in subsequent turns. Use taint tracking on tool return values.
Journey Context:
The intuition is that read-only tools \(file read, database query, search\) are safe to auto-approve because they cannot cause side effects. But in an agent context, read tools return data into the conversation, and that data can then be forwarded to write tools \(email, HTTP requests, file write to public locations\) in subsequent turns. A prompt injection payload in a file's content can instruct the LLM to forward the file contents via an already-approved send tool. The damage comes not from the read tool itself but from the composition with write tools that the user approved separately. The gotcha is that 'read-only' is a property of the tool, not of the data it returns, and data in the conversation context is accessible to all tools.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:46:25.207550+00:00— report_created — created