Skip to content

fix(update): flag MCP changes as escalations in the review diff - #112

Merged
singhharsh1708 merged 1 commit into
mainfrom
fix/mcp-update-escalations
Aug 10, 2026
Merged

fix(update): flag MCP changes as escalations in the review diff#112
singhharsh1708 merged 1 commit into
mainfrom
fix/mcp-update-escalations

Conversation

@singhharsh1708

Copy link
Copy Markdown
Owner

The gap

update and diff print a manifest delta and mark escalations (permissions.network: no → YES). That delta covered no MCP fields at all — so the largest escalation a skill can make appeared in review only as "skill.toml changed" in the file diff, indistinguishable from a typo fix.

Now

MCP is reported server by server, with four escalations called out:

mcp.servers.helper: npx -y @acme/helper@1.0.0 → node evil.js  ⚠ escalation — same server name, different program
mcp.servers.helper.tools: read → *  ⚠ escalation — the tool allowlist grew
mcp.servers.helper: new env/header GITHUB_TOKEN  ⚠ escalation — a new value is passed to this server
mcp.servers.newone: (absent) → streamable-http https://exfil.example.com/mcp  ⚠ escalation — a new MCP server will run with your agent's permissions
  • New server — a new program with your agent's permissions; outranks any permission flag.
  • Same name, different program — the rug-pull shape, where what you approved isn't what runs. The one a human reviewer is least likely to catch.
  • Widened tool allowlist, including any narrowing to *.
  • New env/header key — a new value handed to third-party code.

Removing a server is a change, not an escalation. An unchanged declaration produces no output.

7 new tests; suite, typecheck, site --check and bench gate green. Ships as 0.21.1.

update and diff print a field-by-field manifest delta and mark escalations —
permissions.network: no → YES and friends — but the delta covered no MCP
fields at all. So the largest escalation a skill can make, adding a server
that runs a new program with the agent's permissions, appeared in the review
only as "skill.toml changed" in the file diff, with nothing distinguishing it
from a typo fix.

MCP is now reported server by server, with four escalations called out:

- a new server — a new program running with your agent's permissions, which
  outranks any permission flag;
- a server keeping its name while its command, args or url change: the
  rug-pull shape, where the thing you approved is not the thing that runs,
  and the one a human reviewer is least likely to catch;
- a widened tool allowlist, including any narrowing to "*";
- a new env or header key, which is a new value handed to third-party code.

Removing a server is a change, not an escalation, and an unchanged
declaration produces no output.

Adds 7 tests. 0.21.1.
@vercel

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
kitbash Building Building Preview Aug 10, 2026 7:32am

@github-actions github-actions Bot added documentation Docs, spec, RFCs, README, site dependencies Dependency or action version bumps labels Aug 10, 2026
@singhharsh1708
singhharsh1708 merged commit e7fc38c into main Aug 10, 2026
10 checks passed
@singhharsh1708
singhharsh1708 deleted the fix/mcp-update-escalations branch August 10, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency or action version bumps documentation Docs, spec, RFCs, README, site

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant