VS Code に悪意の ChatGPT エクステンション:正常に動作しながらソースコードを中国へ送信

Malicious VS Code AI Extensions with 1.5 Million Installs Steal Developer Source Code

2026/01/26 TheHackerNews — 2 つの悪意の Microsoft Visual Studio Code (VS Code) エクステンションが、サイバーセキュリティ研究者たちにより発見された。それらは、AI を活用したコーディング支援ツールとして宣伝されているが、開発者のデータを中国拠点のサーバへ密かに送信する機能を内包している。この悪意のエクステンションは、合計で約 150 万件のインストール実績を持ち、現在も公式の Visual Studio Marketplace からダウンロード可能な状態にある。

悪意のエクステンションは以下の 2 件である。

  • ChatGPT – 中文版 (ID: whensunset.chatgpt-china):インストール数:1,340,869
  • ChatGPT – ChatMoss(CodeMoss)(ID: zhukunpeng.chat-moss):インストール数:151,751

Koi Security によると、これらのエクステンションは表向きには正常に動作し、期待通りの機能を提供する。その一方で、ユーザーの認識や同意なしに、開いているすべてのファイルおよびソースコードの変更内容を、中国に所在するサーバへ送信する。このキャンペーンは、MaliciousCorgi と命名されている。

Koi のセキュリティ研究者 Tuval Admoni は、「両者には同一の悪意あるコードが含まれており、異なるパブリッシャ名の下で、同じスパイウェア基盤が稼働している」と述べている。

これらのエクステンションは宣伝通りに動作し、オートコンプリート補助やコーディングエラーの説明を提供するため、ユーザーに不審感を抱かせにくい点が、特に危険である。その裏側で、組み込まれた悪意のコードは、すべての開かれたファイル内容を読み取り、Base64 形式でエンコードした上で、中国に所在するサーバ “aihao123[.]cn” に送信するよう設計されている。この処理は、コードの編集が行われるたびにトリガされる。

また、このエクステンションには、リアルタイム監視機能も組み込まれており、サーバ側からの指示により、ワークスペース内の最大 50 ファイルを外部へ送信できる。さらに、エクステンションの Web View 内には、非表示のゼロ・ピクセル iframe が存在し、4 種類の商用アナリティクス用ソフトウェア開発キット (SDK) を読み込むことで、端末のフィンガープリントを取得し、詳細なユーザー・プロファイルを作成する。

悪用されていた 4 つの SDK は、Zhuge.io/GrowingIO/TalkingData/Baidu Analytics であり、いずれも中国を拠点とする主要なデータ分析プラットフォームである。

PackageGate により JavaScript パッケージ・マネージャが影響を受ける

この開示と同時に、Koi が発表したものには、npm/pnpm/vlt/Bun といった JavaScript パッケージ・マネージャに存在する、6 件のゼロデイ脆弱性の特定がある。これらを悪用する攻撃者は、パッケージ・インストール時においてセキュリティ制御を無効化し、ライフサイクル・スクリプトの自動実行を許すものであり、総称して PackageGate と命名されている。

ライフサイクル・スクリプトを無効化する (–ignore-scripts) ことや、ロックファイル (package-lock.json) をコミットすることは、サプライチェーン攻撃への対策として重要な仕組みとなってきた。特に、postinstall スクリプトを利用して npm トークンを乗っ取り、悪意のパッケージをレジストリへ公開する、ワーム型攻撃 Shai-Hulud の出現以降において、その重要性は増している。

しかし Koi Security は、これら 4 種類のパッケージ・マネージャすべてにおいて、スクリプト実行防止やロックファイル整合性チェックの回避が可能であることを確認した。責任ある開示を経て、pnpm (バージョン 10.26.0)/vlt (バージョン 1.0.0-rc.10)/Bun (バージョン 1.3.5) では修正が行われている。pnpm は、2 件の脆弱性を CVE-2025-69264 (CVSS スコア 8.8)/CVE-2025-69263 (CVSS スコア 7.5) として追跡している。

その一方で、npm は脆弱性の修正を行わない判断を下しており、”ユーザーはインストールするパッケージの内容を自ら精査する責任がある” としている。コメントを求められた GitHub の広報担当者は、「npm はレジストリ内のマルウェアを積極的にスキャンしており、新たな問題への対応に取り組んでいる」と The Hacker News に述べている。

同社は、「git 経由でインストールされるパッケージに prepare スクリプトが含まれている場合には、その依存関係および devDependencies がインストールされる。これはチケット提出時にも共有した通り、意図された設計であり、仕様通りに動作している。ユーザーが、git 依存関係をインストールする際には、そのリポジトリ全体の内容、コンフィグ・ファイルを含めて信頼することになる」と付け加えている。

Microsoft 傘下の同社が推奨するのは、ソフトウェア・サプライチェーンを保護するための、信頼されたパブリッシングの採用や、二要素認証 (2FA) を強制した粒度の細かいアクセス・トークンの利用である。2025年9月時点で、GitHub は従来のクラシック・トークンを非推奨とし、公開権限を持つ粒度の細かいトークンの有効期限を短縮し、ローカルからのパッケージ公開における 2FA 回避オプションを削除している。

セキュリティ研究者 Oren Yomtov は、「スクリプトを無効化し、ロックファイルをコミットするという標準的な助言は、今でも有効である。しかし、それだけでは十分ではない。PackageGate が完全に解決されるまで、組織はリスクについて自ら判断を下す必要がある」と述べている。