侵害された 27個の npm パッケージ:認証情報窃取のためのフィッシング・インフラとして機能していた

27 Malicious npm Packages Used as Phishing Infrastructure to Steal Login Credentials

2025/12/29 TheHackerNews — npm レジストリに公開された 20 個以上のパッケージを介して、認証情報の窃取を容易にする持続的かつ標的を絞ったスピアフィッシング攻撃の実態を、サイバー・セキュリティ研究者たちが明らかにした。Socket によると、この攻撃では6つの異なる npm エイリアス (アカウント) から、27 個の npm パッケージがアップロードされたという。主要な標的となっているのは、米国および同盟国の重要インフラ関連組織に属する営業担当者である。

研究者である Nicholas Anderson/Kirill Boychenko は、「5ヶ月にわたる攻撃で、27 個の npm パッケージが永続的なホスティング先となり、ドキュメント共有ポータルや Microsoft サインインを模倣するブラウザ実行型ルアーが配布された。その結果、製造業/産業オートメーション/プラスチック/ヘルスケア分野の、25 の組織を標的とする認証情報の窃取が行われた」と述べている。

侵害されたパッケージ名は、以下の通りである。

adril7123
ardril712
arrdril712
androidvoues
assetslush
axerification
erification
erificatsion
errification
eruification
hgfiuythdjfhgff
homiersla
houimlogs22
iuythdjfghgff
iuythdjfhgff
iuythdjfhgffdf
iuythdjfhgffs
iuythdjfhgffyg
jwoiesk11
modules9382
onedrive-verification
sarrdril712
scriptstierium11
secure-docs-app
sync365
ttetrification
vampuleerl

このキャンペーンの目的は、ユーザーにインストールを要求することではなく、npm とパッケージ CDN (content delivery network) をホスティング・インフラとして再利用する点にある。この手法を用いる攻撃者は、安全なドキュメント共有を装ったクライアント・サイド HTML/JavaScript ルアーを配信し、フィッシング・ページに直接埋め込む。その後の展開において、フォームにメールアドレスが事前入力された状態の被害者が、Microsoft のサインイン・ページにリダイレクトされる。

パッケージ CDN の悪用には複数の利点があるが、最も重要なものは、正規の配信サービスを削除耐性のあるインフラへと変える能力である。さらに、ライブラリが削除された場合であっても、攻撃者は別のパブリッシャー・エイリアスやパッケージ名への容易な切り替えが可能となる。

これらのパッケージには、分析を困難にする複数のクライアント・サイド・チェックが組み込まれている。具体的には、ボットのフィルタリングや、サンドボックス回避などであるが、脅威アクターが管理する認証情報収集インフラへと、被害者を誘導する前に行われるマウスまたはタッチ入力を要求する仕組みもある。さらに、悪意の JavaScript コードは難読化または大幅に縮小されており、自動検査を困難にしている。

それに加えて、脅威アクターはハニーポット・フォーム・フィールドも悪用している。これらのフィールドは、ユーザーに対して表示されないが、クローラーが入力してしまう可能性がある。この仕組みは2層目の防御として機能し、攻撃の阻止を困難にする。

Socket によると、これらのパッケージに組み込まれたドメインは、オープンソースのフィッシング・キット Evilginx に関連する、中間者攻撃 (AitM) フィッシング・インフラと重複しているという。

フィッシング・インフラとして npm が悪用されたのは、今回が初めてのことではない。2025年10月には Beamglea と呼ばれるキャンペーンが、ソフトウェア・サプライチェーン・セキュリティ企業から公表された。このインシデントでは、認証情報収集攻撃のための 175 個の悪意のパッケージが、未知の脅威アクターによりアップロードされた。ただし、今回の攻撃は、Beamglea とは異なると評価されている。

Socket は、「このキャンペーンは、同じコア・プレイブックに従っているが、配信メカニズムが異なる。これらのパッケージは、最小限のリダイレクト・スクリプトを配布するものではない。ブラウザで実行される自己完結型フィッシング・フローとして、ページ・コンテキストで読み込まれる際に実行される、埋め込み HTML/JavaScript バンドルとして拡散する」と述べている。

新たに発見されたのは、これらのフィッシング・パッケージにハードコードされた 25 件のメール・アドレスである。それらは、製造業/産業オートメーション/プラスチック/ポリマー・サプライチェーン/ヘルスケア分野に属する、アカウント・マネージャー/営業/事業開発担当者に関連付けられている。なお、それらの組織は、オーストリア/ベルギー/カナダ/フランス/ドイツ/イタリア/ポルトガル/スペイン/スウェーデン/台湾/トルコ/英国/米国に分散している。

現時点で、これらのメール・アドレスの入手経路は不明である。ただし、標的となった企業の多くが、Interpack や K-Fair などの主要国際見本市に出展しており、展示会サイトと Web 偵察を組み合わせた脅威アクターが、一連の情報を収集した可能性が高い。

Socket は、「標的の所在地が、本社と異なるケースが複数あった。つまり、企業の IT 部門だけではなく、地域の営業担当者/カントリー・マネージャー/現地営業チームが標的化されていると思われる」と述べている。

この脅威に対抗するためには、厳格な依存関係検証の実施/開発環境以外からの異常な CDN リクエストのログ記録/フィッシング耐性の高い多要素認証 (MFA) の導入/認証後の不審なイベント監視が不可欠である。

さらに Socket が指摘するのは、遅延実行やリモート制御キルスイッチを用いて早期検知を回避し、実行時にコードを取得する破壊的マルウェアが、npm/PyPI/NuGet Gallery/Go モジュール・インデックス全体で着実に増加している状況である。

研究者である Kush Pandya は、「これらのパッケージは、ディスクの暗号化や無差別なファイル破壊は行わない。その一方で、Git リポジトリ/ソースディレクトリ/設定ファイル/CI ビルド出力といった、開発者にとって重要な対象のみを削除する傾向がある。また、これらのロジックは、正規のものとして機能するコードパスに組み込まれており、実行は標準的なライフサイクルフックに依存する。そのため、アプリケーションが明示的にインポートしなくても、これらのマルウェアは拡散していく可能性がある」と述べている。