Alibabaの開発者を狙う悪意あるnpmパッケージ18個、クロスプラットフォームRATを展開

npmパッケージ18個を悪用した、連携の取れたソフトウェアサプライチェーン攻撃が確認されました。この攻撃では、Alibaba社内のAoneツール群や@aliスコープのパッケージを扱う開発者を狙い、クロスプラットフォーム対応のRAT(遠隔操作型マルウェア)を配布していました。

この手口が明らかになったのは、研究者が一見単純な悪意あるnpmパッケージ「lib-mtop」を解析したことがきっかけでした。このパッケージはダウンローダーとして機能しており、その解析を通じてより広範かつ構造化された依存関係チェーン攻撃の存在が浮かび上がりました。

lib-mtopはもともと約3年前に、無害な単一バージョンとして公開されていました。しかし2026年3月下旬に新バージョンが3回にわたって公開され、悪意あるローダーへと姿を変えていました。

このパッケージは、プライベートな@ali名前空間ライブラリの非スコープ版クローンを装っています。この命名規則は、GitHub上で参照されるAlibaba社内のプロジェクトやツール群で広く使われているものです。

悪意あるパッケージ群は全部で18個にのぼります。lib-mtop、aone-kit、aone-kit-cli、aone-sandbox、local-config-parser、smart-config-manager、cloud-config-fetcher、fast-transform-pipeline、aone-cloud-cli、colder-cli、def-open-client、feedback-ai-sdk、flight-compare-analyzer、lwp-web-client、lzd-unified-station-sdk、open-worker-cli、test-skill-zip、uniapi-bridgeです。

これらの名称の多くは、プライベートな@aliスコープのパッケージ名を模倣しています。そのため、Alibabaのプライベートレジストリにアクセスできる環境では依存関係の解決が正当なものに見えてしまい、水面下で攻撃者が管理するモジュールが引き込まれる仕組みになっています。

この攻撃キャンペーンでは、ローダー機能を一見無害な複数のパッケージに分散させ、3階層構造の依存関係ツリーとして配置しています。

最上層の「おとり」パッケージ群(aone-kit、aone-kit-cli、aone-sandbox、その他複数のaone-*およびclient-*モジュールを含む)は、実質的な機能をほとんど、あるいは全く持たない一方で、プライベートな@aliパッケージ群と、中間層の中核パッケージであるsmart-config-managerの双方に依存しています。

この中間層は、さらにcloud-config-fetcherとlocal-config-parserへの依存関係を定義しています。これらはそれぞれ、設定情報の取得とルール評価を担う機能を実装しています。

アカウント作成とパッケージ公開のタイミングの相関関係から、2026年4月27日から28日にかけて協調的な準備段階があったと推測されます。node-data-utilsとfast-transform-pipelineは、複数パッケージにまたがるローダー配布の検証用として使われたとみられます。

一方、smart-config-managerとその依存モジュール群は、4月28日に複数の新規作成されたnpmアカウントから公開されました。

ただしlocal-config-parserについては、「ch4ce」という既存の古いアカウントから公開されており、アカウント乗っ取りか、あるいは内部関係者による不正行為のいずれかを示唆しています。とはいえ、正確な発生経緯は現時点で確認されていません。

cloud-config-fetcherとlocal-config-parserはいずれも、宣伝どおりの機能を実際に実装しています。前者は設定情報の取得を、後者はNode.jsのvmモジュールを介したルール評価を行うため、表面的な確認では無害なパッケージに見えてしまいます。

cloud-config-fetcherはインストール時に自動初期化を行い、攻撃者が管理するGitHubリポジトリから既定のJSON設定ファイルをダウンロードして、ディスク上の隠しファイル「.cloud-preferences.json」に書き込みます。

Socketの研究者らによると、この攻撃キャンペーンは3か月以上にわたって検知を逃れており、中国語圏の開発環境を狙った、極めて周到な産業スパイ活動であることがうかがえるとしています。

local-config-parserの自動初期化ロジックは、この同じファイルを読み込み、そこに含まれるルールを解析したうえで、vmサンドボックス内で実行します。これにより、GitHubを起点とする一見正当な「ダウンロードして実行する」設定パターンが作り出されています。

悪意あるロジックはこれらの設定ルールの内部に埋め込まれており、カテゴリごとの項目を乗数で変換するといった、一見無害な処理に見せかけて偽装されています。

悪意あるnpmパッケージ18個

vmによる隔離環境から脱出するため、このコードはNode.jsにおける典型的なサンドボックス脱出手法を用いています。具体的には、itemsオブジェクトからグローバルのFunctionコンストラクタを導き出し(例: var F = items.constructor.constructor; var p = F(‘return process’)();)、processオブジェクトへのアクセスを再取得します。

サンドボックスの外に出ると、process.getBuiltinModule、process.mainModule、あるいはglobalオブジェクトの探索といった複数の手法を試み、requireや_loadへの到達を試みます。最終的にhttpモジュールを読み込み、Alibaba Cloud基盤上でホストされた攻撃者管理のC2サーバーから、第3段階のペイロードであるsetting.jsをダウンロード・実行します。

第3段階のsetting.jsスクリプトは、ホスト情報の偵察やOSのフィンガープリンティングを実施したうえで、被害者のプラットフォームに合わせた第4段階のペイロードであるaone-cliを取得し、OSごとに異なる方式で永続化を図ります。

macOSでは、~/.zshrcを通じて悪意あるバックグラウンドスクリプトを仕込み、10分間隔で動作するLaunch Agentを設置します。Windowsでは、公式のAlilangセキュリティアプリケーションを強制終了させ、そのapp.asarコアをトロイの木馬化したバージョンに置き換えようと試みます。Linuxでは──

セキュリティ製品・サービス

各プラットフォームに共通して、ローカルのログ記録を無効化し、中間生成物を削除することで、フォレンジック調査による復元を妨げています。

最終段階のaone-cliペイロードは、Alibaba社内の研究開発環境、特にTaobao & Tmall GroupおよびAlibaba Cloudの主要な業務を支えるAoneと密接に連携する、フル機能のクロスプラットフォームRATです。

対応する機能には、任意のコマンド実行、ファイルのアップロードとダウンロード、システム偵察、複数段階にわたるペイロード管理などが含まれます。

さらに、暗号化された逆方向TCPプロキシや、コードインジェクションによるアプリケーション固有の永続化機構も備えており、DingTalkをはじめとする中国企業向けコラボレーションツールを利用した横展開も可能です。

このRATは、ハードコードされたC2エンドポイントに自動的にビーコン通信を行い、コマンドをポーリングします。また構造化されたコマンドセット(info、pwd、screenshot、download、proxy、run_python、install_node_module、aipoison、dws_lateralなど)を備えており、認識できない指示についてはそのままOSシェルに転送します。

永続化の仕組みはさらに、AI関連ツールを狙って毒を仕込みます。.skillsディレクトリにPythonのコードスニペットを注入し、これらのツールが実行されるたびにBunランタイム経由で悪意あるscript.jsが起動するようにします。コード中のコメントやマーカーは中国語で書かれており、冪等なインジェクションを容易にすることを狙ったものとみられます。

C2サーバーへのネットワーク通信は、alidocs.dingtalk.comを指す偽のOriginヘッダーおよびRefererヘッダーで偽装されており、DingTalkの公式ドキュメントドメインへの正規の通信に紛れ込むようになっています。

コードベースには中国語による詳細なコメントが付されており、悪意あるルールやペイロードに関連するGitHubのコミットはUTC+0800(中国標準時)のタイムスタンプが付けられ、npmパッケージの作成時刻とも密接に一致しています。

侵害指標(IOC)

# パッケージ名
1 lib-mtop
2 aone-kit
3 aone-kit-cli
4 aone-sandbox
5 local-config-parser
6 smart-config-manager
7 cloud-config-fetcher
8 fast-transform-pipeline
9 aone-cloud-cli
10 colder-cli
11 def-open-client
12 feedback-ai-sdk
13 flight-compare-analyzer
14 lwp-web-client
15 lzd-unified-station-sdk
16 open-worker-cli
17 test-skill-zip
18 uniapi-bridge

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

100万ドルのデータ侵害補償は本物の保護と言えるか?: AI SOCデータ侵害補償ガイド(10のポイント、無料)をダウンロード

コンピューターセキュリティ

翻訳元: https://gbhackers.com/18-malicious-npm-packages/

ソース: gbhackers.com