
先月OpenVSXとVisual Studio Codeのマーケットプレイスに影響を与えたGlassWormマルウェアキャンペーンが、すでに10,000回以上ダウンロードされている3つの新しいVSCode拡張機能とともに戻ってきた。
GlassWormは、GitHub、NPM、OpenVSXのアカウント情報、および49の拡張機能から暗号通貨のウォレットデータを標的としたペイロードを取得するために、Solanaトランザクションを活用するキャンペーンとマルウェアです。
このマルウェアは、空白としてレンダリングされる目に見えないUnicode文字を使用しますが、悪意のあるアクションを促進するためにJavaScriptとして実行されます。
このマルウェアは、MicrosoftのVS CodeとOpenVSXのマーケットプレイスで12の拡張機能を通じて最初に登場し、35,800回ダウンロードされた。しかし、このダウンロード数は脅威行為者によって捏造されたものであり、キャンペーンの全影響は不明であると考えられている。
この侵害を受け、Open VSX は、GlassWorm によって侵害された未公表の数のアカウントのアクセストークンをローテーションし、セキュリティ強化を実施し、インシデントをクローズとしました。
GlassWorm の再発
このキャンペーンを追跡してきたKoi Securityによると、攻撃者は現在OpenVSXに戻っており、同じインフラを使用していますが、コマンド・アンド・コントロール(C2)エンドポイントとSolanaトランザクションが更新されています。
GlassWormのペイロードを運ぶ3つのOpenVSX拡張機能は以下の通りです:
- ai-driven-dev.ai-driven-dev– 3,400 ダウンロード
- adhamu.history-in-sublime-merge– 4,000 ダウンロード
- yasuyuky.transient-emacs– 2,400 ダウンロード
Koi Securityによると、この3つの拡張機能はすべて、元のファイルと同じ目に見えないUnicode文字の難読化トリックを使用しているという。明らかに、これはOpenVSXの新しく導入された防御を回避するのに有効である。

ソースはこちら:Koi Security
Aikidoが以前に報告したように、GlassWormのオペレーターは先月の暴露にもめげず、すでにGitHubに軸足を移していたが、新たな拡張機能を通じてOpenVSXに戻ったことは、複数のプラットフォームで活動を再開する意図があることを示している。
攻撃インフラが暴露される
Koi Securityは匿名の情報提供により、攻撃者のサーバーにアクセスし、このキャンペーンによって影響を受けた被害者に関する重要なデータを入手することができました。
取得されたデータは、GlassWormが米国、南米、ヨーロッパ、アジア、中東の政府機関のシステム上で発見され、グローバルなリーチを示しています。
Koiの報告によると、彼らはロシア語を話し、オープンソースのC2ブラウザ拡張フレームワークRedExtを使用しています。

ソースはこちら:Koi Security
研究者は、複数の暗号通貨取引所とメッセージング・プラットフォームのユーザーIDを含むすべてのデータを法執行機関と共有し、影響を受ける組織に通知する計画が調整されている。
Koi Securityは、これまでに60の異なる被害者を特定したと述べ、1つの公開されたエンドポイントから部分的なリストを取得したに過ぎないと指摘した。
本稿執筆時点では、GlassWormのペイロードを持つ3つの拡張モジュールはOpenVSXでダウンロード可能なままである。
.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%; 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: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; } .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%;
margin: 0px auto;
}
}





Comments