AutoJack ― 「localhostは安全」という前提をAI Agentが崩す
Executive Summary
Microsoft Defender Security Researchは2026年6月18日、AI browsing agentが悪意あるWebページを描画したことを起点に、localhost上のMCP WebSocketへ到達し、Host上で任意Processを起動し得るExploit Chain「AutoJack」を公表しました。対象となった特定のMCP WebSocket surfaceはPyPI releaseには含まれず、開発中に修正されています。1
重要なのは個別Bugより、AgentがUntrusted Contentを読む能力と、Local Control Planeを操作する能力を同じHostで持つと、localhostがTrust Boundaryとして機能しなくなることです。
なぜ今なのか
従来、127.0.0.1 / localhostへのBindingは「外部から直接アクセスされにくい」という理由で簡易な信頼境界として使われてきました。しかしAI Agent自身が同じHost上でWebを閲覧し、外部コンテンツを実行Contextへ持ち込む場合、その前提が崩れます。
何が起きているのか
AutoJackでは、localhost Originの信頼、MCP pathのAuthentication不足、URL経由で渡されたServer Parameterの実行という複数の弱点が連鎖しました。Microsoftは、個々の欠陥以上に「Untrusted Web Content → Agent Browser → Local MCP Control Plane → Process Execution」という構造が他のAgent Frameworkでも再現し得ると指摘しています。
経営インパクト
| 観点 | 影響 |
|---|---|
| Agent Runtime | AI AgentがDeveloper端末上の高権限Control Planeへ到達する経路が生まれる |
| Developer Risk | Developer IdentityやLocal CredentialをAgent Runtimeと共有するとBlast Radiusが拡大 |
| Control Plane | localhost-only、Origin Checkだけでは認証・認可の代替にならない |
| Architecture | BrowsingとProcess Executionを同一Trust Zoneに置く設計を見直す必要 |
日本企業への示唆
社内PoCでAI AgentをDeveloper PC上に直接動かす構成は珍しくありません。MCP Server、Code Executor、Browser Automation、Local APIを同一端末に集約すると、試験環境でも高い権限を持つことがあります。Agent IdentityとDeveloper Identityを分離し、Browser、Tool、Process Execution間のBoundaryを明示することが重要です。
推奨アクション
- Agentが利用できるLocal Service / MCP Serverを棚卸しする
- localhostでもAuthentication / Authorizationを必須にする
- Process Execution・File Write・Network EgressをAllowlist化する
- Browsing AgentとDeveloper Credential / Sessionを分離する
- Agent RuntimeをContainer / VM等で隔離する
- Agent Control Planeへの異常Accessを監視する
用語解説
MCP (Model Context Protocol)
AI Agentが外部ToolやData Sourceと接続するためのProtocol / Interface。
Confused Deputy
権限を持つ主体が、攻撃者に誘導されて本来意図しない操作を代行してしまう状態。