VSCode拡張機能を狙った新たなサプライチェーン攻撃が発覚
2025年10月、HelixGuardの調査により、開発者に広く利用されているVSCode(Visual Studio Code)の拡張マーケットプレイスにおいて、深刻なサプライチェーン攻撃が発覚しました。Microsoft VSCode MarketplaceとOpenVSXで、少なくとも12件の悪性コンポーネントが確認され、うち4件は発見時点でまだ削除されていませんでした。
この攻撃は、開発者の信頼を逆手に取った極めて巧妙な手法で、単なる個人開発環境の侵害にとどまらず、企業のソースコード窃取、CI/CDパイプラインの侵害、さらには社内ネットワークへの横展開まで可能にする深刻なものです。
攻撃の手口:AI補助拡張を装った巧妙な仕組み
今回発見された悪性拡張機能は、以下のような情報を攻撃者のサーバに送信していました:
- ソースコードの内容
- 開発者の操作ログ
- クリップボードの内容
- スクリーンショット
- 検索クエリ
- プロジェクト名
特に注目すべきは、これらの拡張機能が「AI補助拡張」を装うケースが増えている点です。開発者の生産性向上という正当な目的を掲げることで、導入時の心理的障壁を大幅に下げているのが現状です。
実際のフォレンジック事例から見る被害の深刻さ
私がCSIRTメンバーとして対応した類似ケースでは、ある中小IT企業で開発者が「便利なコード補完拡張」をインストールしたところ、3週間後に顧客のプロジェクトソースコードが競合他社から流出していることが発覚しました。調査の結果、その拡張機能が開発中のソースコードを定期的に外部サーバに送信していたことが判明しました。
この事例では、被害企業は顧客との契約解除、損害賠償、信用失墜により、結果的に2億円以上の損失を被ることになりました。
発見された12件の悪性拡張機能の詳細
今回発見された悪性拡張機能の一部をご紹介します:
未削除の危険な拡張機能(発見時点)
Christine-devops1234.scraper(1.0.3–1.0.7)
- 端末ID、プロジェクト名、ソースコード、検索クエリを窃取
- 送信先:35.164.75.62:8080
Kodease.fyp-23-s2-08(0.10.0)
- 選択したコードを攻撃者管理のNgrokエンドポイントへ送信
- 送信先:https://9691-34-83-7-143.ngrok-free[.]app
sahil92552.CBE-456(0.0.2–0.0.6)
- 「コード解析」と称してソースコードを外部送信
- 送信先:bd22-125-63-104-106.ngrok-free[.]app/analyze
削除済みだが被害が深刻な拡張機能
teste123444212.teste123444212(0.0.1)
- 攻撃者サーバとの永続接続を確立
- 任意コード実行を許可するバックドア機能
ToToRoManComp.diff-tool-vsc(1.0.0)
- 逆シェルを確立し、端末の遠隔操作を許可
企業が直面する深刻なリスク
CI/CDパイプラインへの影響
現代のDevOps環境では、IDE拡張がCI/CDシークレットやクラウド資格情報に「近接」しています。これは、単一端末の侵害が以下のような連鎖的な被害につながる可能性を意味します:
- リポジトリ全体の侵害
- デプロイパイプラインの乗っ取り
- クラウドインフラの管理権限奪取
- 本番環境への不正アクセス
個人情報保護法への影響
開発環境に顧客データや個人情報が含まれる場合、これらの情報が外部流出すると個人情報保護法違反となり、企業は法的責任を問われる可能性があります。
今すぐ実施すべき対策
1. インベントリ把握と緊急チェック
以下のコマンドで、現在インストールされている拡張機能を確認してください:
code --list-extensions --show-versions
開発用VDI、CIビルダー、踏み台サーバも含めて横断的にチェックが必要です。
2. 悪性拡張機能の隔離・削除
該当する拡張機能を発見した場合:
- 即座にネットワーク隔離を実施
- VSCodeを終了
- 拡張機能をアンインストール
- .vscode/extensionsフォルダの残骸も削除
3. 資格情報の全面ローテーション
侵害された可能性がある端末では、以下の資格情報をすべてローテーションしてください:
- SSH鍵
- クラウドAPIキー
- パーソナルアクセストークン
- レジストリ・パッケージトークン
長期的なセキュリティ対策
拡張機能の導入ガイドライン策定
組織として、以下のような拡張機能導入ガイドラインの策定をお勧めします:
- 公式または信頼できる開発者からの拡張機能のみ許可
- ダウンロード数と評価の最低基準設定
- 定期的なレビューとアップデート管理
- セキュリティ部門による事前承認プロセス
ネットワークレベルでの防御
- Ngrok、CloudFrontの悪性パスへのアクセスブロック
- SASE/Proxyによるカテゴリ単位のアクセス制御
- 異常な外部通信の監視・アラート設定
個人開発者・フリーランスの方への推奨対策
企業規模でない個人開発者やフリーランスの方も、以下の対策は最低限実施することをお勧めします:
まず、信頼できるアンチウイルスソフト
を導入し、定期的なスキャンを実行してください。また、開発環境と本番環境のネットワークを分離し、必要に応じてVPN
を使用して通信を暗号化することも重要です。
個人規模でもWebサイト脆弱性診断サービス
を活用することで、作成したWebアプリケーションの脆弱性を事前に発見し、セキュリティリスクを軽減できます。
インシデント対応時のフォレンジック調査ポイント
もし悪性拡張機能の感染が疑われる場合、以下の点を重点的に調査してください:
ログ分析のポイント
- プロキシ・EDRログでIOCへの通信履歴を確認
- アクセス時刻、送信データ量、プロセス親子関係の特定
- 録画・スクリーンキャプチャの痕跡調査
ソースコード・リポジトリの確認
- 不審なPush・Issue・PRの履歴調査
- パイプライン設定の変更履歴確認
- シークレット情報の回収状況確認
まとめ:サプライチェーン攻撃への備えを万全に
今回のVSCode拡張機能を狙った攻撃は、サプライチェーン攻撃の新たな形態として注目すべき事例です。開発者の信頼と利便性を悪用した巧妙な手口は、今後も進化し続けると予想されます。
個人開発者から大企業まで、すべての開発組織が以下の点を念頭に置いた対策を講じる必要があります:
- 拡張機能導入時の厳格な審査プロセス
- 定期的なセキュリティ監査と脆弱性評価
- 多層防御によるリスク軽減
- インシデント対応計画の策定と訓練
サイバー攻撃の手口は日々巧妙化しています。「自分は大丈夫」という油断こそが、最大の脆弱性となり得ることを忘れないでください。

