AI in the enterpriseAnalysis
How the Model Context Protocol lets an AI agent call tools, why its local mode runs any command it is given, and five controls to set, from OX Security's research of 15 April 2026.
MCP is about 16 months old and already sits under most AI assistants a business touches. Anthropic open-sourced it on 25 November 2024 as “a new standard for connecting AI assistants to the systems where data lives”.4 By December 2025 Anthropic counted more than 10,000 active public MCP servers and 97 million monthly SDK downloads, with ChatGPT, Gemini, Microsoft Copilot, Cursor and Visual Studio Code among the adopters.5 If your developers use an AI coding assistant, or someone has connected a chatbot to your CRM or ticket queue, MCP is probably involved. The question this piece answers: what actually happens when an agent “uses a tool”, why a security firm can say that the same machinery runs an attacker’s commands, and what a company should set so its own agents cannot be turned.
MCP defines two standard ways for a client to reach a server.6 With Streamable HTTP, the server is a web service somewhere, reached at an address such as https://example.com/mcp. With STDIO, the server is a program on the same machine: “The client launches the MCP server as a subprocess,” then talks to it through the program’s standard input and output. The specification adds that “Clients SHOULD support stdio whenever possible.”6
To launch that program, the client needs to know what to run, so each STDIO server is a configuration entry holding a command and its arguments. OX’s intended example is python myapp.py. Its malicious one is rm -rf /, which deletes everything the process can reach.2 The client does not check that the command is an MCP server before running it. In OX’s words, “if the command successfully creates an STDIO server it will return the handle, but when given a different command, it returns an error after the command is executed.”2
The check comes after the command has already run
How an MCP client starts a local (STDIO) server from its configuration, as described by OX Security, 15 April 2026
A configuration entry names a command
For example python myapp.py: a program and its arguments, typed by a user or sent in a request.
The client starts it
The command runs as a subprocess on the machine, with the permissions of the account running the client.
Whatever it is, it runs
A real MCP server answers. A download-and-run script, a reverse shell or rm -rf / simply executes.
Then the error
If no MCP server answered, the client reports a failure. The damage is already done.
Source: OX Security, technical deep dive (15 April 2026); MCP specification 2025-11-25, Transports · as of 15 April 2026
OX Security’s research team published three documents on 15 April: an overview, a technical deep dive and a disclosure advisory.123 It calls the issue an architectural design decision in Anthropic’s official MCP SDKs, present across Python, TypeScript, Java and Rust, rather than a coding error. It reports 150 million-plus downloads of the affected software, more than 7,000 publicly reachable servers, and more than 200 open-source projects touched; it ran commands on six live production platforms.1
200,000
MCP instances OX Security estimates could be taken over, as an upper bound
“Up to”, in OX’s words; the counted figure is the 7,000-plus publicly reachable servers.1
The advisory sorts the cases into four routes by which an attacker’s input reaches the configuration entry.3 Command injection through the interface (11 products): a web console such as LangFlow, GPT Researcher, Agent Zero, Langchain-Chatchat or Fay数字人 (Fay Digital Human) lets a visitor add an “MCP server” with any command, in several cases without logging in. Hardening bypass (2): Flowise and Upsonic allowed only npx and npm, but those accept flags that run anything; OX’s payload was npx -c.2 Prompt injection (1): in the Windsurf editor, a malicious web page tells the agent to edit its own mcp.json, with no click from the user, CVE-2026-30615. Hidden STDIO configurations (3): a request quietly switches a connection’s type from web to STDIO, as in DocsGPT and LettaAI.3 Separately, OX says 9 of 11 MCP registries accepted its test package.1
On the day of disclosure, 13 of the 17 products had no fix stated
Products in OX Security's MCP advisory by fix status, 15 April 2026
| Value (products) | Share | |
|---|---|---|
| No fix stated | 13 | 76% |
| Fixed (release or hosted service) | 3 | 18% |
| Warning added, no fix | 1 | 6% |
Source: OX Security, MCP supply chain advisory: RCE vulnerabilities across the AI ecosystem · as of 15 April 2026 · TechBag's tally of the advisory's 17 entries. Fixed: LiteLLM (v1.83.7-stable) in a release; DocsGPT and LettaAI on their hosted services only. Warning: Upsonic added a prompt, no fix.
OX asked Anthropic to change the design so that developers pre-configure the allowed commands and user input only chooses from that list.2 According to OX, Anthropic “declined to modify the protocol’s architecture, citing the behavior as ‘expected’”, and said the STDIO model is a secure default and sanitisation is the developer’s responsibility.1 We have no statement from Anthropic itself to set beside that account.
Anthropic was not alone. OX names 13 rejected disclosures, among them LangChain’s MCP adapters, FastMCP, AWS Labs, NVIDIA’s NeMo Agent Toolkit, Gemini CLI, Claude Code, GitHub Copilot, Cursor and Firebase Studio. The reasons given: the tool is designed to let the user run code; transport code is not liable for how developers use it; or the code already runs inside a sandbox. OX accepts the sandbox point and answers that a sandboxed attacker can still mine cryptocurrency, proxy traffic and take free compute.3 Nor is the class new: OX lists five earlier CVEs from other researchers on the same root cause in 2025 and 2026, including MCP Inspector (CVE-2025-49596) and Cursor (CVE-2025-54136).3
Sixteen months from launch to a protocol-level finding the maintainers call by design
MCP milestones and OX Security's disclosure, November 2024 to 15 April 2026
| Date | Event | Detail |
|---|---|---|
| Nov 2024 | Anthropic open-sources MCP | A standard to connect assistants to where data lives |
| Nov 2025 | Specification 2025-11-25 | Clients SHOULD support STDIO whenever possible |
| Dec 2025 | MCP moves to the Linux Foundation | Agentic AI Foundation; 10,000+ public servers |
| Jan 2026 | OX discloses the LangFlow flaw | Unauthenticated; all versions affected |
| Mar 2026 | LangFlow acknowledges | Inside OX's GitHub advisory report, after two months |
| Apr 2026 | OX publishes | 17 products, 13 rejected disclosures named |
Source: Anthropic (25 Nov 2024; 9 Dec 2025); MCP specification 2025-11-25; OX Security (15 Apr 2026) · as of 15 April 2026 · The LangFlow dates are the one disclosure OX dates in public; the others are not dated in its documents.
Each control below removes something an attack in OX’s set relied on; most are OX’s own recommendations, and none needs the protocol to change.1
Every route OX documents depends on something a company can take away
What the attacks in OX Security's research relied on, and the control that removes each, 15 April 2026
What the attack needed
The control that removes it
Source: OX Security overview and technical deep dive (15 April 2026); MCP specification 2025-11-25 · as of 15 April 2026
npx by name and was beaten by npx -c, so a list must fix the whole command line, not the program name.2Then patch what can be patched. LiteLLM is fixed in v1.83.7-stable; for products with no fix, OX’s advice is not to expose them to user input, or to switch them off until a fix ships.13
Sources
Related on TechBag: the developer tools guide covers the coding environments where MCP servers are most often installed; the cloud workload security guide covers the container controls behind a sandbox; the secure web and DNS guide covers the gateways that see and block outbound traffic.
Disclosure. TechBag is a software reseller: it earns a margin when a reader buys through it, including from vendors named here. The analysis is TechBag’s own; no vendor paid for or saw this piece before publication. Facts are labelled reported, TechBag count or our view.