コンテンツにスキップするには Enter キーを押してください

研究者、VS Codeの脆弱性を発見 ― 攻撃者が削除済み拡張機能を同名で再公開可能に

2025年8月28日Ravie Lakshmananマルウェア / ランサムウェア

Image

サイバーセキュリティ研究者は、Visual Studio Code Marketplaceにおいて、脅威アクターが過去に削除された拡張機能の名前を再利用できる抜け穴を発見しました。

ソフトウェアサプライチェーンセキュリティ企業のReversingLabsは、悪意のある拡張機能「ahbanC.shiba」を特定した後にこの発見をしたと発表しました。この拡張機能は、今年3月に警告された他の2つの拡張機能(ahban.shibaおよびahban.cychelloworld)と同様の動作をしていました。

これら3つのライブラリはいずれも、外部サーバーからPowerShellペイロードをダウンロードし、被害者のWindowsデスクトップ上の「testShiba」というフォルダ内のファイルを暗号化し、資産を不明なウォレットに入金することでShiba Inuトークンを要求するダウンローダーとして設計されています。これらの動きは、脅威アクターによる継続的な開発の試みを示唆しています。

同社は、新しい拡張機能(「ahbanC.shiba」)の名前が、以前特定された2つのうちの1つ(「ahban.shiba」)とほぼ同じであったことから、さらに調査を進めることにしたと述べています。

各拡張機能には、パブリッシャー名と拡張機能名(例:<publisher>.<name>)の組み合わせによる一意のIDが必要である点に注意が必要です。ReversingLabsが調査したケースでは、両者はパブリッシャー名のみが異なり、拡張機能名自体は同じままでした。

しかし、Visual Studio Codeの公式ドキュメントによると、拡張機能マニフェストで指定される<name>フィールドは「すべて小文字でスペースなし」で、「Marketplace内で一意でなければならない」とされています。

「では、公式ドキュメントの公開ルールにもかかわらず、なぜahban.shibaとahbanC.shibaの拡張機能が同じ名前を持つことになったのでしょうか?」と、セキュリティ研究者のLucija Valentić氏は問いかけています。最終的に彼女は、拡張機能がリポジトリから削除された場合にのみ、同じ名前を再利用できることを突き止めました。ただし、この挙動は著者が拡張機能を非公開にした場合には当てはまりません。

削除されたライブラリ名の再利用が可能であることは、2023年初頭にReversingLabsが実証したように、Python Package Index(PyPI)リポジトリにも当てはまる点に注意が必要です。

当時、パッケージを削除すると、プロジェクト名は「他のPyPIユーザーが利用可能」になり、配布ファイル名(プロジェクト名、バージョン番号、配布タイプの組み合わせ)が削除済み配布物で使われていたものと異なれば再利用できることが判明しました。

ただし、PyPIでは、悪意のあるパッケージで最初に使用された場合、そのパッケージ名を利用不可にする例外が設けられています。Visual Studio Codeには、悪意のある拡張機能名の再利用を防ぐ同様の制限はないようです。

Image

この動向は、リークされたBlack Bastaのチャットログ観察されたように、脅威アクターがランサムウェアライブラリでオープンソースレジストリを汚染し、インストールした被害者から身代金を要求する手法に注目していることを示しています。これにより、組織や開発者が安全な開発手法を採用し、これらのエコシステムをソフトウェアサプライチェーンの脅威から積極的に監視することがますます重要になっています。

「この抜け穴の発見は、新たな脅威を明らかにします。つまり、削除された拡張機能の名前は誰でも再利用できるということです」とValentić氏は述べています。「つまり、もし正当で非常に人気のある拡張機能が削除された場合、その名前は誰でも取得できる状態になります。」

この発見はまた、Windowsシステムを標的とし、パスワードやクレジットカード、暗号通貨ウォレットデータ、ユーザーのクッキーをrailway[.]appのURLまたはディスコードのWebhook(フォールバック手段)に送信できるGoogle Chromeブラウザ情報窃取型の悪意あるnpmパッケージ8件が特定されたことにも続いています。

これらのパッケージは、ruerおよびnpjunというユーザーによって公開されており、以下の通りです。

  • toolkdvv(バージョン 1.1.0, 1.0.0)
  • react-sxt(バージョン 2.4.1)
  • react-typex(バージョン 0.1.0)
  • react-typexs(バージョン 0.1.0)
  • react-sdk-solana(バージョン 2.4.1)
  • react-native-control(バージョン 2.4.1)
  • revshare-sdk-api(バージョン 2.4.1)
  • revshare-sdk-apii(バージョン 2.4.1)

これらのパッケージの注目すべき点は、70層にも及ぶ難読化コードを使ってPythonペイロードを展開し、データ窃取と流出を容易にするよう設計されていることです。

「オープンソースソフトウェアリポジトリは、サプライチェーン攻撃の一環として攻撃者の主な侵入経路の1つとなっており、タイポスクワッティングやなりすましなど、正規を装う手法が増加しています」とJFrogのセキュリティ研究者Guy Korolevski氏は述べています。

「従来のセキュリティを回避し、機密データを盗むために設計された多層的な巧妙なキャンペーンの影響は、厳格な自動スキャンと、すべてのソフトウェアコンポーネントの単一の信頼できる情報源による、ソフトウェアサプライチェーン全体の可視性の重要性を浮き彫りにしています。」

翻訳元: https://thehackernews.com/2025/08/researchers-find-vs-code-flaw-allowing.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です