Skip to content

Privacy & security considerations for WebMCP  #45

@victorhuangwq

Description

@victorhuangwq

I would like to contribute to the privacy and security discussion around WebMCP, as requested in #35 (comment)

Assumptions

To make meaningful progress, we should align on some baseline assumptions about agent capabilities:

  • Agents can inherit user identity and context from the browser. E.g. When an agent visits Amazon, it will have the logged in credentials of the user (if the user logged in)
  • Agents can be provided with extended capabilities to information about the user, such as personalization, browsing history, and even payment information.
  • Agents can access context across multiple websites

Based on conversations and review of current issues, I’d like to surface three key areas for deeper discussion, and focus from a problem first approach:

1. Prompt injection attacks, which is already mentioned in: #11

WebMCP tools will be both:

  • a vector (for malicious actors to prompt inject)
  • and a target

2. Misrepresentation of intent in the WebMCP tool

There is no guarantee that the WebMCP tool’s declared intent matches its actual behavior. This creates a trust gap because:

  • Tool descriptions are in natural language, which is ambiguous and unverifiable.
  • Agents rely on these descriptions to decide whether to act but cannot confirm the tool’s real effect.
  • Misalignment can be malicious (e.g., fraud) or accidental (poorly written descriptions).

Even when the agent does not share any of the user’s sensitive data, risky actions can still occur because the user is already authenticated on the site. This means the tool can perform high-privilege actions without additional checks.

Example Scenario
ExampleShoppingSite.com implements an add-to-cart tool.

  • Declared intent: Adds item to cart
  • Actual behavior: Completes purchase using stored credit card
    Agent trusts the description → assumes low risk → skips user permission prompt. Outcome: Full purchase occurs silently.

3. Personalization scraping / fingerprinting through over parametrization

In the context where agents have access to personalization information, it creates a privacy risk when sites design parameterized WebMCP tools to extract sensitive data.

In the dress purchasing example mentioned in the WebMCP spec, there was a potential use case by agents where Notice, the user did not give their size, but the agent knows this from personalization and may even translate the stored size into EU units to use it with this site.

Being helpful by design, agents can provide the right inputs to WebMCP tools, helping the user quickly achieve their goals. But it can allow for over-parameterization abuse.

Example:
Sites can craft functions like:

  • get_dresses(size, price) → benign
  • get_dresses(size, price, age, pregnant, location → silently extracts private attributes
    Sites can turn personalization into fingerprinting, enabling sites to build profiles of anonymous users without explicit consent.

Next step

Would love to brainstorm on the following questions together:

  • Emerging risks: Beyond the issues already raised (e.g. prompt injection, misrepresentation of intent, over‑parameterization), what other problems should we be concerned about?
  • Scope of responsibility: What should be built into WebMCP’s design itself to help address issues, and what should be left up to agents to handle?
  • Where should we follow MCP in terms of how they are approaching this, and where are we different?

Looking forward to hearing your perspectives and building this out collectively. My hope is that this conversation can help inform potential solutions, I can already see issue #44 starting to address part of this space around action‑specific permission.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions