GitHubの内部リポジトリの持ち出し
- タグ
- 国外
GitHubの2026年5月20日のブログによると、第三者が公開した不正なVS Code拡張機能で社員の端末が侵害され、GitHubは内部リポジトリだけが持ち出されたと評価した[1]。攻撃者が主張する約3,800件〔注1〕のリポジトリは、これまでの調査とおおむね一致するとした[1、2]。5月26日の更新では、攻撃を受けたリポジトリを考慮し、GitHub Enterprise Serverの署名鍵を含む鍵を差し替えている[1]。
経緯
GitHubは、不正な拡張機能の版を削除して端末を隔離し、直ちにインシデント対応を始めたと説明した[1]。
CyberScoopの5月20日の記事では、GitHubは火曜日の深夜のXへの投稿で、内部リポジトリが持ち出されたと述べた[11]。この記事は、GitHubが関与した拡張機能の名前も、特定の集団への帰属も公にしていないと報じた[11]。TeamPCPが、買い手が現れなければ資料を公開すると脅したとも伝えた[11]。
SecurityWeekは、TeamPCPが火曜日に地下のハッキングフォーラムでGitHubの内部リポジトリ4,000件の侵害を主張し、少なくとも5万ドルで売りに出したと報じた[10]。同じ記事によると、GitHubは調査を始め、約5時間後に攻撃者の主張を確認した[10]。
The Hacker Newsの5月21日の記事では、GitHubは水曜日に、内部リポジトリの侵害はNx ConsoleのVS Code拡張機能の毒入りの版が関わる社員の端末の侵害の結果だったと公式に確認した[14]。
Nx Consoleの侵害の経路
Nxは5月21日の事後報告で、攻撃者が正規のNxの中核の貢献者として不正な版を公開したと説明した[4]。TanStackのサプライチェーン侵害で届いた認証情報を盗む不正コードが、その貢献者のGitHub CLIのOAuthトークンを持ち出していた[4]。窃取から公開までの7日間、攻撃者は検知されずにNxのGitHubのリポジトリで活動した[4]。根本原因としては、上流から順に4つの連鎖した要因を挙げた[4]。
- TanStackの@tanstack/*の侵害(上流)[4]
- minimum-release-ageの設定が黙って無効になっていたこと[4]
- gh CLIの認証情報を、どのローカルのプロセスからも取り出せたこと[4]
- Nx Consoleの公開の手順が、1人での公開を許していたこと[4]
不正コードがトークンを取り出した経路は鑑識で確定しておらず、実行から74秒以内にGitHub APIに対してトークンを使ったことだけが分かっているとNxは説明した[4]。
StepSecurityの5月18日の報告では、Nx Console(nrwl.angular-console)は220万件超の導入がある拡張機能だった[8]。不正な版は、開いたワークスペースで498 KBの難読化された不正コードを、公式のnrwl/nxリポジトリ内の孤立したコミットから取得して実行した[8]。
Nxによると、不正コードは拡張機能の起動時に動き、永続化の仕掛けをディスクに書き、Linuxでは/etc/sudoersの変更を試みた[4]。Vault・npm・AWS・GitHub・1Passwordの認証情報と、SSH秘密鍵・.envファイル・GCPの認証情報・Dockerの設定を集めた[4]。集めた情報は、HTTPSで攻撃者の基盤へ、GitHub APIで、DNSを使った秘匿の経路で持ち出された[4]。
Sophosは、影響を受けた端末からPythonのバックドアcat.pyを回収したと報告した[20]。このバックドアは、GitHubのSearch APIを1時間ごとに照会して命令を受け取る[20]。
時系列
| 日付 | 主体 | 内容 | 資料 |
|---|---|---|---|
| 2026年 | 攻撃者 | 42の@tanstack/* npmパッケージに84の不正な版を公開した | [4] |
| 2026年 | Nxの貢献者 | 外部のリポジトリでpnpm installを実行し、不正な@tanstack/zod-adapter@1.166.15を解決した | [4] |
| 2026年 | 攻撃者 | 不正なNx Console 18.95.0をVisual Studio Marketplaceにアップロードし、Open VSXでは12時33分に公開された(時刻はUTC)〔注2〕 | [4] |
| 2026年 | Nxのメンテナー | 公開者向けの通知メールで予定外のリリースに気付き、メールの約11分後にVisual Studio Marketplaceから取り下げた | [4] |
| 2026年 | Open VSX | 18.95.0を取り下げた | [4] |
| 2026年 | GitHub | 社員の端末の侵害を検知して封じ込めた〔注3〕 | [1] |
| 2026年 | GitHub | 影響の大きい認証情報を優先して、重要なシークレットを差し替えた | [1] |
| 2026年 | GitHub | ブログで調査の状況を公表した | [1] |
| 2026年 | Nx | 事後報告を公開した | [4] |
| 2026年 | GitHub | ブログを更新して署名鍵の差し替えを告知し、GitHub Enterprise Server(GHES)3.20.3を公開した | [1、3] |
| 2026年 | CVE Program | CVE-2026-48027の記録を公開した | [5] |
| 2026年 | CISA | CVE-2026-48027をKnown Exploited Vulnerabilities(KEV)カタログに加えた | [5] |
| 2026年 | CISA | Nx ConsoleとGitHubのリポジトリに影響するサプライチェーン侵害のアラートを公開した | [19] |
| 2026年 | カナダ・サイバーセキュリティセンター | Alert AL26-013を出した | [6] |
影響範囲
GitHubは5月20日のブログで、利用者自身のEnterprise・Organization・リポジトリなど、GitHub内部リポジトリの外に保存された利用者の情報への影響の証拠は無いと説明した[1]。GitHubの内部リポジトリの一部には、サポートのやり取りの抜粋など利用者からの情報が含まれる[1、2]。影響が見つかれば、確立したインシデント対応と通知の経路で利用者に知らせるとした[1]。
カナダ・サイバーセキュリティセンター(Cyber Centre)のAL26-013では、攻撃者は独自のソースコードと内部の設定データを含む約3,800のGitHub内部リポジトリの持ち出しに成功した[6]。
Nxは、影響を受ける版は18.95.0だけで、修正版は18.100.0だと説明した[4]。VSCodeとそのフォーク(Cursorなど)が攻撃の対象になり、Nx CLI(npmのnxパッケージ)、公式の@nx/*プラグイン、Nx Cloudは影響を受けていない[4]。
| 指標 | 値 | 資料 |
|---|---|---|
| Visual Studio Marketplaceの導入数(Microsoftのテレメトリ) | 28 | [4] |
| Open VSXの36分間のダウンロード | 41(21の固有IP) | [4] |
| Nxの社内の拡張機能の起動数(導入数ではなく起動数) | 約6,000 | [4] |
表1の導入数と社内の起動数の差は、NxがMicrosoftと照合している[4]。Nxのテレメトリは起動を数え、Microsoftは導入を数えるため、起動数が大きくなるのは想定どおりだとした[4]。
Sophosの5月21日の追記では、同社のMDRチームが脅威ハンティングで、影響を受けた顧客を複数特定した[20]。
対応と現状
GitHubは5月20日のブログで、ログの分析、シークレットの差し替えの検証、基盤での後続の活動の監視を続け、調査の結果に応じて追加の措置をとるとした[1]。5月26日の更新でも、調査は続いていると説明した[1]。
GHESの署名鍵の差し替え
GitHubによると、GHESの署名鍵は、手動で始める更新の手順でGitHubが提供元であることを検証するために、GHESのバイナリの署名に使う[1]。GitHubが配布するバイナリはすべて有効で、GitHub Enterprise Cloudでは対応は不要とした[1]。差し替えなければ、今後のGHESの更新は検証に失敗し、「The file provided is not a valid GitHub Enterprise Server package.」のエラーが出る[1]。
GHES 3.20.3のリリースノートでは、GHESのリリースパッケージの署名鍵は失効し、今後のリリースパッケージは新しい鍵だけで署名される[3]。
GitHubはGHESの管理者に、インスタンスのGPG公開鍵の差し替えを求めた[1]。
- GitHubが開発したスクリプトで差し替える[1]
- スクリプトはadminユーザーとsudoで2回実行し、HA・クラスター構成では全ノードで行う[16]
- GHESの更新は公式のGitHub.comの配布元のURLからだけ取得する[1]
- 今後数か月、GHESのセキュリティ更新がこれまでより高い頻度で出ることに備える[1]
GitHub Docsの手順書では、鍵を差し替えなくてもインスタンスは通常どおり動く[16]。3.16より前の版は新しいGPG鍵で再署名せず、3.13以前の版は3.14以上にするまでGPG公開鍵を差し替えられない[16]。
Cyber Centreは5月27日のAV26-512で、GitHubが5月26日にGHESの脆弱性に対処するセキュリティ勧告を公開したと伝えた[7]。
| 系列 | 修正版 | 資料 |
|---|---|---|
| 3.20.x | 3.20.3 | [7] |
| 3.19.x | 3.19.7 | [7] |
| 3.18.x | 3.18.10 | [7] |
| 3.17.x | 3.17.16 | [7] |
| 3.16.x | 3.16.19 | [7] |
Nxと当局の対応
Nxは、公開期間に18.95.0を入れた人は端末が侵害されたものとして扱い、認証情報を差し替えるべきだとした[4]。公開期間に自動更新を有効にしてNx Consoleを入れていた人にも、どの数字が正しいかにかかわらず、端末が侵害された可能性があるものとして扱うよう求めた[4]。不正を許した公開の手順の欠陥は修正し、同じ堅牢化を公開権限のある他のリポジトリにも広げたと説明した[4]。
AL26-013でCyber Centreが推奨したのは、CI/CDのログの確認、不正な版の除去、5月11日〜20日に開発者の端末にあった認証情報の差し替え、IDEの拡張機能の自動更新の停止、GHESのGPG公開鍵の差し替えである[6]。
未公表の事項
- 社員の端末からGitHub内部リポジトリに至った経路と、使われた認証情報
- GitHub自身による、持ち出されたリポジトリの件数の集計
- GitHubの内部リポジトリに含まれる利用者の情報の範囲と件数
- 署名鍵が持ち出されたかどうか
- 調査の完了後の詳しい報告(GitHubは、調査が終われば公表するとした[1])
注
出典
当事者
- [1]GitHub, Inc.『Investigation update: GitHub Enterprise Server signing key rotation』(2026年5月20日公開、2026年5月26日更新)
- [2]GitHub, Inc.『調査報告:GitHub Enterprise Serverサイニングキーローテーション』(2026年5月27日公開)
- [3]GitHub, Inc.『Enterprise Server 3.20 release notes(3.20.3)』(2026年5月26日公開、2026年11月3日更新)
- [16]GitHub, Inc.『Rotating the signing key for upgrade packages(GitHub Enterprise Server 3.17)』(公開日不明、2026年11月4日閲覧)
関係組織
- [4]Narwhal Technologies Inc.『Postmortem: Nx Console v18.95.0 supply-chain compromise』(2026年5月21日公開、2026年5月22日更新)
公的機関
- [5]CVE Program『CVE-2026-48027 Compromised Nx Console version 18.95.0』(2026年5月27日公開、2026年8月4日更新)
- [6]Canadian Centre for Cyber Security『Alert - AL26-013 Security incident impacting GitHub internal repositories』(2026年5月29日公開)
- [7]Canadian Centre for Cyber Security『GitHub security advisory (AV26-512)』(2026年5月27日公開)
- [19]Cybersecurity and Infrastructure Security Agency『Supply Chain Compromises Impact Nx Console and GitHub Repositories』(2026年5月28日公開、保存記録のみ) 保存記録
調査・観測
- [8]StepSecurity, Inc.『Nx Console VS Code Extension Compromised』(2026年5月18日公開)
- [9]Aikido Security BV『The Wild West of VS Code extensions and how a poisoned extension breached GitHub』(2026年5月20日公開)
- [20]Sophos Ltd.『GitHub internal repositories breached』(2026年5月20日公開、2026年5月22日更新)
報道機関
- [10]SecurityWeek『GitHub Confirms Hack Impacting 3,800 Internal Repositories』(2026年5月20日公開)
- [11]CyberScoop『GitHub says internal repositories were impacted in poisoned VS Code extension attack』(2026年5月20日公開)
- [14]The Hacker News『GitHub Internal Repositories Breached via Malicious Nx Console VS Code Extension』(2026年5月21日公開)
更新記録
- 2026年5月21日:公開した。
- 2026年5月22日:Sophosの報告の5月22日までの追記(出典20)を「経緯」と「影響範囲」に加え、Nxの事後報告の5月22日の更新(出典4)を出典の節に反映した。
- 2026年5月26日:GitHubのブログの5月26日の更新(出典1)、GHES 3.20.3のリリースノート(出典3)、署名鍵の差し替えの手順書(出典16)を加え、リードの最後の文と「時系列」「対応と現状」を改めた。
- 2026年5月27日:GitHubブログ日本語版の訳(出典2)、CVE-2026-48027の記録(出典5)、カナダ・サイバーセキュリティセンターのAV26-512(出典7)を加え、「時系列」「影響範囲」「対応と現状」と注を改めた。
- 2026年5月28日:CISAのアラート(出典19)を「時系列」に加えた。
- 2026年5月29日:カナダ・サイバーセキュリティセンターのAL26-013(出典6)を「時系列」「影響範囲」「対応と現状」に加えた。
- 2026年8月4日:CVE-2026-48027の記録の8月4日の更新(出典5)で加わったCISAのKEVへの追加を「時系列」に加えた。
- 2026年11月3日:GitHub Docsのリリースノートの11月3日の更新(出典3)を出典の節に反映した。
