OWN NEWS GATHER
← 戻る
The Hacker News

npmパッケージ「@joyfill」のベータ版にマルウェア混入、インポート時に暗号資産取引情報から遠隔操作ツールを実行

要点

  • npmで公開されているライブラリ「@joyfill」のベータ版に、悪意あるコードが混入していた。

  • マルウェアは、Node.js環境でパッケージがインポートされた時点で自動実行される。

  • TronやAptosといったブロックチェーン上の取引データを利用して遠隔操作ツールを実行するため、パッケージ更新なしでコードの差し替えが可能だった。

  • 調査会社は、この攻撃が北朝鮮のハッカー集団による同一の組織的キャンペーンの一環であると分析している。

  • セキュリティ企業のSocketは、JavaScriptパッケージ管理サービス「npm」に公開されていたライブラリ「@joyfill」のベータリリース版2種に、悪意あるコードが混入しているのを発見したと公表した。このマルウェアは、パッケージ読み込み時にTronやAptosなどのブロックチェーン(データを分散管理する技術)を経由して遠隔操作ツール(RAT)を取得・起動する手口を用いていた。今回の攻撃は、北朝鮮のハッカー集団による広範なキャンペーンの一部である可能性が指摘されている。

  • 今回マルウェアの混入が確認されたのは、以下の2つのパッケージとバージョンである。

  • @joyfill/layouts@0.1.2-2773.beta.0

  • @joyfill/components@4.0.0-rc24-2773-beta.4

  • 多くの悪意あるnpmパッケージは、インストール時に自動実行されるスクリプトを利用するが、本件はNode.jsがCommonJS(JavaScriptのモジュール管理仕様)のパッケージを読み込んだ時点、すなわちコード内でインポートした瞬間に動作を開始する点が特徴的である。

  • このマルウェアは、実行コードをブロックチェーンの取引情報から動的に復元する。

  • パッケージがロードされると、Tronアドレスの最新トランザクションからBNB Smart Chain(BSC)のトランザクションハッシュを取得する。これが失敗した場合は、Aptosと呼ばれる別のブロックチェーンに問い合わせてBSCの取引情報を得る。最終的に、これらのデータからJavaScriptコードを復号・実行する。

  • ブロックチェーンを利用することで、攻撃者はパッケージ自体を更新することなく、取引データを書き換えるだけでプログラムを自由に変更できる。

  • パッケージ読み込み後、以下の2つの並行する処理が走る。

  • 1つは、プロセス内部で約77KBのペイロードを復元し、「DEV#POPPER」マルウェアファミリーに類似した遠隔操作ツール(RAT)「clientCode」を起動する。

  • もう1つは、元のNode.jsプロセスから切り離された別のプロセスを起動し、特定のIPアドレス(23.27.13.43)から別のプログラムをダウンロードして実行する。この切り離されたプロセスは、本体のコマンド終了後もバックグラウンドで動作し続ける。

  • RAT(感染した端末を遠隔操作するマルウェア)には検知回避の仕組みがあり、実行環境のホスト名が「github-runner」「buildbot」「buildkitsandbox」「microsoft-standard-WSL2」といったCI(ビルドなどを自動化する開発手法)やWSL2環境である場合は動作を停止する。

  • 検知回避をすり抜けた場合、RATはファイルのアップロードや追加コードの取得、マシンの情報収集、確認メッセージの送信、クリップボードデータの読み取りを実行する。

  • また、切り離されたプロセスでは、RATのほかにPython製の情報窃取ツールもダウンロードされる。これは「OmniStealer」の派生版とみられ、環境変数やシステム情報、ブラウザのデータや拡張機能のウォレット情報、Git認証情報やVS Codeのストレージ情報などを収集し外部に送信する機能を持つ。

  • Socketの分析によると、今回の攻撃は、今月初めに報告されたVite(開発ツール)エコシステムを狙ったマルウェア「ViteVenom」と、ブロックチェーンの指令(C2)サーバー(感染マシンに命令を送る指令塔)インフラが共通している。そのため、これらは個別のキャンペーンではなく、北朝鮮の脅威アクターによる同一の進行中の作戦であるとみられている。

  • 悪意あるパッケージはいずれも、同一のnpmアカウントから、Node.js 18.20.0およびnpm 10.5.0でビルドされ公開されていた。しかし、ソースコードにマルウェアが混入した原因について、開発者端末の侵害、ソースリポジトリの乗っ取り、あるいは公開アカウントの窃盗なのかなど、具体的な侵入経路は特定されていない。

元URL