ロシア発のAIスロップスクワッティング攻撃、npmに悪意あるパッケージを大量投稿し開発者を標的に

ロシア系とみられる脅威アクターが、わずか48時間で700個を超える悪意あるパッケージをnpmレジストリに公開する大規模なサプライチェーン攻撃が確認されました。

opensourcemalwareが「WEL1DROPPER」として追跡しているこのキャンペーンは、現在パッケージ数が1,000個を超える規模にまで拡大しており、ランダムに生成されたAIによる「幻覚(ハルシネーション)」パッケージ名を使って開発者を騙し、マルウェアをインストールさせる「AIスロップスクワッティング」の新たな進化形といえます。

preinstallやpostinstallのライフサイクルフックに依存する典型的なnpmサプライチェーン攻撃とは異なり、これらのパッケージにはそうしたフックが一切必要ありません。READMEには開発者に対しrequire("checkout-mobile-bnpl")という単純な呼び出しでパッケージを読み込むよう指示があり、このインポート一つで、同梱された_helpers.jsファイルが自動実行され感染チェーンが始動します。

これらのパッケージは、偽のinit()version()configure()メソッドを備えた小規模なモバイルSDKを装っていますが、実際のペイロードは一見無害に見えるエクスポート文の裏に隠されています。

インポートされると、ダウンローダーは被害者のOSとCPUアーキテクチャを特定し、3つのローテーションするCloudflare Workersホスト(oob-worker.cf103-070cf102-bafcf99-9b3.workers.dev)のいずれかから、それに合致するネイティブペイロードを要求します。

HTTPSでの試行がすべて失敗した場合は、wel1.ruのプラットフォーム別サブドメインに格納されたDNS TXTレコード内のBase64エンコードされたチャンクからペイロードを再構築する、秘匿性の高い代替経路にフォールバックします。

この二重経路の設計は注目に値します。既知のトンネリングツールのみを検知対象とするDNS監視ツールでは、一見普通に見えるTXTレコード照会を見逃してしまう可能性があるからです。

投下される実行ファイルは、Linux/macOSでは.cache_<hex>、Windowsではdotnet_diag_<hex>.exeという偽装ファイル名で書き込まれ、デタッチされたバックグラウンドプロセスとして起動します。また、偽の「analytics」マーカーファイルは、6時間のレート制限を切り替えるスイッチとしてのみ使用されます。

ネイティブバイナリの解析によると、Linux向けペイロードはUPXでパックされた静的リンクのELFファイルであり、macOS向けペイロードはIntelとApple Siliconの両方に対応するユニバーサルMach-Oバイナリであることが分かっています。

macOS向けのステージはさらに手が込んでおり、デバッガ(lldb、frida、dtrace)、VMwareの痕跡、メモリ不足の有無をチェックした上で、永続化のために偽装したLaunchAgent(com.apple.windowserver.helper.plist)をインストールします。その後、追加のCloudflare Workersプロキシを経由して第3段階のペイロードと、いまだ解析されていないビーコンを取得します。

Linuxバイナリの最終段階では、実際の脅威アクターに悪用されることが多いオープンソースのレッドチーム向けC2フレームワーク「Sliver」のインプラントとみられるものが配布されている可能性が報告されていますが、これは未確認です。

Paul McCarty氏はこのキャンペーンについて、.ru形式のC2ドメインや、tcsbank.ruやcloudpayments.ruといったロシアの金融機関を参照するXOR難読化された文字列(おとりのヘルスチェック通信として使われたとみられる)を根拠に、中程度の確度でロシア系アクターによるものと分析しています。

OSMは、「oob」という名前を持つインフラ、偽のテレメトリによるカモフラージュ、類似のキルスイッチ機構など共通する手口に基づき、WEL1DROPPERを以前のMoikaキャンペーン(2026年4月〜5月、250個以上のnpmパッケージ)と関連付けています。

今回のキャンペーンは、インストールスクリプトの制限だけではnpmマルウェアを防げないことを浮き彫りにしています。開発やテスト中にrequire()を一度呼び出すだけで、感染を引き起こすには十分なのです。

Cloudflare Workersのインフラは動的に変化するため、防御側は静的なIPブロックリストよりも、判明しているドメイン、DNSクエリのパターン、投下されるファイルの命名規則を優先して対策することが推奨されます。

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

翻訳元: https://cyberpress.org/russian-ai-slopsquatting-campaign-floods-npm/

ソース: cyberpress.org