Home

/

Prompt Injection: Blast Radius

/

MCP and the rest

MCP and the rest

Chapter 13
Part III
4
min read

MCP and the rest

The Model Context Protocol has made tool integration substantially easier, which means most agents now consume tools from servers their team did not write.

Everything above applies, with one addition specific to the protocol: the server controls both the tool descriptions and the results, so it supplies leg two of chapter 3's trifecta and a write into your prompt. A third-party MCP server is a trusted component in the precise sense that it can change your agent's behaviour without changing your code.

That is not an argument against using them. It is an argument for knowing which ones you run, who maintains them, whether their descriptions are pinned, and what capabilities they hold under chapter 8. Most teams cannot currently answer the first of those.

The register

Everything in this chapter reduces to one artifact, and it is a file rather than a platform.

- tool: lookup_order
  source: internal
  maintainer: orders-team
  capabilities: [read:order]
  description_hash: 9f2a...

- tool: web_fetch
  source: mcp://example-tools.dev
  maintainer: third-party
  pinned: sha256:41c8...
  capabilities: [read:public-web]
  description_hash: 7b10...
  reviewed: 2026-09-02

Five fields per tool and the chapter is mostly implemented. The hash of the description is what turns a silent change into a failing build. The capability list is chapter 8 arriving at the point where someone has to write it down. The review date is what an auditor asks for, and what tells you which entries nobody has looked at since they were added in a hurry.

Generate the descriptions hash at startup and fail if it has moved. That single check catches description injection, rug-pulls in the metadata, and a surprising number of ordinary mistakes.

The reason to keep it in the repository rather than a wiki is that it then moves through review with the code that depends on it, and a pull request that adds a tool is visibly a pull request that adds a tool.

What this costs

Friction, and the friction is the point.

The 72-hour delay means you are never on the newest release, which occasionally matters and usually does not. Hash pinning means updates are a deliberate act rather than a lock-file refresh. Description pinning means adding a tool has a review step.

The larger cost is organisational. Somebody has to own the list of tools the agent can reach, and in most teams that list is currently owned by whoever last needed something. The register does not have to be sophisticated. A file naming each tool, its source, its maintainer, its pinned hash and its capability set is enough, and it is the artifact chapter 18 will ask you for.

Chapter 14 turns to the last surface the primitives do not cover: the person you interrupt for approval.

Sources for this chapter

ClaimSourceStatus
LiteLLM 1.82.7/1.82.8 published 24 Mar 2026 10:39-16:00 UTC; compromise originated from the Trivy dependency in CI; payload harvested env vars, SSH keys, cloud credentials, Kubernetes tokens, database passwords; remediation was rotate secrets, remove litellm_init.pth, pin to v1.82.6 or later verifiedLiteLLM security advisory, https://docs.litellm.ai/blog/security-update-march-2026PRIMARY
Trivy pulled from apt without a pinned version; PYPI_PUBLISH token exfiltrated from the GitHub Actions runner; TeamPCP also behind Trivy and KICS compromiseshttps://securitylabs.datadoghq.com/articles/litellm-compromised-pypi-teampcp-supply-chain-campaign/ · https://snyk.io/blog/poisoned-security-scanner-backdooring-litellm/VENDOR (research arms, independently corroborating)
.pth persistence surviving upgrade; three-stage payload; ~3 hours livehttps://thehackernews.com/2026/03/teampcp-backdoors-litellm-versions.html · https://cycode.com/blog/lite-llm-supply-chain-attack/SECONDARY / VENDOR
~3.4 million downloads per daySecondary reporting; see UNVERIFIED-CLAIMS.md #13SECONDARY
Improper Supply Chain as OWASP LLM05 (2026)https://cybersecuritynews.com/owasp-genai-llm-top-10-2026/SECONDARY
Advisory counts re-counted 14 Sep 2026 (n8n 180, AutoGPT 40, Claude Code 30, Dify 21, Roo-Code 11)GitHub public advisory API; assets/replication/advisory_counts.pyPRIMARY (counted)

The four-failure taxonomy, the treatment of tool descriptions as part of the system prompt, the 72-hour adoption delay, and the tool register are the author's. The claim that "most malicious releases are caught in hours" generalises from this incident and a handful of others and has not been measured across the population of malicious packages; it is the weakest quantitative statement in the chapter and is offered as a rule of thumb. The assertion that most teams cannot enumerate their MCP servers is experience, not survey data.

the-three-year-bug
why-the-industry-shipped-anyway
injection-is-not-jailbreaking
why-the-confusion-persists
the-lethal-trifecta
running-the-audit
why-filtering-fails
measured-here-on-a-named-model
why-this-is-structural
what-solved-would-look-like
the-harness
provenance-every-value-knows-where-it-came-from
on-the-reference-agent
quarantine-the-planner-never-reads-the-mail
what-two-models-cost-in-practice
capability-authority-the-agent-cannot-widen
expiry-is-a-feature
the-gate-the-model-proposes-code-disposes
the-policy
failing-closed
egress-closing-the-exfiltration-leg
how-much-can-actually-leak
sandboxing-containing-the-code-the-agent-writes
the-sandbox-held-and-it-did-not-help
poisoned-memory-poisoned-retrieval
cleaning-up-afterwards
the-tool-supply-chain
mcp-and-the-rest
human-in-the-loop-that-isnt-theatre
when-there-is-nobody-there
testing-for-injection
measuring-coverage-not-pass-rate
red-teaming-agents
a-finding-worked-through
when-it-happens-anyway
what-the-logs-cost-you-in-an-incident-you-did-not-have
governance-procurement-and-the-regulator
writing-the-policy
end-to-end
what-it-actually-took
what-stays-broken
why-this-is-probably-structural
the-trifecta-audit-worksheet
action-schema-and-policy-reference
control-mapping
prompt-injection-sources
incidents
appendix-e-what-we-re-ran-ourselves
e4-the-control-that-keeps-e2-and-e3-honest

Download the full PDF for free?

Free download — no account required

Get the PDF
Get the PDF
Related Chapters
Free Download
Get the full PDF
All pages, including all code examples, diagrams, and the appendix reference card.
No spam. Unsubscribe at any time.
Your email won't be shared.
Oops! There's a problem with your request. We're working on fixing it. Please try again later.