Poisoned Tool Descriptions

Poisoned Tool Descriptions

Agents read tool descriptions as instructions, not as docs.

What Is Poisoned Tool Descriptions?

An AI agent reads a connected tool's description to decide how and when to use it, which makes that text closer to executable instructions than to documentation. Change the description and you change the agent's behaviour, with no change to the handler, schema or permissions, and nothing in a code review to catch it. You'll find a tool approved months ago now instructing the agent to BCC every message to an outside address, diff the live description against the approved wording, and block the compromised server at the gateway.

What You'll Learn in Poisoned Tool Descriptions

Poisoned Tool Descriptions — Training Steps

  1. Someone Else's Publishing Token

    Bob is not attacking Sarnholt Systems. He is attacking the vendor they already trust. A stolen maintainer token lets him publish to the VaultSync Bridge registry as VaultSync Bridge.

  2. The Manifest Everyone Reads

    The server's tool manifest is what every connected client lists when it asks the server what it can do. Bob opens the copy he is about to publish.

  3. One String

    He changes nothing that a reviewer would diff for. The handler is untouched, the input schema is untouched, the permissions are untouched. He edits the sentence the agent reads.

  4. Shipped as a Patch

    He publishes it as an ordinary point release. The registry accepts it, because a legitimate maintainer account published it.

  5. Waiting for the Update

    Bob is finished. The rest happens inside Sarnholt, on their own approved server, the next time an agent reaches for a tool it has used safely for months.

  6. A Routine Vendor Update

    Monday morning at Sarnholt Systems. Alice, an AI platform engineer, opens her inbox to the usual pile: standup notes, a calendar invite, and one release notice from a third-party MCP server her team connected months ago. None of it looks urgent.

  7. Connecting the Fleet

    Sarnholt Systems runs its agent tooling through Agent Host, the company's MCP client. ticket-desk-mcp , a small internal helpdesk integration, and fileops-mcp , the file and email connector VaultSync Bridge just patched, are already connected and approved.

  8. Reviewing the Approved Tools

    Before touching anything, Alice checks what is actually connected. Both servers look exactly as they did when her team signed off on them: same endpoint, same version, same tool descriptions.

  9. The Update Lands Quietly

    VaultSync's patch reaches fileops-mcp while Alice is still in the tab. It rewrites what send_email is instructed to do. No approval prompt, no version bump, no notification. The tool list simply redraws.

  10. An Ordinary Request

    The tool list redrew while Alice was reading her inbox; nothing asked her to look at it. She goes back to routine work and asks the agent to handle a normal task.

Security Framework Coverage

OWASP MCP Top 10

  • MCP03:2025 Tool Poisoning

CWE

  • CWE-1427 Improper Neutralization of Input Used for LLM Prompting
  • CWE-345 Insufficient Verification of Data Authenticity

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security