PhantomRaven攻撃がnpmに認証情報窃取パッケージを大量投入

PhantomRaven attack floods npm with credential-stealing packages

「PhantomRaven」と名付けられたアクティブなキャンペーンが、認証トークン、CI/CDシークレット、GitHub認証情報を盗む悪意のあるnpmパッケージを多数使い、開発者を標的にしています。

この活動は8月に始まり、126個のnpmパッケージが展開され、合計86,000回以上ダウンロードされました。

Node Package Manager(NPM)はNode.jsのデフォルトのパッケージマネージャーであり、JavaScript開発者が再利用可能なコードを配布パッケージの形で共有・インストールするために使用されます。

PhantomRavenはKoi Securityの研究者によって検出されており、正規プロジェクトを模倣したパッケージや、AIによる幻覚的な推奨(「slopsquatting」)の結果生まれたものが多く含まれています。

Slopsquattingは、開発者がLLMにプロジェクト用のパッケージを提案させた際、AIアシスタントが正規に見えるが実在しないパッケージ名を推奨することで発生します。

研究者によると、一部の悪意あるパッケージはGitLabやApacheのツールになりすましています。記事執筆時点で、その多くはnpmプラットフォーム上にまだ存在しています。

攻撃の概要

PhantomRavenキャンペーンで使用されるパッケージは、リモート動的依存関係(RDD)システムを利用しており、依存関係をゼロと宣言しつつ、インストール時に外部URLからペイロードを自動的に取得します。

Code declaring zero dependencies
依存関係ゼロを宣言するコード
出典: Koi Security

この仕組みは、‘npm install’実行時にパッケージを取得し自動的に実行するもので、ユーザーの操作は一切必要ありません。

「サイドロード」されたペイロードは、感染したデバイスをプロファイリングして標的の価値を判断し、被害者の環境変数からメールアドレスを検索します。

Searching for the victim's email address
被害者のメールアドレスを検索
出典: Koi Security

最も懸念されるのは、このマルウェアがNPM、GitHub Actions、GitLab、Jenkins、CircleCIのトークンを収集し、他のプロジェクトに悪意ある変更を加えたり、サプライチェーン攻撃を仕掛ける可能性があることです。

Targeted secrets on the compromised environment
侵害された環境で狙われるシークレット
出典: Koi Security

Koi Securityによると、PhantomRavenキャンペーンの運営者は、URLにエンコードしたデータを使ったHTTP GETリクエスト、JSONデータを使ったHTTP POSTリクエスト、WebSocket接続の3つのデータ流出手法を使用しています。

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

ソフトウェア開発者は、信頼できるベンダーが公開した正規のパッケージを使用していることを確認すべきです。また、パッケージの提案をLLMに頼るのは避け、検索結果が本物かタイポスクワットかを必ず二重に確認してください。

Koi Securityのレポートには、PhantomRaven攻撃で使われたインフラの侵害指標(IoC)や、悪意のあるパッケージの全リストが含まれています。

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

ソース: bleepingcomputer.com