VSCode Marketplaceの悪意ある拡張機能、偽のPNGファイルにトロイの木馬を隠蔽

概要:開発者を狙う新たな脅威

VSCode Marketplace上で、開発者を標的としたステルス性の高いキャンペーンが発覚しました。昨年2月以降、19の悪意ある拡張機能がトロイの木馬を偽のPNGファイルに隠し、サプライチェーン攻撃を仕掛けていたことが、セキュリティ研究機関ReversingLabsの調査により明らかになりました。

巧妙な攻撃手口

攻撃者は、広く利用されているVSCodeの拡張機能にマルウェアを仕込むため、巧妙な手口を用いていました。彼らは、通常npmレジストリから取得される依存関係のダウンロードを防ぐため、悪意のある拡張機能をあらかじめnode_modulesフォルダを同梱した状態で配布していました。

このバンドルされたフォルダ内には、正規の依存関係である「path-is-absolute」または「@actions/io」が改変された形で含まれており、そのindex.jsファイルに追加されたクラスが、VSCode IDEの起動時に自動的に実行されるように仕組まれていました。特にpath-is-absoluteは2021年以降90億回以上ダウンロードされている極めて人気のあるパッケージであり、その悪用は広範囲に影響を及ぼす可能性がありました。

偽装されたマルウェアの実態

index.jsファイルに挿入された悪意あるコードは、まずlockという名前のファイル内に隠された難読化されたJavaScriptドロッパーをデコードします。さらに、依存関係フォルダ内には「banner.png」と名付けられた、まるでPNG画像ファイルのように偽装されたアーカイブファイルが存在していました。

この偽装されたアーカイブの中には、以下の二つの悪意あるバイナリが潜んでいました:

  • リビング・オフ・ザ・ランド (LoLBin) バイナリcmstp.exe
  • Rustベースのトロイの木馬:その詳細な機能はReversingLabsによって現在も分析中ですが、システム侵害を目的としていると見られています。

これらの拡張機能は、「Malkolm Theme」「PandaExpress Theme」「Prada 555 Theme」「Priskinski Theme」といった、バージョン番号1.0.0で公開された様々な名称のバリエーションで展開されていました。

発見とMicrosoftの対応、そしてユーザーへの警告

ReversingLabsはこの悪質なキャンペーンをMicrosoftに報告し、BleepingComputerの確認によると、関連する全ての拡張機能は既に削除されています。しかし、これらの拡張機能をインストールしてしまったユーザーは、システムが侵害されていないかスキャンを実施することが強く推奨されます

脅威アクターが開発者向けの公開リポジトリで検出を回避する新たな方法を見つけ続けているため、ユーザーはパッケージのインストール前に、特に以下の点に注意を払うことが重要です:

  • ソースの信頼性:信頼できる発行元からのものであるかを確認する。
  • 依存関係の検査:npmなどの信頼できるソースからプルされない、バンドルされた依存関係については特に慎重に検査する。

今回の事案は、ソフトウェアサプライチェーンセキュリティの重要性を改めて浮き彫りにしています。


元記事: https://www.bleepingcomputer.com/news/security/malicious-vscode-marketplace-extensions-hid-trojan-in-fake-png-file/