Case · DiggingBeagle record

AutoJack crossed from hostile web content into a local MCP control plane

Microsoft demonstrated a path from a hostile page opened by an agent to process execution through AutoGen Studio’s local MCP control plane. The affected development code was fixed before a PyPI release, according to Microsoft.

Scope

The affected AutoGen Studio development surface described by Microsoft. The vulnerable MCP WebSocket path was fixed in upstream main and, according to Microsoft, was never included in a PyPI release.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Impact
Band 3 of 4
Evidence
Grade B
Remediation
fixed reported
AI role
AGAINST AI
Basis and provenance

Primary vendor disclosure checked. Exposure excludes PyPI releases according to that disclosure; no independent runtime retest was performed in this enrichment.

Impact basis: Microsoft demonstrated transition into host process execution in the affected development surface. This does not imply deployment-wide compromise or production loss.

Assessed Oct 1, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Agent browses attacker-controlled page

    A local browsing tool renders hostile web content on the developer workstation.

    Boundary: open web / local agent

  2. 02

    Page reaches localhost MCP WebSocket

    In the reported browsing-agent setup, hostile content could reach the local service. Do not generalize this to all browser-origin behavior.

    Boundary: web content / loopback control plane

  3. 03

    MCP path bypasses application authentication

    The WebSocket endpoint accepts the connection without its own authentication.

    Boundary: application auth / MCP endpoint

  4. 04

    Attacker-controlled server parameters become a command

    AutoGen Studio passes decoded command and argument values to the stdio client.

    Boundary: MCP request / host process

Timeline

  1. Mar 11, 2026
    mitigation

    Upstream AutoGen commit hardens the MCP WebSocket surface

    Microsoft cites upstream commit b047730 as the hardening change.

  2. Jun 18, 2026
    Event type unspecified

    Microsoft publishes AutoJack research

    The technical disclosure explains the three-part chain and mitigations.

Claims & evidence

CLM-CHAINMicrosoft reports that untrusted web content rendered by a browsing agent could reach AutoGen Studio's local MCP WebSocket and spawn arbitrary host processes.supported

Basis: reported finding

Link to claim
CLM-THREEThe chain combined a localhost origin assumption, an MCP authentication gap and attacker-controlled server parameters that were passed to stdio execution.supported

Basis: reported finding

Link to claim
CLM-NOT-PYPIMicrosoft states that the affected MCP WebSocket surface was fixed in upstream development and was never included in a PyPI release.supported

Basis: reported finding

Scope: Microsoft's disclosure about the specific AutoJack chain.

Link to claim

Evidence visuals

diagram

AutoJack local control-plane chain

  1. Hostile web page

    Attacker-controlled content

  2. Browsing agent

    Renders page locally

  3. Local MCP WebSocket

    Control plane lacks an independent trust decision

  4. Stdio server parameters

    Command and arguments are attacker-influenced

  5. Host process

    Process starts under developer account

  • Hostile web page Browsing agent: rendered content
  • Browsing agent Local MCP WebSocket: local-origin access
  • Local MCP WebSocket Stdio server parameters: server params
  • Stdio server parameters Host process: spawn
Project-authored reconstruction from Microsoft's AutoJack disclosure. · Source: AutoJack crossed from hostile web content into a local MCP control plane

Implications

Comparison

The deprecated Python SDK WebSocket advisory concerns transport validation; AutoJack adds application authentication and process-parameter handling. The experimental-task advisory concerns ownership after admission. Together they support a three-part review: who can connect, which object a caller owns, and which action the object can authorize.

Conditional escalation

If a local control plane obtains wider filesystem, cloud or wallet authority, a similar caller-controlled execution path could have larger consequences. That is a conditional design analysis, not an assertion that the reported AutoJack test stole those assets. Least privilege limits consequences, while correct admission and server-owned execution configuration interrupt the path itself.

Controls and mitigations

  • Authenticate every local control-plane endpoint, including WebSockets.
  • Do not rely on localhost or Origin checks as the sole trust decision for agent-accessible services.
  • Allowlist executable MCP server commands and arguments.
  • Run browsing agents and developer control planes under separated identities and sandboxes.
  • Place sensitive local services behind an authenticated reverse proxy or equivalent gate.
  • DiggingBeagle review recommendation: keep executable configuration server-owned, bind pending configuration to the intended authenticated session, and reject cross-session claims.
  • DiggingBeagle exposure check: distinguish development checkouts from released packages; do not mark every PyPI installation affected by a development-only path.

Unknowns and contradictions

  • The cited disclosure does not claim that the specific chain was exploited in real deployments.
  • The affected development surface did not ship through PyPI according to Microsoft.

Sources and citation

Material revision history

  1. Sep 16, 2026 · Published version · first publication · revision 1
  2. Sep 25, 2026 · Published version · material revision · revision 37Public fields changed: assessment_profile
  3. Oct 1, 2026 · Published version · material revision · revision 65Public fields changed: assessment_profile, attack_path, claims, implications, links, mitigations, narrative, references, summary