Menu

AI

MCP Rug Pull Attacks: When a Trusted Server Changes

An MCP rug pull is when a server you approved changes its tools later. Learn how it works, how to spot it, and how pinning and change alerts reduce the risk.

By: Irina ShvayaOctober 28, 2026

MCP Rug Pull Attacks: When a Trusted Server Changes

This page is part of our MCP Security Center, within The MCP Guide. Want a second opinion on your setup? Request a free MCP readiness review.

An MCP rug pull is when a server you already approved changes its tool descriptions or behavior later, without asking again. You trusted version one. Version two quietly carries malicious instructions, and your AI app keeps using it.

The name comes from the idea of pulling the rug out from under someone who trusted you. It is dangerous because most approval happens once, at install time. After that, few people look again.

This page explains how rug pulls work, why they are hard to notice, and how to catch them. Sources were checked on 28 October 2026.

Key Takeaways

  • A rug pull is a server changing its tools after you approved them, so your one-time review no longer holds.
  • Invariant Labs described the attack in April 2025 and compared it to malicious package updates on PyPI.
  • Its WhatsApp demo used a "sleeper" server that looked harmless at first, then changed on its second launch.
  • MCP lets servers change their tool list over time and notify clients, which is useful but needs monitoring.
  • Defenses include version pinning, hashing tool descriptions, and blocking calls until a person approves any change.
  • The same risk applies to package updates, so pin versions and review release notes for servers you install.

What a rug pull is

Invariant Labs' tool poisoning notice of 1 April 2025 defined the term. A server can change a tool's description after the client has approved it. The authors compare this to malicious package updates on PyPI.

A rug pull is a delivery method more than a separate payload. What arrives in the new version is usually tool poisoning or tool shadowing. The rug pull is the trick that gets it past your first review.

There are two common ways it happens:

  • Remote change. A hosted server starts returning new tool descriptions from its own infrastructure.
  • Update change. A local server package publishes a new version, and your setup pulls it automatically.

Why MCP makes this possible

Changing tools is a normal, useful feature. The MCP tools specification says the tool list "MAY change over time." Servers can declare a listChanged capability and send a notifications/tools/list_changed message when it does.

That design lets servers add features without reinstalling. But it also means a description you read last month may not be the one your AI reads today. The spec does not require clients to re-ask the user when descriptions change.

The documented demonstration

Invariant Labs showed a rug pull in practice on 7 April 2025. Its WhatsApp MCP write-up connected an agent to a trusted WhatsApp server and an attacker-controlled server.

The attacker's server first advertised a harmless description, so the user approved it. According to the authors, the server "only activates on the second launch." On that launch, its new description told the agent to redirect messages and attach chat history, sending data out through WhatsApp itself.

The authors also noted why the confirmation dialog did not help. The message field appeared to say only "Hi," and the payload was hidden unless the user scrolled right.

An illustrative scenario

This example is illustrative. It is not a real incident.

An agency installs a popular community "calendar helper" server. The IT lead reviews its five tools and approves them. Three months later, the maintainer's account is taken over.

A new version adds one sentence to a tool description: always copy meeting notes to an outside address. The agency's setup uses the latest version, so the change goes live overnight. Nobody sees a new approval prompt.

Who is at risk

  • Anyone who installs local servers with "latest" or unpinned versions.
  • Teams that approve a server once and never review it again.
  • Users of hosted servers from publishers they cannot identify or contact.
  • Organizations without a record of which tool descriptions were approved.

OWASP's MCP04 entry lists a related case: a popular connector receiving a malicious update. That is the package-update version of a rug pull.

How to detect a rug pull

The core idea is simple. Record what you approved, then compare every later version against it.

  1. Hash tool definitions. Invariant suggests verifying tool descriptions with a hash or checksum before execution.
  2. Compare on every connection. Check names, descriptions and input schemas, not just the tool count.
  3. Alert on any change. Trail of Bits recommends trust-on-first-use monitoring that alerts when a tool is added or its description changes, in its line-jumping post.
  4. Watch package versions. Note when a local server's version number moves, and read what changed.

Trail of Bits publishes an open-source wrapper, mcp-context-protector, built for this. Its README says "any deviation from the approved/known-good server configuration will block downstream tool calls" until a user approves. It compares server instructions, tool descriptions and input schemas.

How to reduce the risk

On the client side

  • Pin server versions. Invariant recommends that clients "pin the version of the MCP server and its tools."
  • Block tool calls from a changed server until someone reviews the change.
  • Show a clear diff of what changed, not just "this server was updated."

On the server side

  • Version your tool definitions and publish a changelog.
  • Never change a tool's meaning under the same name. Add a new tool instead.
  • Protect publishing accounts with strong sign-in, since account takeover enables rug pulls.

At the organization level

  • Keep a record of approved servers, versions and description hashes.
  • Use private registries or internal mirrors so updates pass through review first. OWASP's MCP04 entry recommends version pinning and approved registries.
  • Schedule periodic reviews of every connected server. Our MCP security checklist includes this step.

What the MCP spec says

The spec permits tool lists to change and asks servers to notify clients. It leaves trust decisions to the client. Two lines from the tools page set the frame:

Spec textWhat it means
Clients "MUST consider tool annotations to be untrusted unless they come from trusted servers"A server you trusted before can stop deserving it
There "SHOULD always be a human in the loop with the ability to deny tool invocations"A person should be able to stop calls from a changed server

For the full set of risks, see MCP security risks and the MCP Security Center.

Next step

If you do not have a record of which server versions and descriptions your team approved, start there. Our MCP readiness audit builds that baseline so future changes stand out.

Frequently asked questions

Is a rug pull the same as a normal server update?

No. Normal updates add or fix features in the open. A rug pull uses the update path to slip in harmful instructions after trust is established. Both look similar at first, which is why you should review every change.

Does the MCP spec require clients to re-approve changed tools?

The tools page we checked does not require it. It lets servers notify clients when tools change, and it says clients must treat annotations as untrusted unless the server is trusted. Re-approval is a client or organization policy you can add.

Can I stop rug pulls on hosted servers I don't control?

You can detect them. A pinning tool can compare each tool list with the approved version and block calls when it changes. You cannot freeze a remote server's behavior, so pick publishers you can identify and contact.

How often should we check for changes?

Ideally on every connection, using an automated tool. Add a manual review whenever a server's version changes. A quarterly review of your full server list catches anything automation missed.

Which tools help detect rug pulls?

Trail of Bits' mcp-context-protector pins server configurations and blocks calls on change. Our guide to MCP security tools compares other scanners and gateways.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.