Malicious npm Package Turns Hugging Face Into Malware CDN and Exfiltration Backend
2026/04/23 CyberSecurityNews — “js-logger-pack” と名付けられた不正な npm パッケージにより、広く信頼される AI モデル・ホスティング・プラットフォーム Hugging Face が悪用され、マルウェア配布ネットワークやデータ窃取の基盤として機能していることが判明した。このキャンペーンが示すのは、攻撃者が正規クラウドサービスを悪用しながら検知を回避する、サプライチェーン攻撃手法の変化である。

この無害に見えるパッケージを開発者がインストールすると、実際の脅威を隠蔽するための正当な “logger” がプロジェクトへロードされる。しかし、インストール時に自動実行されるポスト・インストール・スクリプトにより、真の攻撃が開始される。
このスクリプトは、バックグラウンド・プロセスをデタッチ状態で起動するため、npm インストール・コマンドは正常終了したように見えるが、隠されたダウンローダーは動作し続ける。
ホスト OS に応じて、攻撃者が管理する Hugging Face リポジトリ “Lordplay/system-releases” から 4 種類の悪意のバイナリのいずれかが取得される。
JFrog Security 研究者たちが抽出したのは、Windows/macOS/Linux 向け Node.js Single Executable Application (SEA) バイナリに埋め込まれた JavaScript ペイロードである。
それらを分析して判明したのは、同一のクロス・プラットフォーム JavaScript バンドルが、すべてのバイナリへ注入されていたことだ。つまり、4 つのバイナリは異なるマルウェア・ファミリではなく、同一インプラントを異なる Node.js ランタイム・コンテナでラップしたものだった。この研究結果は、2026年04月23日に公開された。
感染後のインプラントは、各プラットフォームごとの手法で永続化を試行する。Windows ではスケジュールタスク/レジストリ Run キーが、macOS では LaunchAgent、Linux では systemd ユニットが使用される。
その後に WebSocket を通じて、”195[.]201[.]194[.]107″ の C2 サーバへシステム情報が送信される。それにより攻撃者は、任意のファイル読み書き/認証情報の探索/キーログの取得/クリップボードの監視/追加ペイロード展開などが可能な状態となる。
特に注目すべき点は、データ外部送信先の選択である。窃取データはプライベート・サーバではなく、Hugging Face のプライベート・データセットへアップロードされる。
情報漏洩のバックエンドとして Hugging Face を悪用
このキャンペーンの技術面での顕著な点は、リアルタイムなデータ窃取チャネルとして Hugging Face を悪用する点である。
.webp)
攻撃者が C2 を通じてアップロード・タスクを指示すると、インプラントにより Hugging Face トークン/ユーザー名/保存先パス/アップロード ID が受信される。
対象とされるファイルやフォルダは、マルウェアにより gzip 形式へ圧縮される。続いて、攻撃者のアカウントで Hugging Face プライベート・データセットが作成または再利用され、埋め込み Hugging Face クライアントにより、圧縮されたアーカイブがアップロードされる。
この処理が完了した後に、Hetzner 上のコントローラへと通知が送信される。未完了アップロードは、ローカルのステート・ファイルに記録され、再接続時に送信されるためデータ損失は発生しない。
この手法により、C2 サーバは窃取データを直接保存する必要がなくなり、露出を低減しトラフィック検知を困難にする。
この攻撃者は、Hugging Face アカウントを指定するだけで、ストレージ機能をプラットフォームへ委任できる。
さらに、このインプラントはセッション強制リセット機能を持つ。ブラウザ・プロセスを終了させて認証情報を削除することで、ユーザーに再ログインを強制し、その入力をキーロガーで取得する。
この操作後に入力された認証情報は、数分以内に攻撃者のプライベート・データセットへ送信される。
対策
影響を受けた環境においては、すべてのシークレットを直ちにローテーションする必要がある。その対象に含まれるのは、AWS キー/SSH キー/npm トークン/データベースパスワード/API キー/ブラウザに保存される認証情報などである。
OS に応じて、以下の永続化アーティファクトを削除する:
Windows:MicrosoftSystem64 スケジュールタスク/レジストリ Run キー
macOS:LaunchAgent エントリー
Linux:systemd ユニット
管理者にとって必要なことは、パッケージを削除し npm キャッシュをクリアすることだ。その後に “npm config set ignore-scripts true” を実行して、ポストインストール・フックの自動実行を防止する。さらに、”package.json” の dependency 変更について、minor 更新を含めて慎重に確認する。
“js-logger-pack” バージョン 1.1.27 を実行したマシンは、すべてのシークレットがローテーションされ、永続化が完全に除去されるまで、完全に侵害された状態として扱う必要がある。
訳者後書:AI モデルの共有で広く使われるプラットフォームを悪用する、新たな手口のサプライチェーン攻撃について紹介する記事です。この攻撃は、npm パッケージのインストール時に自動でプログラムを実行するポストインストール・スクリプトという仕組みを悪用し、正規のクラウドサービスである Hugging Face を攻撃の中継地点として悪用するものです。さらに、開発者が日常的に利用する Hugging Face の通信を隠れ蓑にする攻撃者は、盗み出したデータを正規のトラフィックに見せかけて外部へ送信し、セキュリティ製品による検知を巧みに回避しています。ご利用のチームは、ご注意ください。よろしければ、Hugging Face での検索結果も、ご参照ください。
You must be logged in to post a comment.