研究者によると、ソフトウェアサプライチェーン攻撃がVisual Studio Code(VS Code)Marketplaceに侵入していた。2025年2月以降、19個の悪意ある拡張機能が活動していたという。
拡張機能の一部は正規パッケージになりすまし、無害に見えるPNG画像ファイルの中に実行可能なマルウェアを隠していた。
脅威アクターは「…人気があり、本来は安全なパッケージを、悪意ある拡張機能のいずれかが使われた瞬間に爆発する時限爆弾へと変えている」とReversing Labsの研究者は述べた。
攻撃を受ける開発者環境。
このキャンペーンは、より広範なソフトウェアサプライチェーンへの入り口になることが多い開発者環境を狙う脅威が、深刻化していることを示している。
ReversingLabsによると、VS Code拡張機能に関連するマルウェア検出件数は2025年にほぼ4倍となり、2024年の27件から、2025年最初の10カ月間には105件へ増加した。
開発者は通常、Marketplaceの拡張機能を信頼し、手動で検査せずにインストールするため、侵害されたパッケージはセキュリティ対策を容易にすり抜け、汚染されたコードや窃取された認証情報を通じて本番システムに到達する可能性がある。
VS Code拡張機能に潜むマルウェア。
この攻撃は、すべての依存関係(npmパッケージを含む)をローカルのnode_modulesフォルダーにまとめるVS Code拡張機能の構造を改ざんすることで成立している。
ReversingLabsは、広く使われているpath-is-absoluteパッケージが、2021年以降に90億回を超えてダウンロードされているにもかかわらず、改ざんされていたことを確認した。
攻撃者はパッケージのindex.jsファイルに悪意あるロジックを追加し、VS Codeの起動時に自動実行されるようにした。
起動すると、改変されたパッケージは悪意あるbanner.pngファイルに埋め込まれたJavaScriptドロッパーをデコードする。
ドロッパーは、base64エンコードや文字列の反転など多層的な難読化技術で隠されており、手動での検査を極めて困難にしていた。
実行されると、ドロッパーはcmstp.exeを使って2つのバイナリを展開した。cmstp.exeは正規のWindowsツールだが、コード実行に悪用されることが多い。
一方のバイナリは攻撃者による制御を担い、もう一方はRustで記述され、より高度な機能を備えていた。
さらに4つの拡張機能は別の隠蔽手法を使い、PNG画像ではなく.tsファイルや.mapファイルにバイナリを格納していた。これは、脅威アクターが試行錯誤を重ねていたことを示唆している。
悪意ある拡張機能はいかに信頼をすり抜けるか。
問題の根本原因は、VS Code拡張機能のパッケージ化と信頼の仕組みにある。
拡張機能は依存関係をローカルにまとめ、追加のダウンロードを要求せずに実行するため、改ざんされたコンポーネントが正規に見える拡張機能の内部でシームレスに動作してしまう。
悪意あるコードはユーザーの操作なしに起動時に自動実行され、インストール時の警告やウイルス対策ツール、Marketplaceの検証をすり抜ける。
この、悪用の容易さ、検出の困難さ、永続性が組み合わさることで、コード改ざん、認証情報の窃取、CI/CDへのアクセス、下流の顧客侵害を可能にする深刻なサプライチェーン脅威となっている。
開発者ワークフローのリスクを低減する。
開発者向けツールは、ソフトウェアサプライチェーンをひそかに侵害しようとする攻撃者にとって、魅力的な標的になっている。
悪意ある拡張機能は信頼されたワークフローに紛れ込み、自動実行され、多くの従来型セキュリティ対策を回避できる。
こうした脅威から守るには、開発者環境を単なる生産性向上ツールではなく、高リスク資産として扱う必要がある。
- インストール済みのVS Code拡張機能を監査して削減するには、作成者、バージョン履歴を確認し、信頼できないプラグインや未使用のプラグインを削除する。
- 拡張機能の許可リストと社内審査を徹底するには、マーケットプレイスをミラーリングするか、導入前に拡張機能を承認する。
- 拡張機能と同梱された依存関係をスキャンするには、インストール前に静的解析と動的解析を行う。
- 開発者向けツールの実行とネットワーク動作を制限するには、エンドポイント制御、アプリケーションの許可リスト、送信トラフィックのフィルタリングを利用する。
- 開発者のエンドポイントを監視して不審なIDEの動作を検知する。予期しないプロセス、画像のデコード活動、永続化の試みなどが対象となる。
- 開発者環境を分離し、認証情報をローテーションすることで、拡張機能が侵害された場合の被害範囲を抑える。
- コード完全性チェックでCI/CDパイプラインを強化する。最小権限アクセスと、悪用を検知する継続的な監視も実施する。
これらの対策を組み合わせることで、開発者の生産性を損なわずに拡張機能のリスクを低減できる。
攻撃を受けるソフトウェアサプライチェーン。
このキャンペーンは、開発者エコシステムとソフトウェアサプライチェーンを標的にする方向へと、より広範な転換が進んでいることを示している。そこでは信頼が暗黙のものとなっており、侵害は急速に拡大する。
攻撃者は、path-is-absoluteのように広く使われている依存関係を改ざんすることで、日々の開発ワークフローの中核としてVS Codeに依存する組織へ効率的にアクセスできる。
攻撃者が信頼された依存関係を大規模に悪用する中、ソフトウェアサプライチェーンセキュリティは防御に不可欠な要素となる。





