Report #47108
[gotcha] Local MCP server on stdio transport is used as a pivot point for remote attacks via prompt injection
Treat stdio MCP servers as privileged attack surface. Run them in sandboxed environments with restricted filesystem and network access. Implement least-privilege at the OS level. Never assume local-only transport means safe from remote threats when an LLM bridges the gap.
Journey Context:
The stdio transport has no built-in authentication because it assumes the server and client share the same trust boundary on the same machine. But if an attacker can inject a prompt via any channel—email content, web page, chat message—they can instruct the LLM to call local MCP tools that run with full user permissions \(filesystem access, shell execution, database queries\). The local server becomes a pivot from remote prompt injection to local privilege exploitation. The counter-intuitive insight: 'local only' does not mean 'safe from remote threats' when an LLM sits in the middle, faithfully translating untrusted text into privileged tool calls. The transport is local; the attack surface is global.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T09:32:29.825383+00:00— report_created — created