8つの悪意あるnpmパッケージが4万回を超えてダウンロードされる一方、セキュリティアドバイザリーの対応範囲は不完全なままだった。
MALFEXキャンペーンは2023年8月から活動を続け、Windowsを標的とするペイロードを配布している。Checkmarxによると、2026年10月1日までのダウンロード数は合計4万767回で、function-flagだけで3万7419回を占めた。このパッケージには2025年7月以降、悪意あるコードが含まれていたと研究者は指摘している。
Checkmarxの研究者は、見られる運用者に12個のnpmパッケージが関連しており、そのうち8個が悪意あるものだったと結論付けた。function-flagまた、関連するfunction-colorパッケージには、同社の分析でOpen Source Vulnerabilities(OSV)のマルウェアアドバイザリーが存在せず、アドバイザリーに依存するセキュリティツールには、これらの脅威に関する記録が残されていなかった。
同様に、8月のShai-Hulud npmサプライチェーン攻撃では、認証情報を窃取するために悪意あるパッケージのリリースとインストールスクリプトが使われ、信頼された開発者ワークフローがマルウェアの配布経路になり得ることが示された。
MALFEXがWindowsシステムに侵入した経路
3つのパッケージ――tlxbnhd, tldriver、およびmxdriver――がOverlordリモートアクセス型トロイの木馬を配布した。別のチェーンではnative-runner, img-to-native、およびcdn-img-fetchがmovinlikeを配布した。これはブラウザー、Discord、Telegram、暗号資産ウォレットを標的とするNode.js製の情報窃取マルウェアだ。
3つ目の経路の中心となったのはfunction-flagで、npmのインストールスクリプトを使って追加のペイロードを取得・実行した。function-colorはラッパーとして機能し、function-flagを依存関係として取り込んだ。
アドバイザリーの対応範囲は、悪意あるバージョンを完全には反映していなかった。OSVの記録はcdn-img-fetchのバージョン1.0.0および1.0.1を対象としているが、Checkmarxはバージョン1.0.2および1.0.3も悪意あるものと分類した。8つのパッケージのうち5つは、10月1日までにnpmから非公開化または接収されていた。
ダウンロード数4万767回という合計は、4万767件の感染が確認されたことを意味しない。レジストリの件数には自動化されたダウンロードや依存関係によるダウンロードが含まれる可能性があり、研究者はMALFEXのパッケージに依存する、広く使われた正規パッケージを確認できなかった。
最近の他のインシデントも、信頼された開発インフラに同様の圧力がかかっていることを示している。9月には、Coderのモジュールレジストリが侵害され、クラウド、CI/CD、AI、SSHの認証情報を窃取するよう設計された悪意あるTerraformモジュールが提供された。
アドバイザリーの空白を埋める
セキュリティチームは、依存関係ツリー、マニフェスト、ロックファイルを検索し、function-flag, function-color, cdn-img-fetch, img-to-native, native-runner, tlxbnhd, tldriverおよびmxdriverを確認すべきだ。悪意あるバージョンがインストールされたWindows開発者システムやCI環境は、調査が完了するまで侵害された可能性があるものとして扱う必要がある。
- 既知の悪意あるパッケージをブロックし、影響を受けたホストを調査する。露出したシステムを隔離し、永続化や不審なプロセスの有無を確認するとともに、漏えいした可能性のある認証情報を、既知のクリーンなシステムからローテーションする。
- ロックされた管理下のビルドを使用する。ロックファイルをコミットし、管理されたCIインストールを使用する。デプロイ前には、予期しないパッケージやバージョンの変更を確認する。
- 承認前に依存関係を確認する。新規および推移的依存関係、所有者の変更、ライフサイクルスクリプトを確認してから、ビルド環境への導入を許可する。
- CI/CDの権限と外部アクセスを制限する。利用可能なシークレットと不要なネットワーク接続を最小限に抑え、ペイロードの取得や認証情報の窃取を制限する。
- アドバイザリーの状態だけでなく、パッケージの挙動も監視する。インストール時と実行時に、不審なプロセス、ファイル書き込み、ダウンロード、外部接続がないか監視する。
- サプライチェーン攻撃に対するインシデント対応計画をテストする。チームがシステムを隔離し、認証情報を無効化し、フォレンジック証拠を保全し、信頼できるソースから影響を受けた環境を再構築できることを確認する。
npmではライフサイクルスクリプトの実行を制限できるが、それだけでは完全な防御にならない。MALFEXには、パッケージの読み込み時に実行可能なコードも含まれていたためだ。
より広範なソフトウェア開発ツールチェーンに関する研究は、パッケージの制御をCI/CD、開発者向けツール、来歴の制御と組み合わせる必要がある理由を示している。MALFEXは、アドバイザリーの対応が追いつく前の隙を悪意あるコードが悪用できることを実証した。
詳細はこちら:侵害されたメンテナーアカウントは、信頼されたパッケージエコシステムに侵入する別の経路となる。Amazonは4件のnpmサプライチェーン攻撃をSapphire Sleetに関連付けた。





