-
Notifications
You must be signed in to change notification settings - Fork 18
Description
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.