GitHub内部リポジトリ3,800件流出 ── 偽VS Code拡張「Nx Console」が突いた"開発者の信頼"という攻撃面
はじめに
2026年5月20日、GitHub は自社の内部システムが侵害され、約3,800件の内部リポジトリが外部に流出したことを公式に認めた。発端はゼロデイ脆弱性でも巧妙なフィッシングでもない。ある従業員が、いつも使っている VS Code 拡張機能を更新しただけだ。その拡張機能 ── 220万インストールを誇る人気ツール「Nx Console」── が、わずか数十分間だけトロイの木馬に置き換わっていた。この記事では、攻撃グループ TeamPCP がどうやって GitHub という”開発の総本山”を陥落させたのか、その技術的な手口を解剖し、なぜ IDE・CI・AI コーディングツールといった「開発者が無条件に信頼するもの」が今もっとも危険な攻撃面になっているのかを掘り下げる。そして、明日から自分のチームで打てる具体的な防御策まで落とし込む。
18分間の侵入 ── 何が起きたのか
タイムラインは恐ろしくコンパクトだ。UTC 2026年5月18日 12:30、攻撃グループ TeamPCP(Google は UNC6780 として追跡)が、Nx Console のトロイ版バージョン 18.95.0 を Visual Studio Marketplace に公開した。GitHub のエンジニアがこれを取り込み、ワークスペースを開いた瞬間に認証情報の窃取が始まる。悪意あるバージョンが Marketplace に存在したのはわずか 18分間(12:30〜12:48 UTC)、Open VSX 側でも 36分間にすぎなかった。コミュニティの検知は速かったが、それでも数千リポジトリを盗み出すには十分だった。
窃取対象は徹底していた。GitHub トークン、npm トークン、AWS のアクセスキー/シークレットキー、SSH 鍵、HashiCorp Vault、Kubernetes の認証情報、さらには 1Password のボールトや Anthropic Claude Code の設定ファイルまで狙われている。盗んだ GitHub トークンを使って攻撃者は GitHub 内部の約3,800リポジトリをクローンし、犯罪フォーラムで 5万ドル以上で販売リストに載せた。
GitHub の対応も同日中に始まった。5月18日に侵害を検知して封じ込め、18〜19日にかけて重要なシークレットをローテーション、悪意あるバージョンを削除して修正版 18.100.0 をリリースし、5月20日に公表した。GitHub は「影響は内部リポジトリに限定され、顧客リポジトリ・Enterprise アカウント・ユーザーデータには及んでいない」と評価している。とはいえ、自社プロダクトのセキュリティを売りにする企業が、自社の開発端末経由で抜かれたという事実のインパクトは小さくない。
なぜ”開発者の信頼”が攻撃面になったのか
この攻撃の本質を理解する鍵は、VS Code 拡張機能の権限モデルにある。拡張機能はインストールした瞬間から、ファイルシステム・ネットワーク通信・子プロセスの起動・環境変数の読み取りにフルアクセスできる。サンドボックスも権限プロンプトもない。つまり「正規のパブリッシャーが署名した、220万インストールの実績ある拡張」という信頼そのものが、唯一にして突破された防壁だった。
手口も巧妙だ。トロイ版 Nx Console は見た目も挙動も本物と変わらない。ワークスペース起動時にシェルコマンドを1つだけ静かに実行し、そのコマンドが 公式 nrwl/nx リポジトリに仕込まれたコミットから隠しパッケージをダウンロードして実行する。ペイロードを攻撃者の怪しいサーバーではなく「正規リポジトリのコミット」に隠すことで、ネットワーク監視やドメインブロックをすり抜けた。信頼されたソースを多段で踏み台にする設計思想だ。
TeamPCP がこの手の標的を選ぶのは偶然ではない。彼らはこれまで Aqua の Trivy、Checkmarx の KICS、LiteLLM、Telnyx SDK、TanStack、MistralAI といった、いずれも「セキュリティスキャナ」や「AI ミドルウェア」── つまり開発者が無条件で信頼し、CI に深く組み込むツール──を狙い撃ちしてきた。同じ5月18日には、CI ワークフローを悪用して6時間で5,561リポジトリに5,718コミットをばらまいた「Megalodon」キャンペーンも観測されている。こちらは盗んだ Personal Access Token で master に直接 push し、base64 エンコードした bash を仕込んだ GitHub Actions ワークフローを注入、push のたびに認証情報を C2 サーバーへ送る仕組みだった。Tiledesk の npm パッケージ経由で下流にまで伝播した点も含め、攻撃の主戦場が「アプリのコード」から「アプリを作る道具」へ移ったことを示している。
エンジニアが今すぐやるべきこと
このインシデントが恐ろしいのは、被害者が GitHub のエンジニアという「セキュリティ意識が高いはずの層」だった点だ。だからこそ対策は属人的な注意力ではなく、仕組みで担保する必要がある。
1. 拡張機能を「資産」として棚卸しする。 自動更新を盲信せず、更新日・ダウンロード数・パブリッシャーの検証状態を確認する習慣を持つ。組織なら VS Code の extensions.json で許可リスト(allowlist)方式を導入し、承認済み拡張以外をブロックするのが最も効く。
2. シークレットをローカルに平置きしない。 .npmrc・~/.aws/credentials・SSH 鍵・.env が窃取対象の本丸だった。短命トークン(OIDC や aws sso)への移行、Vault や 1Password CLI 経由の都度取得に切り替え、長命の Personal Access Token は廃止する。今回 Claude Code の設定まで狙われた事実は、AI コーディングツールの設定ファイルも保護対象であることを意味する。
3. CI ワークフローの権限を絞る。 Megalodon が突いたのは緩い PAT と push 権限だった。ブランチ保護で PR レビューを必須化し、pull_request_target の危険な使い方を監査し、GITHUB_TOKEN の権限を read 最小に絞る。見覚えのないワークフロー追加を検知するアラートも有効だ。
4. カナリアトークンで「抜かれたこと」を即座に知る。 一見本物のダミー認証情報を仕込み、それが使われた瞬間に通知が飛ぶ仕組みを入れておけば、18分の窃取に対しても検知の足場ができる。
まとめ
- 2026年5月18日、トロイ版 VS Code 拡張「Nx Console」(v18.95.0) 経由で GitHub 従業員端末が侵害され、内部リポジトリ約3,800件が流出した。
- 攻撃グループ TeamPCP(UNC6780)は、Marketplace 公開わずか18分という極短時間で GitHub・npm・AWS・1Password・Claude Code 等の認証情報を窃取した。
- VS Code 拡張のフルアクセス権限モデルと「正規リポジトリのコミットにペイロードを隠す」手口が、信頼を逆手に取った。
- 防御の軸は、拡張の許可リスト化・シークレットの短命化/集中管理・CI 権限の最小化・カナリアトークンによる早期検知。
攻撃者の狙いは「アプリ」から「アプリを作る道具」へ完全に移った。IDE・CI・AI ツールを”信頼できる前提”で扱う時代は終わり、開発環境そのものをゼロトラストで設計し直す段階に入ったと考えるべきだ。
ソース
- GitHubの内部情報が流出、VS Code拡張機能経由で約3800リポジトリに不正アクセス(GIGAZINE)
- 【緊急】GitHubが陥落した日 - VS Code拡張から始まった3,800リポジトリ流出事件の全貌(Qiita)
- GitHub confirms breach of 3,800 repos via malicious VSCode extension(BleepingComputer)
- GitHub Internal Repositories Breached via Malicious Nx Console VS Code Extension(The Hacker News)
- Megalodon: mass github repo backdooring via CI workflows(SafeDep)
今日のその他のニュース
Alibaba「Qwen3.7-Max」発表 ── 35時間の自律作業に対応。 AIエージェント向け大型モデルが登場。1,000回を超えるツール呼び出しと長時間の連続実行を前提に設計されており、自律エージェント運用の実用ラインを一段引き上げた。(GIGAZINE)
Google「Managed Agent API」発表 ── API一発でLinux環境付きエージェントを起動。 Markdownでカスタム指示を渡せるマネージドなエージェント実行基盤。サンドボックス構築をGoogle側に委ねられるため、エージェント実装の環境管理コストが激減する。(Publickey)
Googleの「Modern Web Guidance」スキル登場。 LLMが時代遅れのCSS/JSを生成する問題に対し、モダンな書き方へ誘導する「スキル」を提供。AIコーディング前提時代のフロントエンド品質担保に向けた新しいアプローチだ。(Zenn)