PhantomRaven攻撃、npmを認証情報窃取パッケージで溢れさせる

PhantomRaven攻撃の概要

「PhantomRaven」と名付けられた活発なキャンペーンが、認証トークン、CI/CDシークレット、GitHub認証情報を窃取する多数の悪意あるnpmパッケージで開発者を標的にしています。この活動は8月に始まり、126個のnpmパッケージを展開し、86,000回以上のダウンロードを記録しました。Node Package Manager (NPM) はNode.jsのデフォルトのパッケージマネージャーであり、JavaScript開発者が再利用可能なコードを共有・インストールするために使用されています。

PhantomRavenはKoi Securityの研究者によって検出され、正当なプロジェクトを模倣したパッケージや、AIの幻覚による推奨(「スロップスクワッティング」)の結果として生じたものが多く含まれています。スロップスクワッティングは、開発者がLLMにプロジェクトのパッケージを提案するよう依頼した際に、AIアシスタントが実在しないが正当に見えるパッケージ名を推奨することで発生します。研究者によると、一部の悪意あるパッケージはGitLabやApacheのツールを偽装しており、執筆時点でもそのほとんどがnpmプラットフォーム上に存在しています。

攻撃の詳細

PhantomRavenキャンペーンで使用されるパッケージは、リモート動的依存関係(RDD)システムを利用しています。これらのパッケージは依存関係を一切宣言しませんが、インストール時に外部URLからペイロードを自動的にフェッチします。このメカニズムは、「npm install」の実行時にパッケージをフェッチし、自動的に実行するため、ユーザーの操作は不要です。

「サイドロードされた」ペイロードは、感染したデバイスをプロファイリングしてターゲットの価値を判断し、被害者の環境変数からメールアドレスを検索します。最も懸念されるのは、マルウェアがNPM、GitHub Actions、GitLab、Jenkins、CircleCIのトークンを収集することです。これらは他のプロジェクトに悪意ある変更を導入し、サプライチェーン攻撃を開始するために使用される可能性があります。

データ流出の手法

Koi Securityによると、PhantomRavenキャンペーンの背後にいる攻撃者は、以下の3つのデータ流出方法を使用しています。

  • データがURLにエンコードされたHTTP GETリクエスト
  • JSONデータを含むHTTP POSTリクエスト
  • WebSocket接続

検出回避と対策

PhantomRavenは、静的解析では見えないリモート動的依存関係のために、長期間にわたって検出を回避していました。Koi Securityは、これにより高度な脅威アクターが検出を回避できると指摘しています。

ソフトウェア開発者は、信頼できるベンダーが公開している正当なパッケージを使用していることを確認する必要があります。また、パッケージの提案のためにLLMに相談することを避け、検索結果を二重に確認して、本物とタイポスクワッティングされたプロジェクトを区別するべきです。Koi Securityのレポートには、PhantomRaven攻撃で使用されたインフラストラクチャの侵害指標(IoC)と、悪意あるパッケージの完全なリストが含まれています。


元記事: https://www.bleepingcomputer.com/news/security/phantomraven-attack-floods-npm-with-credential-stealing-packages/