セキュリティ研究者のアマル・アスカーは2026年6月2日、Visual Studio Codeに深刻な脆弱性があることを公開し、攻撃者が欺瞞的なワンクリック攻撃を通じてGitHub OAuthトークンを盗む可能性があることを明らかにしました。マイクロソフトはその翌日である6月3日には一時的な対策パッチをリリースし、この対応の速さはレッドモンドがこの脆弱性をどれほど真剣に受け止めたかを物語っています。
この脆弱性は、数百万の開発者がブラウザ内で直接コードを編集するために使用する、VS Codeのブラウザベース版であるGitHub.devを標的としています。この脆弱性を悪用した攻撃者は、被害者の compromized トークンに関連するすべてのリポジトリ(プライベートなものを含む)にアクセスできるようになります。
攻撃の仕組み
この脆弱性は、エディター内に組み込みWebコンテンツをレンダリングする責任を持つVS CodeのWebViewシステムに存在します。WebViewは、メッセージ伝達メカニズムを通じてメインのVS Codeプロセスと通信しており、その点が興味深いです。
攻撃チェーンは、GitHub.devワークスペースを指す悪意のあるリンクから始まります。そのワークスペース内には、有害なJavaScriptが組み込まれたJupyterノートブックが配置されています。被害者がリンクを開くと、ノートブックのコードがウェブビューのコンテキスト内で実行されます。
そこから、悪意のあるスクリプトはキーボードイベントをシミュレートして、VS Codeのインターフェースとプログラム的にやり取りします。これは、GitHub.devがワークスペースのコンテンツに拡張する信頼モデルを悪用し、エディタを騙して攻撃者のコードを正当なユーザー入力として扱わせます。
その後、スクリプトは信頼できるワークスペースから悪意のある拡張機能をインストールします。その拡張機能は、目に見える警告を一切発生させることなく、被害者のGitHub OAuthトークンを静かに外部に送信します。この一連の手順には、単に1つのリンクをクリックするだけで十分です。
Askarは脆弱性の開示に併せて、セキュリティチームが脆弱性を理解しテストするために必要な完全なパブリック・プロトタイプ・リポジトリを公開しました。
マイクロソフトの対応とより広範なパターン
Microsoftの6月3日のパッチは、2つの重要なセーフガードを導入しました。まず、ユーザーがGitHub.dev内で特定のファイルタイプを開こうとしたときに確認ポップアップを追加し、攻撃を効果的にしていたシームレスな1クリックチェーンを切断しました。次に、悪用が悪意のあるコードを静かにインストールするために依存していた可能性のある危険な拡張コマンドをブロックしました。
この開示のタイミングは注目に値する。わずか数週間前の2026年5月20日、GitHub自体が悪意のあるVS Code拡張機能によって約3,800の内部リポジトリが侵害されるセキュリティブリーチを経験した。
これは開発者および組織にとって何を意味するか
個人の開発者にとって、即時に対応すべきことはシンプルです:GitHub.dev セッションを Microsoft の最新パッチで更新してください。最近の数週間で不審なリンクをクリックして GitHub.dev ワークスペースにアクセスした場合は、OAuth トークンをすべてローテーションしてください。インストールした拡張機能を確認し、積極的に使用していないものは削除してください。
セキュリティチームは、GitHub.devへのアクセス権を持つ従業員を確認し、そのOAuthトークンが必要以上に広範な権限を持っていないかを監査すべきです。最小権限の原則に従い、トークンに必要な最小限のアクセスのみを付与すれば、この特定の攻撃による被害を大幅に抑えることができました。
