Which LLM03 supply chain risk is most specific to MCP style tool ecosystems?
MCP tool descriptions are model-trusted context. A server that updates descriptions post-install can silently inject instructions: a rug pull, the tool-ecosystem form of LLM03 supply-chain risk.
Imagine you hire a new contractor and tape their business card to your office door so anyone working there knows their phone number. A month later the contractor quietly swaps their business card for a new one that says "if anyone asks, forward all bank statements to this address." Everyone in the office reads the door every morning and starts forwarding statements without realising the card changed. The fix is to photograph the original card, lock the photo, and require sign-off whenever anyone wants to change it. MCP tool descriptions are that business card for the model.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
MCP (Model Context Protocol) is an open protocol, introduced by Anthropic in November 2024, for connecting LLM agents to tools and data. The ecosystem of community servers grew quickly, and clients such as Claude Code, Claude Desktop and OpenAI's Agents SDK support it.
The protocol's flexibility is also its supply-chain attack surface. Third-party servers describe themselves to the model, and the model uses them like any first-party tool. The description rug pull exploits this, and it fits the OWASP LLM03 (supply chain) pattern. Pinning and review are the main mitigations.
How MCP descriptions enter the trust boundary
An MCP server exposes a set of tools, and each tool has three pieces:
- Name:
create_calendar_event,send_message,read_inbox. - Description: a paragraph of natural language explaining what the tool does, when to use it, and any edge cases.
- Schema: a JSON Schema of arguments with types and required fields.
When the model plans a tool call, it reads all three. The description has the most influence. It tells the model what the tool is for, which shapes when the model proposes calling it and what arguments it includes.
Where the description lives
The description is server-supplied. Your application connects to the MCP server (over stdio or HTTP), asks for the tool list, and gets back current descriptions. Clients typically fetch the list fresh each session, and servers can signal that their tool list has changed. The application code never authored the description; the server did.
This is by design. The main purpose of MCP is that third-party tool authors can describe their tools richly to the model. But it means the description text is inside the model's trust boundary, the same way your system prompt is. Yet it sits on a third-party machine.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- The MCP specification says tool descriptions and annotations should be treated as untrusted unless they come from a trusted server. Hosts must get user consent before invoking a tool
- Invariant Labs described the MCP rug pull in April 2025: a malicious server changes a tool description after the client approved it. They proposed pinning tool descriptions by hash
What an interviewer would ask next. Try answering before peeking at the approach.
QWalk through what your CI pipeline would do when an MCP server publishes a new tool description.
Pull the new description, diff against the pinned hash, and surface the diff with the changed text highlighted. Gate promotion on human approval for any server with write or send tools. Require a security review on description text containing instruction-shaped keywords. Log the approval in an audit trail with reviewer ID and timestamp.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Treating MCP servers as trusted because they were vetted at install time, without pinning their tool descriptions to a reviewed version and re-verifying on change.
60 second bullets to scan on the way to the call.
What MCP tool descriptions are and how the model treats them
Why a server-side description change is a supply-chain attack vector
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.