Skip to content
SitePassport

Reading the spec, not a summary of it

What WebMCP's security model actually covers — and where it's still a TODO

Section 6 of the spec is titled 'Security and Privacy Considerations.' It opens by saying it can't define precise mitigation strategies. That's not a knock on the spec — it's the single most important sentence in it for anyone building on top of it today.

This is Site Passport's own reading of the current WebMCP draft and its source repository — a Draft Community Group Report under the W3C Web Machine Learning Community Group, not a finished standard. Nothing here should be taken as a substitute for reading Section 6 yourself; we link the exact sections below.

The four stakeholders the spec assumes

Before naming any specific risk, the spec frames responsibility across four roles: site authors (the people registering tools), agent providers (whoever ships the agent calling them), user agents (the browser mediating access), and end-users. That framing matters, because it means no single party is on the hook for "security" — it's distributed by design. Read generously, that's realistic. Read skeptically, it's also how a gap ends up nobody's job.

What the spec assumes an agent can already do

The baseline is worth sitting with: the spec assumes agents act with identity inheritance (the user's own credentials and session), extended user context (personalization, history, sometimes payment data), and cross-site context (the ability to correlate what it learns across different websites). WebMCP isn't creating that access — a logged-in browser agent already has it. What WebMCP changes is how precisely an agent can act on it, which is exactly why the spec treats the risk surface as worth a dedicated section instead of an afterthought.

Five risk categories the spec names outright

1. Tool poisoning — malicious metadata

An agent reads a tool's name, description, and parameter descriptions as part of its own context. The spec's own warning: malicious instructions embedded in that metadata "can override the agent's original instructions." A tool doesn't need a bug to be dangerous — its description is attack surface, full stop.

2. Output injection

A tool's return value can carry the same kind of instruction-injection risk as its description — and the spec is explicit that this includes "untrusted user-generated content on social media platforms, forums, review sites." Any WordPress site with comments, reviews, or forum plugins is squarely in scope here, not a hypothetical.

3. Misrepresentation of intent

The spec's term for when an agent's action diverges from what the user actually meant — through "ambiguous finalization," accidental or malicious. This is the category that maps most directly onto "did a human actually agree to this," and it's the one a generic checkout or form-submit flow handles worst by default.

4. Privacy leakage through over-parameterization

A tool with broad, free-form parameters can let an agent extract far more granular data than a human clicking through the same UI ever would — a search or filter tool is the obvious shape this takes.

5. Same-origin boundary violations

The spec's own permission model (default same-origin, exposedTo / fromOrigins for anything cross-origin) exists specifically because a tool bypassing origin isolation is a named risk, not a theoretical one.

What it actually proposes as mitigations

Four, and they're worth naming precisely because none of them is a requirement — they're documented as non-normative recommendations:

What's still explicitly undefined

This is the part worth taking seriously rather than glossing over:

Our read

None of this is a defect in the spec — a Community Group draft that's honest about what it hasn't solved yet is doing exactly what a draft should do. But it does mean something concrete for anyone building on WebMCP today: the spec gives you the plumbing — permissions, origin isolation, annotation hooks — and names the risks precisely. It does not give you the policy. Deciding which tools are consequential, who approves them, and how a site refuses to trust its own comment section's content — that's implementation work the spec deliberately leaves to the site. Which is exactly why Safety & Trust is one of the two categories in our own scoring methodology that can't be faked or inferred from the outside: it has to actually exist on the site.

Primary sources

See also: What is WebMCP? for the spec's status and governance, and our companion piece on what this means concretely for a WordPress site.

See how your own site handles this today

The free scan checks Discoverability, Bot Access, and Content right now. Safety & Trust is the category this article is actually about — see the full methodology.

Scan your site