悪性npmパッケージ24件、unpkgなどのミラーをClickFixへの誘導基盤に悪用 

セキュリティニュース

投稿日時: 更新日時:

悪性npmパッケージ24件、unpkgなどのミラーをClickFixへの誘導基盤に悪用 

アプリケーションセキュリティ企業OX Securityは2026年8月25日、npmレジストリに公開された24件の悪性パッケージが、unpkgなどのパッケージミラーをフィッシングページの配信基盤として悪用していたと公表しました。

今回の特徴は、悪性npmパッケージを開発者にインストールさせてコードを自動実行する、一般的なソフトウェアサプライチェーン攻撃とは異なる点です。各パッケージには偽のCloudflare認証画面を表示するHTMLが含まれており、npmのパッケージ内容を直接配信するミラーサービスを経由することで、正規の開発者向けドメイン上にフィッシング画面を表示させていました。

OX Securityによると、対象パッケージをnpm installしただけでは悪性処理は実行されません。被害につながるのは、利用者がミラー上のHTMLページをブラウザで開き、外部サイトへの誘導やClickFix型のソーシャルエンジニアリングに接触した場合です。

初期のキャンペーンではMicrosoftを装うタイポスクワッティングドメインへの接続が確認され、その後は正規のKeyValサービスを外部リダイレクト先の取得に悪用する方式へ変更されました。OX Securityの調査時点では、後者は最終的に正規のChatGPTサイトへ転送する状態で、そこから実際にマルウェアが配布されていることまでは確認されていません。

なお、CyberPressは「10件が削除、14件が稼働」と報じていますが、OX Securityの一次レポートに現在掲載されている24件の表では7件が「Taken down」、17件が「Live」となっています。本記事では一次資料の表を基準とし、いずれも調査時点の状態として扱います。

悪性npmパッケージを使ったClickFix誘導のサマリー

  • 【確認済み】OX Securityは、同一の悪性HTMLを含む24件のnpmパッケージを確認しました。
  • 【確認済み】パッケージの公開期間は2026年8月4日から8月24日です。
  • 【確認済み】各パッケージは通常、削除前に週50~300回程度ダウンロードされていたとOX Securityは説明しています。
  • 【重要】ダウンロード数やインストール数は被害者数を意味しません。パッケージをインストールしただけでは悪性処理は実行されません。
  • 【確認済み】攻撃者はnpmのミラーサービスを、偽Cloudflare認証ページを表示するためのWebホスティング基盤として悪用していました。
  • 【確認済み】OX Securityはunpkg、Yarn、npmmirror、Tencentなどのミラーを例として挙げています。
  • 【確認済み】初期のサンプルはMicrosoftを装ったタイポスクワッティングドメインへ接続していました。
  • 【確認済み】後期のサンプルは正規サービスapi.keyval.orgを使い、暗号化された転送先情報を取得する方式へ変更されました。
  • 【重要】KeyVal自体は悪性サービスではなく、正規サービスが攻撃者に悪用されたものです。
  • 【確認済み】OX Securityの調査時点では、後期サンプルの転送先は正規のChatGPTサイトでした。
  • 【未確認】今回の24パッケージ経由で実際にマルウェア感染した人数や組織数は公表されていません。
  • 【確認済み】OX Securityの現在の表では24件中7件が削除済み、17件がLiveとされていますが、公開後に状況が変化している可能性があります。
項目 内容
一次調査公表日 2026年8月25日
調査主体 OX Security
確認されたパッケージ 24件
公開期間 2026年8月4日~8月24日
主な目的 npmとミラーをフィッシング/ClickFix誘導ページの配信基盤として悪用
インストール時の自動感染 OX Securityは「インストールだけでは無害」と説明
表示内容 偽Cloudflare認証画面
悪用されたミラー例 unpkg、Yarn、npmmirror、Tencent
初期の外部接続 Microsoftを装うタイポスクワッティングドメイン
後期の外部接続 正規のKeyValサービスを転送先取得に悪用
調査時点の後期転送先 正規のChatGPTサイト
実被害件数 確認できず
OX表の削除状況 7件Taken down、17件Live
攻撃主体 公表されていません

npmパッケージを「マルウェア配布」ではなくWebホスティングに悪用

悪性npmパッケージと聞くと、npm install時のライフサイクルスクリプトなどを通じて開発者端末でコードを自動実行する攻撃を想定しがちです。

今回のキャンペーンは構造が異なります。

OX Securityによると、各パッケージには偽のCloudflare認証画面を表示するHTMLファイルが含まれていました。攻撃者の狙いは、そのパッケージを開発者にインストールさせることではありません。

npmへ公開されたパッケージは複数のミラーサービスへ複製されます。一部のミラーではパッケージ全体のアーカイブだけでなく、内部の個別ファイルをブラウザから直接参照できます。

この仕組みにより、攻撃者がnpmパッケージへ配置したHTMLを、unpkgなど正規サービスのHTTPSドメイン上でWebページとして表示できる状態になっていました。

つまり、npmレジストリとミラーの「配布インフラとしての信頼性」が、フィッシングページのホスティングに転用された形です。

24パッケージを確認、8月4日から24日に公開

OX Securityが公開した一覧には次の24パッケージが含まれています。

パッケージ 公開日(UTC) OXの分類 OX調査時の状態
bgzxcuite2 8月4日 Microsoft Typosquat Taken down
prezdentkxheiw 8月6日 Microsoft Typosquat Taken down
egair0810 8月10日 Microsoft Typosquat Taken down
mnteckets 8月10日 Microsoft Typosquat Taken down
airdzticket 8月11日 Microsoft Typosquat Taken down
egypt0811 8月11日 Microsoft Typosquat Taken down
passport811 8月11日 Microsoft Typosquat Taken down
vxhjkseuiaqkb 8月13日 Microsoft Typosquat Live
ndmushdkeqe 8月13日 Microsoft Typosquat Live
ndmxchdjxn2 8月13日 Microsoft Typosquat Live
ndmfguyhoxc3 8月13日 Microsoft Typosquat Live
mjsdqwocvn 8月14日 Microsoft Typosquat Live
m2fcsfyjkuxb 8月14日 Microsoft Typosquat Live
m3fdfocdoewn 8月14日 Microsoft Typosquat Live
@worrisome/reutil 8月14日 keyval new logic Live
testdgdbcsd 8月14日 Microsoft Typosquat Live
tesgfvbncsdbcv 8月14日 Microsoft Typosquat Live
mndsxcusiwlk1 8月17日 keyval new logic Live
mn2adskhweox 8月17日 keyval new logic Live
mn3sadkoiewu 8月17日 keyval new logic Live
mn4xcouzvhus 8月17日 keyval new logic Live
mbxcnsuwgs1 8月24日 keyval new logic Live
skxcmwuncbg2 8月24日 keyval new logic Live
mobiwaefhxc3 8月24日 keyval new logic Live

この状態はOX Securityの調査・公開時点のものです。npmやミラー側での削除はその後も進む可能性があります。

また、パッケージがnpm本体から削除されても、第三者ミラーのキャッシュや複製が同時に消えるとは限りません。OX Securityは、この残存性も今回の手法の問題点として挙げています。

インストールしただけでは感染しない

今回、最も注意が必要なのが「悪性npmパッケージをインストールしたら端末が侵害される」という理解です。

OX Securityは、今回確認したパッケージについて、ダウンロードやインストール自体では端末に害を与えないと説明しています。

OSVに登録されたbgzxcuite2の分析でも、package.jsonpreinstallinstallpostinstallprepareなどのライフサイクルフックはなく、通常のインストールやrequire()importで悪性処理は実行されないとされています。

悪性挙動は、パッケージ内部のHTMLファイルをブラウザで開いた場合に発生します。

一方、同じパッケージについてGitHub Advisory Databaseには「インストールしたコンピューターは完全侵害されたとみなすべき」とする一般的なマルウェア向け警告が掲載されています。

OX Securityは、この説明について今回のパッケージの実際の動作を正確に表しておらず「misleading」と指摘しています。

したがって、パッケージを依存関係として取得した事実と、利用者がフィッシングページへアクセスして後続操作を行った事実は分けて調査する必要があります。

偽Cloudflare認証画面から外部サイトへ誘導

OX Securityの解析では、パッケージ内のHTMLをブラウザで開くと、Cloudflareの人間確認を装った画面が表示されます。

HTMLには難読化されたJavaScriptが含まれており、外部サービスから転送先を取得し、利用者を別のサイトへ移動させる仕組みになっていました。

ClickFixは、偽のCAPTCHA、エラー画面、セキュリティ確認などを表示し、利用者自身に不正な操作をさせるソーシャルエンジニアリング手法です。

ただし、今回のOX Securityの調査では、24パッケージすべてから実際にClickFixマルウェア感染まで確認されたわけではありません。

OXは「ClickFix malwareを配布できる可能性のある基盤」として評価しており、後期サンプルについて調査時点では最終的に正規のChatGPTサイトへ転送されていました。

そのため、「24件のnpmパッケージからマルウェアが配布された」「24件すべてで感染が確認された」と断定することはできません。

初期はMicrosoftタイポスクワット、後期はKeyValを悪用

初期のサンプルでは、偽Cloudflare画面のJavaScriptがlogin[.]microsofte[.]liveへ接続していました。

Microsoftのログインサービスを想起させるタイポスクワッティングドメインで、OX Securityによると、その後ブラウザ側で悪性サイトとしてブロックされました。

攻撃者はその後、外部転送先の取得方法を変更しました。

後期のパッケージでは、api.keyval.orgを利用して暗号化された値を取得し、ブラウザ側で転送先を復元する方式が確認されています。

KeyValは一般利用者向けの正規サービスであり、サービス自体が悪性という意味ではありません。

攻撃者は正規のデータ保存サービスを「転送先を後から変更できる外部設定」のように利用していました。

この構造では、npmパッケージ内部のHTMLを書き換えなくても、外部に保存した値を変更するだけで転送先を切り替えられます。

静的なURL検査だけでは最終的な誘導先を把握しにくくなるため、防御側にとって検知を難しくする要因になります。

調査時点では正規ChatGPTへ転送、攻撃先は変更可能

OX Securityが解析した時点で、KeyValを使う後期ロジックは利用者を正規のChatGPTサイトへ転送していました。

これは、「現在の転送先が無害だから24パッケージも無害」という意味ではありません。

攻撃者が外部に保存している転送先を変更すれば、同じnpmミラー上のHTMLからフィッシングページやClickFixページへ誘導できます。

一方、記事化する上では、実際に確認された状態と将来的な悪用可能性を分ける必要があります。

OX Securityが確認したのは、攻撃者が転送先を動的に変更できる仕組みを持っていたことです。調査時点で後期サンプルから実マルウェアが配布されていたことまでは確認されていません。

週50~300ダウンロードでも「被害件数」ではない

OX Securityは、各パッケージが削除されるまでに通常50~300程度の週次ダウンロードを記録していたと説明しています。

この数字も被害者数として扱うべきではありません。

npmのダウンロードには、開発者による手動取得だけでなく、セキュリティスキャナー、ミラー、クローラー、CI/CD、検証環境などのアクセスが含まれる可能性があります。

さらに今回のパッケージでは、インストール自体が感染トリガーではありません。

実際の被害には、攻撃者が共有したミラー上のHTMLリンクへ利用者がアクセスし、その後ClickFixやフィッシングの誘導を受ける必要があります。

OX Securityは今回のキャンペーンによる感染者数、認証情報窃取件数、被害組織数を公表していません。

npm削除後もミラー側に残る可能性

今回の手法で重要なのは、悪性パッケージをnpmから削除しただけでは対策が完了しない可能性があることです。

npmパッケージは複数の第三者サービスへ自動的にミラーリングされます。

ミラー側がパッケージ内容をキャッシュしている場合、元のnpmレジストリから削除された後も、HTMLなどの個別ファイルが一定期間参照できる可能性があります。

つまり、SOCやCSIRTでは「npmから削除された=悪性URLも停止した」と判断せず、実際にミラー側の該当パスが利用不能になっているかを別途確認する必要があります。

また、URLレピュテーション製品がunpkg.comなどドメイン単位で高い信頼度を付けている場合、同一ドメイン上の攻撃者作成コンテンツを見逃す可能性があります。

「npmサプライチェーン攻撃」と一括りにしない

今回のキャンペーンはnpmを悪用していますが、典型的なnpmサプライチェーン攻撃とは異なります。

例えば、悪性postinstallスクリプトを含むパッケージを依存関係として取り込ませ、開発者端末やCI/CD環境でコードを自動実行する攻撃ではありません。

OX Securityが確認したのは、npmを「攻撃コードを実行するパッケージ配布基盤」ではなく、「正規ドメインでHTMLを表示させるためのストレージ・配信基盤」として利用する手法です。

このため、依存関係スキャンだけでは検知できない可能性があります。

パッケージのインストール経路を見るSCAと、メールやチャットからブラウザで開かれたミラーURLを見るSWG、DNS、プロキシ、ブラウザ保護を組み合わせる必要があります。

セキュリティ対策Labでは、npm v12で導入されるライフサイクルスクリプト制御の強化についても取り上げていますが、今回の攻撃ではインストール時スクリプトを使っていないため、その対策だけでは防げません。

情報システム・SOC・開発部門への示唆

今回のキャンペーンでは、正規ドメインだから安全という前提を見直す必要があります。

unpkgなどのパッケージミラーは開発業務で正当に利用されるため、ドメイン全体を遮断すると業務影響が出る可能性があります。

そのため、OX Securityは、ミラードメインへのアクセスを一律遮断するのではなく、用途に応じた監視を推奨しています。

特に確認したいのは、メール、チャット、コラボレーションツールなどから利用者がnpmミラー上のHTMLへ直接アクセスしているケースです。

開発ツールがJavaScriptやCSSを取得する通信と、一般ユーザーのブラウザが不審なパッケージ名配下のHTMLを表示する通信は、利用文脈が異なります。

プロキシやSecure Web Gatewayでは、npmミラーへの.html直接アクセス、ブラウザからのアクセス、ランダムなパッケージ名への遷移などを組み合わせて検知する方法が考えられます。

また、正規のKeyValのような汎用サービスをC2や転送先管理に悪用するケースでは、ドメイン単位の遮断は正規利用へ影響します。通信先だけでなく、アクセス元プロセス、直前の閲覧ページ、リクエストパターンなどを合わせて評価する必要があります。

利用者教育では、「Cloudflare風の認証画面だから本物」と判断しないことが重要です。ClickFixでは偽CAPTCHAやエラー表示を利用し、利用者自身に通常とは異なる操作をさせる点が特徴です。

セキュリティ対策LabではClickFixの基本的な仕組みと対策も整理しています。今回の事案は、攻撃者が独自ドメインではなくnpmの正規ミラーを入口に使うことで、URLの見た目に対する信頼を悪用している点が新しいポイントです。

今後は、残るパッケージやミラー上のコピーがどの程度削除されるか、外部転送先が再びClickFixやマルウェア配布へ変更されるか、同じ仕組みを使う追加パッケージが公開されるかが確認ポイントになります。

出典