次号掲載予定 (2025-09-27号)
#100 507文字 • 3分

From MCP to Shell

概要

Veria Labsの研究者たちは、Claude CodeやGemini CLIを含む主要なAIコーディングツールにおいて、MCP認証フローの脆弱性を悪用することでリモートコード実行(RCE)を可能にする複数のエクスプロイトチェーンを発見し、その詳細を解説する。

詳細内容

Veria Labsは、主要なAIコーディングツールに存在する深刻な認証フローの脆弱性を悪用し、リモートコード実行(RCE)を可能にする複数のエクスプロイトチェーンを公開しました。この調査は、AIモデルと外部ツールを接続する「Model Context Protocol (MCP)」のOAuth実装における欠陥に焦点を当てています。 問題の核心は、MCPサーバーが悪意のある認証URLをクライアントに指示し、クライアント側がそのURLを適切に検証せずにブラウザで開くことにありました。これにより、Cloudflareの`use-mcp`ライブラリでは`javascript:` URLを用いたXSSが可能となり、ユーザーセッションのハイジャックにつながるリスクがありました。さらに、`MCP Inspector`ではこのXSSを悪用し、ローカルプロキシの認証トークンを窃取後、`stdio`トランスポートを通じて任意のローカルコマンドを実行することでRCEへと権限昇格を達成しました。 特に注目すべきは、広く利用されている`Claude Code`や`Gemini CLI`も同様の脆弱性を持っていた点です。`Claude Code`では`cmd.exe`、`Gemini CLI`ではPowerShellの文字列補間機能を悪用したコマンドインジェクションにより、ユーザーPCの完全な乗っ取りが可能であることが実証されました。しかし、ChatGPTは厳格なContent Security Policy (CSP) によって`javascript:` URLの実行がブロックされ、XSS攻撃をほぼ回避できたことは、伝統的な防御手法の有効性を示しています。 この報告は、ウェブアプリケーションエンジニアにとって、新たなAIツールを開発・利用する際のセキュリティ意識を高める上で非常に重要です。外部からの入力の厳格な検証、シェルコマンドの安全な呼び出し、そしてブラウザやデスクトップアプリケーションを横断するプロセス間通信の設計には、細心の注意が必要であることを示唆しています。AIエコシステムにおけるセキュリティ設計の根本的な重要性を浮き彫りにするとともに、既存のウェブセキュリティ機能がAI開発においても引き続き不可欠であることを強調しています。各ベンダーの迅速な対応は評価されるべきですが、この教訓は今後のAIツール開発に活かされるべきです。