VV-014highPrompt injection2025-04-01
MCP tool poisoning: hidden instructions in tool descriptions
An MCP server can hide instructions inside a tool’s description. The model reads them, the user usually doesn’t, and the agent can be steered into reading files or sending data elsewhere.
What it is
Invariant Labs published this as a “Tool Poisoning Attack” against the Model Context Protocol on 1 April 2025. Tool descriptions are passed to the model as trusted context, so text in them acts like instructions.
Their write-up shows a harmless-looking tool whose description tells the agent to read sensitive local files and pass them along as a hidden parameter.
How to check
- List every MCP server configured in your editor or agent, and where each one came from.
- Read the full tool descriptions each server exposes, not the short name your client shows.
How to fix
- Only install MCP servers from sources you trust, and pin versions.
- Keep human approval on for tool calls that read files or reach the network.
Sources
More advisories for this tool
- criticalCVE-2026-32871: FastMCP OpenAPI Provider has an SSRF & Path Traversal Vulnerability
- criticalCVE-2025-6514: mcp-remote exposed to OS command injection via untrusted MCP server connections
- criticalCVE-2025-49596: MCP Inspector proxy server lacks authentication between the Inspector client and proxy
- highCVE-2026-104850: MCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server