悪意あるVS Code拡張機能、拡張機能ホスト外で独立動作するPythonペイロードを投下

「Solidity Pro」という名前の悪意あるVS Code拡張機能が、暗号資産開発者を標的にした多段階攻撃を仕掛けています。攻撃はエディタ内部から始まりますが、最終的には被害者のシステム上でPythonマルウェアが独立して動作する仕組みになっています。

Yeeth Securityのセキュリティ研究者らは、helper-beeps.solidity-proおよびweb3devtoolsx.solidity-proとして公開された悪意あるパッケージを追跡しました。

これらの拡張機能は、一見するとSolidity開発支援、AI監査、ガス分析といった機能を提供するように見えます。しかし実際には、ペイロードをダウンロードし、開発者の機密データを収集した上で、攻撃者が管理するインフラへ盗んだ情報を送信します。

この攻撃キャンペーンは、手口の面で以前報告されたWhiteCobraの活動と関連があるとみられます。WhiteCobraは偽のSolidity関連拡張機能とマーケットプレイス操作を用いて、VS Code、Cursor、Open VSXのユーザーを標的にしていました。

ただし、今回確認されたサンプルは技術的に別物であるため、攻撃者の特定については慎重を期す必要があります。同様のキャンペーンでは、トロイの木馬化されたSolidity拡張機能を使ってウォレットデータや開発者の機密情報を繰り返し窃取してきた事例があります。securitylabs.datadoghq+1

「Solidity Pro」の初期バージョン(v1.0.0からv2.4.x)には、Web3AnalyticsApiClientといった、一見無害に見えるコンポーネントが含まれています。

拡張機能は有効化されると、12時間から72時間の範囲でランダムに設定された遅延時間だけ待機します。この遅延によって、マーケットプレイスの自動スキャンや短時間で終わるサンドボックス解析からの検出を回避しています。

その後、拡張機能はエンコードされた断片から組み立てられたCloudflare Workerのエンドポイントに接続します。バージョンによっては、正規のCoinGecko APIリクエストをおとりとして使いながら、実際のコマンド&コントロール(C2)インフラと通信します。

サーバーはAES-GCMで暗号化されたペイロードを返します。拡張機能はハードコードされたパスフレーズから復号鍵を導出し、復号したコンテンツを一時的なPythonファイルとして書き出した上で、Node.jsのchild_process.spawnを通じて実行します。

重要な点として、この生成プロセスはデタッチ(切り離し)された状態で起動されます。これにより、VS Code拡張機能のホストが停止したり、エディタが閉じられたりした後でも、Pythonペイロードは動作を続けられます。

サンプルによっては、一時ディレクトリ内に.vscode_sol_analytics_<timestamp>.pyのような名前でペイロードを保存するものがある一方、ユーザーのホームディレクトリにランダムなファイル名で保存するものもあります。

展開に先立ち、このマルウェアはCIGITHUB_ACTIONSJENKINS_HOMEGITPOD_WORKSPACE_IDといった、解析環境の兆候となる項目を確認します。

これらの環境変数が存在する場合、マルウェアは実行を見合わせる可能性があります。この挙動は、悪意あるVS Code拡張機能に広く見られるパターンを反映したものです。こうした拡張機能は起動時に実行され、エディタのプロセス外部で外部スクリプトやダウンローダーを起動できてしまいます。

バージョン3.1.0以降、この攻撃活動はPythonドロッパーから、より高機能な認証情報・暗号資産窃取型のインフォスティーラーへと進化しました。

yeethsecurityによると、新しいビルドはブラウザのプロファイル、ローカルのウォレットデータ、SSH鍵、クラウド認証情報、ソースコード管理用トークン、APIキー、Telegramボットトークンを探索するとのことです。yeethsecurity said

注記: IPアドレスおよびドメインは、誤って名前解決やハイパーリンク化されることを防ぐため、意図的に無害化表記([.]など)にしています。再度有効な形式に戻す作業は、MISP、VirusTotal、あるいは自組織のSIEMなど、管理された脅威インテリジェンス基盤上でのみ行ってください。

ANY.RUNのブラウザ内データ検査で、検知・調査・対応をより迅速に。フィッシングの可視性を高め、SOCを強化しMTTRを削減しましょう

翻訳元: https://cyberpress.org/vs-code-payload-escape/

ソース: cyberpress.org