セキュリティ研究者らは、開発者のシステムにクロスプラットフォーム対応のリモートアクセス型トロイの木馬(RAT)をインストールするために、分散型の依存関係チェーンを利用した標的型npmサプライチェーン攻撃を発見しました。
この攻撃は3ヶ月以上にわたって活動を続けながら検出を免れていたとみられており、Alibaba Groupの環境に接続する開発者を標的とするよう設計されているようです。
調査は、単純なダウンローダーを含むnpmパッケージ「lib-mtop」から始まりました。このパッケージは約3年前に初めて公開されましたが、2026年3月下旬に3つの新バージョンがリリースされていました。
この動きは、メンテナーアカウントが侵害された可能性を示唆していますが、悪意あるメンテナーによる行為である可能性も排除できません。
このパッケージが重要視されたのは、スコープなしの名前がAlibabaの@alinpmスコープ配下にあるプライベートパッケージと酷似していたためです。@aliスコープは、Alibaba社内のツールやパッケージに使用されています。
正規のプライベート依存関係にアクセス可能な環境を持つ開発者は、知らないうちに公開npmレジストリから悪意ある追加の依存関係を受け取ってしまう可能性がありました。
研究者らの調査により、lib-mtopはリモートのJavaScriptペイロードをダウンロードし、ローカルで実行することが判明しました。ローダー自体は単純なものでしたが、さらに分析を進めると、個別に見れば無害に見えるパッケージ群からなるより広範なネットワークとの関連性が明らかになりました。
脅威アクターは、マルウェアの配信プロセスを複数のnpmパッケージと別々の公開アカウントに分割していました。この手法により、各パッケージは一見無関係に見え、攻撃経路全体を把握しにくくしていました。
最上位層では、aone-cloud-cli、open-worker-cli、uniapi-bridge、lzd-unified-station-sdkなど、Alibaba社内風の名前を装ったおとりパッケージが使われていました。
これらのパッケージ自体にはほとんど、あるいは全く直接的な機能がありませんでした。その代わりに、正規のパッケージに見える@aliパッケージ群と、smart-config-managerという名の悪意ある中間層パッケージへの依存関係を宣言していました。
smart-config-managerは、cloud-config-fetcherとlocal-config-parserという2つの下位層パッケージに依存していました。
前者は攻撃者が管理するGitHubリポジトリから設定ファイルを取得し、後者はダウンロードされたそのファイルからルールを読み込んで評価していました。
両コンポーネントとも、それぞれのパッケージ説明に記載された作業を実行するだけだったため、単体では悪意あるものと判断するのが困難でした。
しかし、それらの自動初期化の挙動が各コンポーネントを結びつけ、ダウンロードして実行するという一連のチェーンを形成していました。
ダウンロードされた設定ファイルには、一見すると値を処理するための通常のルールに見せかけたコードが隠されていました。このコードはNode.jsの仮想マシン機能を悪用し、本来のサンドボックスから脱出していました。
このコードはホストのNode.jsプロセスへのアクセス権を獲得し、モジュール読み込みシステムに到達するためにいくつかの手法を試みていました。
後続段階のペイロードはシステム偵察を実行してオペレーティングシステムを検出し、プラットフォームに応じたaone-cli型RATをダウンロードしていました。最終的なマルウェアはmacOS、Windows、Linuxに対応していました。
macOSでは、シェルの起動ファイルを改変し、永続化のためにLaunch Agentを作成していました。
Windowsでは、セキュリティアプリケーションのAlilangを無効化し、コアとなるアプリケーションファイルをトロイの木馬化したコピーに置き換えようとしていたとみられています。Linuxでは、ダウンロードしたバイナリをバックグラウンドで実行し、読み込み後にそのファイルを削除していました。
注記: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的に無害化表記(例: [.])としています。再度有効な形式に戻す作業は、MISP、VirusTotal、SIEMなど管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。
SOC調査の死角を減らし、ANY.RUNで脅威をより早期に封じ込めることで、対応コストと業務への影響を抑えましょう。
翻訳元: https://cyberpress.org/cross-platform-rat-npm-supply-chain/