TL;DR: A crafted Gmail message, Claude Desktop, and permissive MCP plugins were enough to produce code execution in Pynt’s test, showing that the danger lies in how trusted components compose rather than in any single vulnerable server. Context resets, untrusted input, and cross-tool invocation together create a governance gap that existing IAM and application controls do not fully address.
Editorial analysis by NHI Mgmt Group, based on content published by Pynt: “Code Execution Through Email: How I Used Claude to Hack Itself”.
Key questions
Q: What breaks when MCP integrations are allowed to pass untrusted input into command execution paths?
A: They stop being passive connectors and become execution surfaces.
Q: Why do compositional attacks matter more than isolated tool security in MCP systems?
A: Because isolated approval of each component does not control the behaviour of the chain.
Q: How can security teams tell whether an agent workflow is too easy to chain into abuse?
A: Look for any path where external content, model reasoning, and privileged tool calls can occur without a separate decision point between them.
Practitioner guidance
- Define composition-level trust boundaries Document where untrusted input can move from ingestion into model reasoning, tool selection, and execution-capable actions.
- Separate content handling from execution authority Ensure the system that reads external content cannot directly trigger tools with shell or write privileges unless a separate policy gate approves the transition.
- Reset review state between sessions Treat each session as a new governance event and verify whether prior safety reasoning, approvals, or red-team findings are being reused as if they still apply.
Bottom line: The article shows that code execution can emerge from an MCP composition even when no single component is vulnerable on its own.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Composition, not component weakness, is the real control boundary: The article demonstrates that secure-looking MCP parts can still form an exploitable system when trust flows across tools without a governance layer that understands the whole chain. That is a different problem from patching a server or hardening a plugin. Practitioners should stop reviewing MCP components one by one and start reviewing the permission path the composition creates.
A few things that frame the scale:
- 24,008 unique secrets were exposed in MCP configuration files in 2025 alone, the protocol's first year of widespread adoption, according to the State of Secrets Sprawl 2026.
- AI-related credential leaks surged 81.5% year-over-year in 2025, with the surrounding AI infrastructure leaking 5x faster than core LLM providers, according to the State of Secrets Sprawl 2026.
A question worth separating out:
Q: What should teams do before allowing shells or write access in an MCP host?
A: They should verify that the host cannot inherit trust from a planning step or a prior conversation when it reaches execution. If shell or write access exists, it needs an explicit policy barrier that evaluates the final action, not just the upstream content that inspired it.
👉 Read our full editorial: Compositional risk in MCP systems can trigger code execution