何が起きたか
2026年9月17日、Checkmarx Zeroは、正規ライブラリ sorted-btree になりすましたnpmパッケージ indexed-btree と、同じ運営者による9つの関連パッケージを使ったサプライチェーン攻撃の分析を公開しました。合計で 週530万回以上ダウンロード されていました。Snykは9月7日にindexed-btreeの全バージョンを悪意ありと判定し、9月20日までに10件すべてが削除されました。
対象:indexed-btree、ordered-kv-index、btree-leaderboard、priority-slot-queue、btree-range-store、btree-core、btree-time-index、btree-lru-cache、neighbor-key-map、sliding-score-window。
新しい点:実行時に動くマルウェア
2026年7月から npm v12 はインストールスクリプト(preinstall、install、postinstall)の実行に明示的な承認を求めています。indexed-btreeには インストールスクリプトが一切ありません。ローダーはアプリが頻繁に呼ぶ BTree.prototype.set() の中に仕込まれ、キーが100と緩く等しいときだけ起動するため、静的解析やサンドボックスで見つけにくくなっています。
その他の報告内容:
- 悪意あるコードは npmで公開されたtarballにだけ 存在し、GitHubリポジトリにはなかった
- GitHubのコミット履歴は2025年12月までさかのぼって偽装されていた
- SlackとTelegram で情報を送信し、第2段階は Ethereum Sepoliaテストネットのスマートコントラクト から取得(停止させるドメインがない)
- マルウェアは自己削除できる
今すべきこと
- ロックファイル、SBOM、ミラー、CIキャッシュでこれらの名前を検索する。
- 見つかったら証拠を保全し、npmトークン、Git認証情報、クラウドキー、CIシークレットを更新 する。
- インストールスクリプトの制限だけに頼らず、ビルド・開発環境の実行時の挙動を監視する。
