本文へスキップ
MameTechNews
バックエンド

偽btreeのnpmパッケージ、インストール脚本なしで週約200万DLに到達

## POINTS

  • 感染はinstall脚本ではなくBTree.prototype.set。入れただけでは動かず、使った瞬間に発火する
  • btree-coreだけで週間約195万DL。名前の類似だけで正規ライブラリと誤認しやすい
  • ライフサイクル脚本の遮断は必要条件だが不十分。実行時解析と依存名の監査を前提にする

Checkmarx Zeroは9月17日、npm上の進行中キャンペーンを公開した。悪性パッケージindexed-btreeは正規ライブラリsorted-btreeを模倣するが、preinstall/postinstallを持たない。代わりにBTree.prototype.setへローダーを埋め、利用時に別プロセスを起動する。記事時点で関連パッケージの週間ダウンロードはbtree-coreだけで約195万件に達し、キャンペーン全体で「ほぼ200万」と説明されている。

マルウェアはホスト情報を指紋採取し、SlackとTelegramへ送信する。指令はEthereum Sepolia上のスマートコントラクトをC2に使い、X25519とAESで第二段階を復号する。攻撃者の収益は109 ETH(約23万ユーロ)と推定された。見た目の整ったGitHubリポジトリもあり、リポジトリ側には悪性コードを置かないことで正当性を装っている。

npm v12がライフサイクル脚本を制限したあと、攻撃はインストール時からインポート・利用時へ移った。lockfileの点検、実行時の振る舞い監視、typosquat名の依存関係監査が、脚本ブロックだけでは足りない理由になる。