VSCode拡張機能が攻撃の入口に — Nx Console侵害でGitHub内部3,800リポジトリ流出


Nx Console サプライチェーン攻撃の連鎖 ① TanStack npm パッケージ侵害 (TeamPCP) ② Nx開発者のトークン GitHubトークン窃取 (DNS tunneling) ③ Nx Console v18.95.0 公開 18分間・約6,000件DL ④ 開発者マシン感染 AWS/GCP/SSH/npmなど 全認証情報を窃取 ⑤ GitHub内部侵害 内部リポジトリ3,800件 (OpenAI・Grafanaも被害) Megalodon(同日) 5,561リポジトリへ不正コミット 449GB流出(6時間で実行) 2026年5月18日 同日発生
サプライチェーン攻撃の連鎖:TanStack侵害からGitHub内部流出まで
ひよこ ひよこ

ペンギン先生、今週「GitHubが内部リポジトリを大量に流出させた」ってニュースを見たんだけど、これって何が起きたの?

ペンギン先生 ペンギン先生

2026年5月18日に、GitHubの内部ソースコードリポジトリが約3,800件流出したと発表されたんだよ。しかも攻撃の入口は、みんながよく使う「VSCode拡張機能」だったんだ。

ひよこ ひよこ

VSCode拡張機能って、コードを書くときに使うプラグインのこと?それって危ないものだったの?

ペンギン先生 ペンギン先生

普段は安全なんだけどね。「Nx Console」という220万インストール以上の人気拡張機能に、悪意のあるコードが仕込まれたバージョンが公開されたんだよ。インストールするとGitHubトークン(アクセスキーみたいなもの)が自動的に盗まれる仕掛けだったんだ。

ひよこ ひよこ

でも、すぐ削除されたってニュースに書いてあったけど、それでも被害が出たの?

ペンギン先生 ペンギン先生

悪意あるバージョンが公開されていたのはたった18分間。でも、自動アップデートが走って約6,000件のインストールが発生したんだ。そのなかにGitHub社員のマシンも含まれていて、盗まれたトークンを使って内部にアクセスされてしまった。OpenAIGrafana Labsも同じ経路で被害を受けたよ。

ひよこ ひよこ

そもそも、どうやって拡張機能に悪いコードを仕込めたの?

ペンギン先生 ペンギン先生

実は1段階では侵入できなかったんだ。まず「TanStack」というnpmパッケージが侵害されて、それを使っていたNxの開発者のGitHubトークンが盗まれた。攻撃グループ「TeamPCP」はそのトークンを使ってNxの公式リポジトリに悪いコードを仕込み、Marketplace経由で公開したんだよ。

ひよこ ひよこ

連鎖してるんだね……。同じ日に「Megalodon」って攻撃もあったって聞いたけど、それは別の話?

ペンギン先生 ペンギン先生

そう、Megalodonは別グループによる大規模スパム型攻撃だよ。わずか6時間で5,561個のGitHubリポジトリに悪意あるGitHub Actionsワークフローを注入して、5,718件の不正コミットを行った。2026年5月18日は、GitHubへの大規模攻撃が重なった「ブラックデー」とも言えるね。2026年の主要サプライチェーン攻撃をまとめるとこうなるよ。

攻撃名日時被害規模手口
Nx Console侵害(TeamPCP)2026年5月18日GitHub内部3,800リポジトリ流出VSCode拡張機能に悪意コード
Megalodon2026年5月18日5,561リポジトリ・449GB流出GitHub Actions改ざん
Vercel AI Tool侵害2026年4月内部システムへの不正アクセスAIツール経由でトークン窃取
Trivy・KICS侵害2026年3月セキュリティツール経由で感染拡大npmパッケージ改ざん
ReversingLabs調べでは、2025年のOSSマルウェアは前年比73%増。開発ツールそのものが攻撃の連鎖の中に組み込まれる時代になってきているんだよ。

ひよこ ひよこ

こわい……。普通の開発者がGitHubを使うだけでも危ないの?

ペンギン先生 ペンギン先生

公開リポジトリを使っているだけなら直接の被害は少ないけど、CI/CDパイプラインにシークレットを埋め込んでいると、Megalodonのようなワークフロー改ざんで盗まれる可能性があるよ。あと「拡張機能は公式Marketplaceから入れているから安全」という思い込みは今回で崩れたね。

ひよこ ひよこ

じゃあ、私たちにできる対策って何かあるの?

ペンギン先生 ペンギン先生

3つのポイントを覚えておいて。①拡張機能のバージョンを固定する(.vscode/extensions.jsonでバージョン指定)、②GitHubトークンの権限を最小限にして有効期限を設ける、③CI/CDのシークレットをリポジトリに直接書かず、GitHub Environmentsや専用のシークレット管理ツールを使うこと。それと、今回のNx Consoleのケースでは「StepSecurity」というサービスが異常な動作を検知して早期発見に貢献したよ。こういったCI/CD監視ツールの導入も有効な対策だよ。