GitHubのアクセストークンが「リンクを1回クリックしただけ」で盗まれる脆弱性が報告される

GitHubのブラウザ版開発環境「github.dev」で、細工されたリンクをクリックするだけでGitHubの認証トークンが盗まれる可能性があった脆弱(ぜいじゃく)性が報告されました。
1-Click GitHub Token Stealing via a VSCode Bug – Ammar's Blog
https://blog.ammaraskar.com/github-token-stealing/
GitHubでREADMEの誤字を直したい時や設定ファイルを少しだけ書き換えたい時に、ローカル環境にリポジトリをクローンしてエディターを起動するのは手間がかかります。GitHubのリポジトリ画面で「.」キーを押したり、URLの「github.com」を「github.dev」に変えたりすると、ブラウザ上でVisual Studio Code(VS Code)のような編集画面を開けます。github.devは検索やシンタックスハイライトやソース管理ビューを備えており、ブラウザだけでファイルを編集してコミットできる軽量な開発環境というわけ。

ブラウザだけでリポジトリを編集できるということは、github.devがユーザーの代わりにGitHubへアクセスする必要があるということでもあります。セキュリティ研究者のアマル・アスカール氏によると、github.devではgithub.comからgithub.devへOAuthトークンが渡され、github.devがユーザーの権限でGitHub APIを操作できるようになっているとのこと。
今回のバグには、VS CodeのWebviewと呼ばれる仕組みが関係しています。WebviewはMarkdownのプレビューやJupyter Notebookの表示などに使われる表示領域で、HTMLやJavaScriptを含む内容をエディター内に表示するために使われます。

Notebookの表示内容に含まれるスクリプトがVS Code本体の設定やファイル操作にアクセスできないよう、Webviewはiframeのような隔離された領域で動作しています。
ただし、完全に隔離するだけでは使い勝手が悪いため、Webviewにフォーカスが移っている場合でもショートカットやコマンドパレットを操作できるよう、Webview内で発生したキーボード操作をVS Code本体へ中継する仕組みが存在していました。

問題は、Webview内のスクリプトが「ユーザーが実際に押したキー」ではなく「プログラムが作り出したキー操作」をVS Code本体へ送信できた点です。ブラウザには、ユーザーが実際に行った操作とスクリプトが作った操作を区別するための情報があります。しかし今回のバグでは、Webview側から本体側へキーボード操作を中継する際にスクリプトが作った操作を危険な形で扱えてしまいました。
アスカール氏が公開した実証では、攻撃者が用意したgithub.devへのリンクをユーザーにクリックさせるだけで攻撃が始まります。リンク先はJupyter Notebookを含むリポジトリで、Notebook内の表示処理を通じてJavaScriptが動作します。JavaScriptはVS Codeのショートカット操作を偽装し、拡張機能のインストールに関係する流れを進めます。
VS Codeには、ワークスペース側で推奨拡張機能を指定できる機能があります。チーム開発では、同じリンターや同じ言語サポート拡張をメンバーに使ってもらうために便利な仕組みです。ところが今回の実証では、推奨拡張機能を受け入れる通知や、ワークスペース内に置いた拡張機能をインストールできる仕組みなどが組み合わされ、攻撃者が用意した拡張機能の実行につなげられました。

攻撃者の拡張機能が動作すると、github.dev内で使われているGitHub APIトークンを取得し、GitHub APIへ問い合わせることでユーザーがアクセスできる非公開リポジトリの一覧を表示できたとのこと。アスカール氏の実証コードでは、盗み出したトークンと非公開リポジトリの情報が情報ボックスに表示される形で示されています。実害を出す攻撃であれば、同じ情報を攻撃者のサーバーへ送信することも考えられます。
デスクトップ版VS Codeにも同種の問題は存在するとのことですが、攻撃の難易度はgithub.devの場合と異なります。デスクトップ版では、ユーザーにリポジトリをクローンさせ、さらに問題のNotebookをVS Codeで開かせる必要があります。一方でgithub.devでは、リンクをクリックするだけでブラウザ上のエディターが開くため、攻撃の入口がはるかに短くなります。
今回の報告を受けて、Microsoftは2026年6月3日にブラウザだけで動くNotebookを開く際に信頼確認を追加し、拡張機能インストールコマンドで任意の呼び出し元情報を受け付けないようにする修正を取り込みました。さらに2026年6月4日には、Webviewから送られるキー操作やクリック操作について、スクリプトが作り出した信頼できないイベントを一部の場面で本体側へ転送しない修正を取り込んでいます。
・関連記事
人間の目で見抜けないURL偽装がフィッシング詐欺に悪用される可能性、Firefoxでの対策はコレ - GIGAZINE
AIが作成したフィッシングメールを半数以上の人間がクリックしてしまうことが判明 - GIGAZINE
AIエージェントでメールを分析することで全てのメールが外部に流出するリスクあり、AIにアクセス権が与えられたGoogleフォームを利用した攻撃 - GIGAZINE
MicrosoftのAI「Copilot」にURLを1回クリックするだけでさまざまな機密データが盗まれる脆弱性があると判明 - GIGAZINE
ブラウザに表示されたボタンをクリックするだけでどんな情報が収集されるのかが分かるゲーム「Click Click Click」 - GIGAZINE
メールを送りつけてAIを操り機密情報を盗み出すゼロクリック攻撃手法「Echoleak」が発見される、メールを受信しただけでアウトでMicrosoft CopilotやMCP対応サービスなどあらゆるAIシステムにリスクあり - GIGAZINE
・関連コンテンツ
in ネットサービス, セキュリティ, Posted by log1d_ts
You can read the machine translated English article A vulnerability has been reported in Git….







