出典: The Hacker News – https://thehackernews.com/2025/10/phantomraven-malware-found-in-126-npm.html
原題: PhantomRaven Malware Found in 126 npm Packages Stealing GitHub Tokens From Devs
PhantomRavenマルウェアがnpmパッケージに潜伏しGitHubトークンを窃取
最近、サイバーセキュリティ研究者たちは、npmレジストリを狙った新たなソフトウェアサプライチェーン攻撃「PhantomRaven(ファントムレイヴン)」を発見しました。この攻撃は126の悪意あるnpmパッケージに潜み、開発者のGitHub認証情報やCI/CDの秘密情報を盗み出すことが可能です。
主要なポイント
- 攻撃の規模と期間:2025年8月に最初のパッケージが公開されて以来、合計126の悪意あるnpmパッケージが確認され、累計86,000回以上インストールされています。
- 依存関係の隠蔽手法:悪意あるコードは通常のnpmjs.comではなく、攻撃者管理下の外部サーバー(packages.storeartifact[.]com)から依存パッケージを取得させる「リモート動的依存関係(Remote Dynamic Dependency:RDD)」を利用しています。
- 検知回避の巧妙さ:npmや一般的なセキュリティスキャナーはこれらの外部URLを追跡せず、依存関係解析ツールも無視するため、攻撃パッケージは「依存関係ゼロ」として扱われ検出が困難です。
- マルウェアの機能:開発者のメールアドレスやCI/CD環境情報、システムのパブリックIPなどを収集し、リモートサーバーへ送信します。プリインストールフックにより自動的に悪意あるコードが実行されます。
- スロップスクワッティングの悪用:攻撃者はAIの幻覚(LLMが存在しないパッケージ名を生成する現象)を利用し、もっともらしいパッケージ名を登録して開発者の信頼を得ています。
技術的な詳細や背景情報
PhantomRaven攻撃は、npmのパッケージ依存関係の仕組みを悪用しています。通常、npmパッケージはnpmjs.comの公式レジストリから取得されますが、この攻撃ではパッケージ内にカスタムHTTP URLが埋め込まれており、外部の攻撃者管理サーバーから追加の依存関係を動的に取得します。これをリモート動的依存関係(RDD)と呼びます。
このRDDは静的解析や依存関係解析ツールで検出されにくく、npmのセキュリティスキャンも追跡しません。さらに、npmのライフサイクルスクリプト(preinstall、install、postinstall)はパッケージのインストール時に自動的に任意のコードを実行できるため、悪意あるコードがユーザーの操作なしに実行されてしまいます。
また、攻撃者はスロップスクワッティングという手法を使い、AIが生成した幻覚的なパッケージ名を登録して開発者の目を欺いています。これにより、信頼されやすい名前のパッケージとして広まりやすくなっています。
影響や重要性
PhantomRavenの発見は、オープンソースエコシステムにおけるサプライチェーン攻撃の新たな脅威を示しています。開発者が無害に見えるパッケージをインストールした瞬間から攻撃が始まり、GitHubトークンやCI/CDの秘密情報が盗まれるリスクがあります。
この攻撃は、従来のセキュリティツールでは検出が難しく、依存関係の動的取得やAI生成のパッケージ名を悪用することで検知回避を実現しています。結果として、開発環境や組織のソフトウェア開発ライフサイクル全体に深刻な影響を及ぼす可能性があります。
まとめ
PhantomRavenマルウェアは、npmパッケージの依存関係の仕組みとnpmのライフサイクルスクリプトを悪用し、開発者の認証情報を盗み出す高度なソフトウェアサプライチェーン攻撃です。攻撃者はAIによる幻覚的なパッケージ名を利用し、検知を回避しながら広範囲に感染を拡大しています。
開発者や組織は、npmパッケージの依存関係を慎重に管理し、外部の不審なURLからの依存関係取得を警戒する必要があります。また、CI/CDシークレットの管理強化や多要素認証の導入など、被害を最小限に抑える対策も重要です。





