悪意のあるVisual Studio Code(VS Code)拡張機能を利用した新たなキャンペーンにより、VS Code Marketplaceにおいて、削除されたパッケージの名前を脅威アクターが再利用できる抜け穴が明らかになりました。
「shiba」という名前を持つこれらの拡張機能は、複数段階の攻撃を通じてランサムウェアを配布していました。
攻撃の仕組み
ReversingLabsの研究者は、悪意のある拡張機能の1つであるahbanC.shibaが単純なダウンローダーであることを発見しました。
インストールされると、shiba.aowooコマンドを実行し、リモートサーバーから2つ目のペイロードを取得しました。このスクリプトは指定されたテストフォルダ内のファイルを暗号化し、支払いとしてイーサリアムベースの暗号通貨であるShiba Inuトークン1つを要求しました。特筆すべきは、以前のケース同様、実際の支払い用ウォレットアドレスは提供されていませんでした。
この手法は、攻撃者が削除されたパッケージの名前を再利用してマルウェアを拡散したPython Package Index(PyPI)の以前のケースを反映しています。
しかし、VS Code Marketplaceでの名前の再利用は、拡張機能の名前は一意でなければならないとするプラットフォーム自身のドキュメントと矛盾しています。
ソフトウェアサプライチェーン攻撃についてさらに読む:サプライチェーンインシデントがグラスゴー市議会のサービスとデータを危険にさらす
ReversingLabsの調査によると、この問題はVS Codeが拡張機能の削除をどのように扱うかに起因しています。Marketplaceのパブリッシャーは、拡張機能を「非公開」にするか「削除」するかを選択できます。非公開にされた拡張機能は名前と統計情報が保持されますが、削除された拡張機能は名前が解放され、誰でも再利用できるようになります。このギャップにより、攻撃者は以前削除された拡張機能に関連する名前で悪意のあるコードを再公開できてしまいました。
ReversingLabsは、「Solidity-Ethereum」など、過去に悪意のあるパッケージで使われていた名前で新たなテスト拡張機能を公開することに成功し、この欠陥を確認しました。
マルウェア配布におけるより広範な影響
shibaキャンペーンのタイムラインでは、この手法が繰り返し使われていたことが示されました。異なるパブリッシャーによる同じ名前の拡張機能が、2024年後半から2025年中頃にかけて登場しています。
研究者らは、この事件がBlack Bastaのようなランサムウェアグループと関連している可能性は低いものの、パブリックリポジトリをマルウェア配布に活用しようとする犯罪者の関心と一致していると指摘しています。
ReversingLabsの調査結果から得られる主なポイントは以下の通りです:
-
削除された拡張機能の名前は自由に再利用できる
-
悪意のあるアクターがこれを悪用して正規ツールになりすますことができる
-
開発者はMarketplaceのパッケージ追加時に注意を払う必要がある
「VS Code Marketplaceは、悪意のあるアクターの間でますます人気になっています」とReversingLabsの研究者は述べています。
「この抜け穴の発見は、新たな問題の火種となります。」
執筆時点では、Microsoftがパッケージ削除後に異なるパブリッシャーが拡張機能名を再利用できる問題に対して、特別な対応を取ったという公的な情報はありません。
翻訳元: https://www.infosecurity-magazine.com/news/vs-code-extensions-exploit-name/