VSCode

2つの悪意のあるVSCodeマーケットプレイス拡張機能が、開発中のランサムウェアを展開していることが発見され、マイクロソフトの審査プロセスにおける重大なギャップが露呈した。

ahban.shiba」と「ahban.cychelloworld」と名付けられたこの拡張機能は、最終的にストアから削除されるまで、それぞれ7回と8回ダウンロードされました。

注目すべきは、これらの拡張機能が2024年10月27日(ahban.cychelloworld)と2025年2月17日(ahban.shiba)にVSCode Marketplaceにアップロードされ、安全審査プロセスを回避してMicrosoftのストアに長期間残っていたことです。

VSCode Marketplaceは、開発者がVisual Studio Code(VSCode)用の拡張機能を検索、インストール、共有できるオンラインプラットフォームである。ソフトウェアやウェブの開発者、データサイエンティスト、プログラマーに広く利用されている。

ReversingLabsは、この2つの拡張機能には、Amazon AWS上でホストされているリモートサーバーからランサムウェアとして動作する別のPSスクリプトをダウンロードして実行するPowerShellコマンドが含まれていることを発見しました。

Tweet

このランサムウェアは、C:¥users%username%¥Desktop¥testShibaフォルダ内のファイルのみを暗号化し、他のファイルには一切触れないことから、明らかに開発中またはテスト中であることがわかります。

ファイルの暗号化が完了すると、スクリプトは「ファイルが暗号化されました。ファイルを復元するには、ShibaWalletに1 ShibaCoinを支払ってください。”と表示されます。通常のランサムウェア攻撃のように、身代金のメモやそれ以上の指示は表示されません。

Malicious PowerShell script
悪意のあるPowerShellスクリプト
Source:ReversingLabs

ReversingLabsは、研究者が報告した後、MicrosoftはすぐにVSCode Marketplaceから2つの拡張機能を削除したと述べている。

しかし、ExtensionTotalのセキュリティ研究者であるItaly Kruk氏は、同社の自動スキャナがこの拡張機能を発見し、しばらく前にMicrosoftに報告したが、何の反応もなかったと述べている。

Kruk氏は、ahban.cychelloworldは最初のアップロードでは悪意がなかったと説明する。このランサムウェアコードは、2回目の投稿であるバージョン0.0.2で追加され、2024年11月24日にVSCode Marketplaceで承認された。

“私たちは2024年11月25日に、私たちのスキャナによって生成された自動レポートを通じて、ahban.cychelloworldをMicrosoftに報告しました。

“問題の拡張機能のインストール数が少なかったため、マイクロソフトはそのレビューを優先しなかった可能性がある。”

それ以来、ahban.cychelloworld拡張機能はさらに5つのリリースがあり、すべて悪質なコードを含み、マイクロソフトのストアですべて受け入れられた。

拡張機能がリモートのPowerShellスクリプトをダウンロードして実行し、ほぼ4カ月間検出されないままであったという事実は、マイクロソフトのレビュープロセスに懸念すべきギャップがあったことを示している。

このケースでは、マイクロソフトは数ヶ月間対応できなかったが、同社は最近その逆を行っており、難読化されたコードが疑わしいと報告された後、900万人のユーザーが使用していたVSCodeテーマをあまりにも早く削除した

VSCodeテーマは難読化されたJavaScriptを使用すべきではないが、「Material Theme – Free」と「Material Theme Icons – Free」の拡張機能は後に悪意がないことが証明された。

マイクロソフトは、パブリッシャーの不当な削除と禁止について謝罪し、”スキャナと調査プロセスを更新し、このような事象が再び発生する可能性を低減する “と述べた。

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px; width: 100%; } .ia_button { width: 100%; } .

攻撃の93%を支えるMITRE ATT&CK©テクニックのトップ10

1,400万件の悪意のあるアクションの分析に基づき、攻撃の93%を支えるMITRE ATT&CKテクニックのトップ10とその防御方法をご覧ください。