サイバーセキュリティ · 1 min read · Sep 07, 2025
悪意のあるVS Code拡張機能がマーケットプレイスの抜け穴を悪用

サイバーセキュリティ研究者は、攻撃者が削除された拡張機能の名前を再利用できるMicrosoftのVisual Studio Code(VS Code)マーケットプレイスの抜け穴を発見しました。これにより、信頼できるツールのふりをしてマルウェアが開発者のワークフローに侵入する可能性があります。
サプライチェーンセキュリティ企業ReversingLabs(RL)の研究者は、6月にahbanC.shibaという一連の悪意のある拡張機能を追跡した後、この問題を発見しました。この拡張機能は、今年初めにフラグが立てられた以前の2つの拡張機能、ahban.shibaおよびahban.cychelloworldと同じ機能を持っていることが判明しました。これらはすでにマーケットプレイスから削除されていました。
これにより、重要な疑問が浮かび上がりました。マーケットプレイスのルールによれば、VS Codeはすべての拡張機能名をユニークである必要があるとしていますが、どのようにして「shiba」が異なるパブリッシャーの下で再出現したのでしょうか。
攻撃の仕組み
前の拡張機能と同様に、ahbanC.shiba拡張機能は単純なダウンローダーとして機能しました。この拡張機能は、shiba.aowooという1つのコマンドのみを登録し、リモートサーバー(54.85.145.93)からPowerShellスクリプトを取得しました。
オペレーティングシステムに応じて、スクリプトはtestShibaフォルダー内のファイルを暗号化し、身代金として1つの柴犬トークン(Ethereumに基づく暗号通貨)を要求しました。しかし、以前のバージョンと同様に、ウォレットアドレスは提供されておらず、ランサムウェアキャンペーンはまだ開発中であることを示唆しています。
ahban.shibaおよびahban.cychelloworld拡張機能が削除されたとき、研究者はその名前が永久に退役するだろうと考えました。しかし、その数週間後の3月下旬に、新しい拡張機能—ahbanC.shiba—がマーケットプレイスに登場し、前の拡張機能と同じ悪意のあるコードを持っていました。これは、VS Codeマーケットプレイスで削除された拡張機能の名前が全くロックされておらず、自由に再利用できることを驚くべきことに証明しました。
隠れたマーケットプレイスの抜け穴
なぜこれが起こったのかを理解するために、RLはマーケットプレイスの拡張機能管理システムを掘り下げました。彼らの調査は、問題がVS Codeが拡張機能の削除をどのように扱うかにあることを明らかにしました。マーケットプレイスのパブリッシャーには、2つのオプションがあります:未公開または削除。
- 未公開の拡張機能はマーケットプレイスから消えますが、元の名前と統計に結びついたままです。他の誰も再公開することはできません。言い換えれば、誰もその名前を主張することはできません。
- 削除された拡張機能は、マーケットプレイスから完全に消去されます。これにより、その名前は再び利用可能になり、誰でも—悪意のある行為者を含む—それを主張し、同じ名前の下で悪意のあるコードを公開することができます。
言い換えれば、正当な拡張機能が削除されると、その信頼できる名前は実質的に奪われることになります。RLは、以前に削除されたパッケージに結びついた名前を使用してテスト拡張機能を成功裏に公開することでこれを確認しました。これには、Solidity-Ethereumのようなマルウェアの履歴を持つものも含まれます。
オープンソースエコシステムにおける広範な問題
名前の再利用が悪用されたのはこれが初めてではありません。2023年初頭、RLはPythonパッケージインデックス(PyPI)でも削除されたパッケージの名前の再利用が許可されていることを発見しました。悪意のあるパッケージtermcolourは、元の正当なものが削除された数年後に再出現しました。
PyPIはその後、悪意のあるパッケージに関連する名前の再利用を防ぐための制限を実施しましたが、VS Codeマーケットプレイスにはそのような保護がありません。
「この抜け穴の発見は、新たな脅威を暴露します:削除された拡張機能の名前は再利用可能であり、誰でも再利用できるということです。つまり、非常に人気のある正当な拡張機能が削除されると、その名前は奪われることになります」と、ReversingLabsのソフトウェア脅威研究者Lucija Valentiはブログ記事で述べました。
開発者ができること
Microsoftはまだマーケットプレイスの抜け穴に対する修正を発表していませんが、セキュリティ専門家は開発者が警戒を怠らないように強調しています。彼らは、名前が馴染みのあるものであっても、インストール前に拡張機能を慎重に確認し、拡張機能名だけに頼らずにパブリッシャーアカウントを確認することを推奨しています。
さらに、悪意のあるパッケージを検出できるセキュリティツールを使用して依存関係を継続的に監視することも推奨されます。加えて、開発者はVS Codeマーケットプレイスを含む複数のリポジトリで無料のリスク評価を提供するプラットフォームを利用することができます。**
「このキャンペーンから学ぶべき教訓は、VS Codeマーケットプレイスや他のオープンソースリポジトリには多くの危険が潜んでいることを忘れないことが重要であるということです。これらのプラットフォームの開発者やユーザーは、開発サイクルに何が含まれているかを意識し、注意を払うことが不可欠です」とValentiは結論づけました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。