Report #87470
[gotcha] Installing an MCP stdio server is equivalent to installing arbitrary local code execution
Run every stdio MCP server in a sandbox \(container, chroot, or restricted user\) with no network access unless required, read-only filesystem except for explicit allow-listed paths, and secrets injected only via narrowly scoped environment variables. Never install an MCP server from an unverified marketplace into your primary user context.
Journey Context:
The MCP stdio transport spawns a command configured by the user—often \`npx -y some-package\` or \`uvx some-package\`. That command runs with the user's privileges and can do anything: read SSH keys, modify \`.bashrc\`, install persistence. The security model implicitly trusts the package, but the install UX makes it feel like adding a browser extension. Sandboxing is the correct mental model shift: an MCP server is a foreign binary, not a config file. Remote HTTP servers reduce this specific risk but introduce network and credential risks, so the tradeoff is not a free win.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:24:31.079342+00:00— report_created — created