悪意あるnpmパッケージindexed-btreeが週200万ダウンロードに到達した手口

登場人物紹介

チップス
どんぐり大学卒、一般企業の情報システム部で働く若手エンジニア。
入社1〜3年目らしい悩みを抱えつつ、日々の運用やセキュリティ対応に奮闘中。慌てんぼうだが素直で吸収力が高く、ボスに鍛えられながら着実に成長している。

ボス
セキュリティ、インフラ、運用の修羅場をくぐってきた歴戦のエンジニア。サイバーセキュリティラボの所長でボスと呼ばれている。
現場視点と経営視点の両方から、本当に使えるセキュリティとキャリア戦略を叩き込む。口は悪いが面倒見はよく、若手育成と実践的な情報発信に力を注いでいる。
@boss_sec_labo

「npmのパッケージって、ダウンロード数が多ければ安全なんじゃないんでしゅか?」
「インストールスクリプトを止めていれば大丈夫でしゅよね?」

チップス

ボス!npmの悪意あるパッケージが、週に200万回もダウンロードされてたって本当でしゅか?

ボス

本当だ。「indexed-btree」というB-treeライブラリに見せかけたパッケージで、Checkmarxが見つけた。

チップス

そんなに使われてたら、普通は安全だと思っちゃうでしゅ…。

ボス

それが狙いだ。しかも今回は、インストール時ではなく、ライブラリを使う処理の中で悪意あるコードが動く仕組みだった。これまでの対策をすり抜けてきたわけだ。

開発現場では、ダウンロード数やGitHubの見た目でライブラリを選ぶことも多いはずです。
この記事では、indexed-btreeの手口と、開発組織が見直すべきポイントを解説します。

  • 正規ライブラリsorted-btreeに似せたnpmパッケージindexed-btreeが、検出前に週約200万ダウンロードに到達
  • 悪意あるコードはインストールスクリプトではなく、BTree.prototype.setメソッドの中に隠されていた
  • 関連する10個のパッケージが見つかり、C2にはEthereumのテストネット上のスマートコントラクトが使われていた

サプライチェーン攻撃から開発環境を守るための確認点が分かります。

オススメ求人・フリーランス案件

【銀行向けサイバーセキュリティチーム支援】中野(原則オンサイト)/AI悪用対策・SOC・CSIRT・インシデント対応

月額単価
1,100,000円 / 月
稼働場所
東京都オンサイト
業務領域
要件定義, 設計, 構築, 運用・保守
作業内容
大手銀行におけるサイバーセキュリティチームの一員として、...

【製造業向けセキュリティ運用支援】東京都・フルリモート/Zscaler・CrowdStrike・運用標準化

月額単価
1,000,000円 / 月
稼働場所
フルリモート
業務領域
運用・保守, PMO
作業内容
大手製造業におけるセキュリティ製品の運用支援および課題整...

【Pマーク・ISMS認証取得支援】東京・東陽町(リモート併用)/セキュリティコンサルタント・PMO

月額単価
850,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, 設計, 構築, PMO
作業内容
企業の情報セキュリティ認証(Pマーク・ISMS等)取得を成功へ...

【Microsoft Sentinelログ集約基盤構築】豊洲・常駐/Azure・Sentinel・設計構築

月額単価
850,000円 / 月
稼働場所
東京都常駐
業務領域
要件定義, 設計, 構築, 運用・保守, PMO
作業内容
Microsoft Sentinelを活用したログ集約基盤の構築プロジェク...

【金融機関セキュリティ方針策定・統制】東京・品川(常駐)/方針策定・脆弱性対応・統制

月額単価
900,000円 / 月
稼働場所
東京都常駐
業務領域
要件定義, 設計, 構築, 運用・保守
作業内容
金融機関におけるサイバーセキュリティ方針やポリシーの策定...

【全社セキュリティ戦略の策定・推進】西新宿(週2リモート)/戦略・インシデント対応・AI統制

月額単価
1,500,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, 設計, 構築, 運用・保守, PMO
作業内容
グループ全体の情報セキュリティ戦略の立案から実行、運用高...

【銀行グループ向け サイバーセキュリティ強化・改善推進PMO】中野(リモート併用)/セキュリティガバナンス・プロジェクト推進

月額単価
1,100,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, PMO
作業内容
銀行グループ全体のサイバーセキュリティレベル向上を目指し...

【グローバル製造業向けSASE導入PMO・設計構築】高輪(リモート併用)/Prisma Access・海外拠点展開

月額単価
1,300,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, 設計, 構築, PMO
作業内容
グローバル製造業における国内外複数拠点に向けた大規模SASE...

【ゼロトラスト基盤構築・VPN廃止移行推進】フルリモート/Zscaler ZPA・マイクロセグメンテーション

月額単価
900,000円 / 月
稼働場所
フルリモート
業務領域
設計, 構築, 運用・保守
作業内容
従来のVPN環境廃止に伴い、Zscaler ZPAを中心としたゼロトラ...

【公共系閉域網環境SplunkES統合・構築】東京・豊洲(常駐)/設計・構築・運用

月額単価
1,100,000円 / 月
稼働場所
東京都原則オンサイト(常駐)
業務領域
設計, 構築, 運用・保守
作業内容
公共系システムの拠点統合に伴い、既存Splunk環境の統合およ...
  • 株式会社電通デジタル

社内SE【年収700~1500万円】セキュリティ・インフラの構築・運用

想定年収
700~1,500万円
勤務地
本社:汐留オフィス: 〒105-7077 東京都港区東新橋1-8-1(電通本社ビル内)
雇用形態
正社員
要スキル
必須要件 サイバーセキュリティ関連の業務経験3年以上 歓迎要件 CISSP、CISM、CISA、情報処理安全…
  • 株式会社エス・エム・エス

【東証プライム】情報セキュリティマネージャー候補・事業成長支援(850~1100万円)

想定年収
850~1,100万円
勤務地
本社:東京都港区芝公園2-11-1 住友不動産芝公園タワー
雇用形態
正社員
要スキル
必須条件 以下いずれにも該当する方 情報セキュリティに関するご経験、知見をお持ちの方 ITインフラに関する何…
  • 株式会社日立産業制御ソリューションズ

【年収500〜800万円】日立グループ|自動車サイバーセキュリティコンサルタント(横浜・在宅可)

想定年収
500~800万円
勤務地
本社:茨城本社:茨城県日立市大みか町五丁目1番26号/東京本社:東京都台東区秋葉原6番1号(秋葉原大栄ビル)
雇用形態
正社員
要スキル
以下のいずれかのご経験をお持ちの方 組込みソフトウェア開発経験 サイバーセキュリティに関する業務経験
  • 三菱地所ITソリューションズ株式会社

【三菱地所グループ】セキュリティエンジニア(マネジメント・エンジニアリング)年収628〜1200万円

想定年収
628~1,200万円
勤務地
本社:東京都千代田区丸の内1-6-5 丸の内北口ビル 13階
雇用形態
正社員
要スキル
必須要件 サイバーセキュリティ、インフラ関連のセキュリティの業務経験 歓迎要件 セキュリティアーキテクト、セ…
  • ディップ株式会社

【社内セキュリティ推進室長】800〜1100万円|人材大手ディップ・リモートOK

想定年収
800~1,100万円
勤務地
本社:東京都港区六本木3-2-1 六本木グランドタワー31F
雇用形態
正社員
要スキル
スキル(Must) セキュリティ組織のマネジメント経験(責任者としての組織リードを期待します) 情報セキュリ…
  • 株式会社ドワンゴ

KADOKAWAグループ向けセキュリティコンサルタント|個人情報管理・相談対応(テレワーク)

想定年収
応相談
勤務地
本社:東京都中央区銀座4-12-15 歌舞伎座タワー
雇用形態
正社員
要スキル
必須スキル 情報セキュリティ関連施策の企画や改善の経験 情報システム構成(ネットワーク/サーバ/アプリケーシ…
  • 株式会社ビザスク

【年収750〜1200万円】グローバル7拠点・プロダクトセキュリティエンジニア(東京)

想定年収
750~1,200万円
勤務地
本社:東京都目黒区青葉台4-7-7 住友不動産青葉台ヒルズ1F・9F
雇用形態
正社員
要スキル
応募資格(必須) 以下、両方のスキルやご経験をお持ちの方 セキュリティ関連業務の業務経験 ソフトウェアエンジ…
  • 株式会社タイミー

情報セキュリティ・プライバシーガバナンス スペシャリスト【900~1300万】

想定年収
900~1,300万円
勤務地
本社:東京都港区東新橋1-5-2 汐留シティセンター 35階
雇用形態
正社員
要スキル
必須要件 共通Must 一つ以上の専門領域で、難易度の高い課題を解決した具体的な成果実績 複数部門にまたがる…
  • 株式会社タイミー

セキュリティ・プライバシー基盤構築【600~1000万円】

想定年収
600~1,000万円
勤務地
本社:東京都港区東新橋1-5-2 汐留シティセンター 35階
雇用形態
正社員
要スキル
必須要件 共通の必須要件 以下A・Bのいずれか A: 情報セキュリティ領域 リスクアセスメント、ISMS運用…
  • AIセキュリティ株式会社

【1000~2400万円】EDR/エンドポイントセキュリティ領域のリード採用

想定年収
1,000~2,400万円
勤務地
本社:東京都新宿区四谷1丁目9-16 三宅ビル4F
雇用形態
正社員
要スキル
必須 CrowdStrike(Falcon)を用いたEDR/エンドポイントセキュリティの実務経験(導入・構築…
目次

悪意あるnpmパッケージindexed-btreeの概要

正規のライブラリに似せたパッケージが、長期間にわたって大量にダウンロードされていました。

発見の経緯と影響の規模

セキュリティ企業Checkmarxは、npmで公開されていたindexed-btreeが悪意あるパッケージだったと報告しました(Checkmarx)。
このパッケージは、B-treeやインデックス処理の正規ライブラリsorted-btreeに似せて作られていました。
検出される前には、週に約200万回ダウンロードされていたとされています(SecurityWeek)。
The Hacker Newsによると、最初のバージョンは2026年6月18日に公開され、現在はnpmから削除されています(The Hacker News)。
数カ月にわたり、誰でもインストールできる状態だったとみられます。

関連する10個のパッケージ

Checkmarxは、同じ攻撃に関係するパッケージを合わせて10個確認しています。
主な関連パッケージとダウンロード数は以下のとおりです。

パッケージ名ダウンロード数
btree-core1,951,274
btree-leaderboard493,685
btree-range-store468,092
ordered-kv-index448,184
sliding-score-window448,024
btree-time-index425,312
priority-slot-queue402,860
btree-lru-cache372,185
neighbor-key-map366,019

いずれもデータ構造や並べ替えなど、開発でよく使う機能をうたう名前です。
依存関係に含めていないか、プロジェクトのpackage-lock.jsonなどで確認する必要があります。

攻撃の仕組みとリスク

今回の特徴は、従来の検出方法を前提にした対策をすり抜ける設計にあります。

インストールスクリプトを使わない仕掛け

これまでの悪意あるnpmパッケージの多くは、preinstallやpostinstallといったインストール時のスクリプトで不正なコードを動かしていました。
npm v12ではこうしたライフサイクルスクリプトの実行が制限されています。
indexed-btreeは、悪意あるローダーをライブラリの中核であるBTree.prototype.setメソッドの中に隠していました。
このメソッドは利用者が日常的に呼び出す関数で、特定の条件を満たす呼び出しをきっかけに不正なコードが動く仕組みでした。
Checkmarxは、ライフサイクルスクリプトの制限は続けるべきだとしたうえで、インストール時だけでなく実行時の振る舞いを分析しなければ、この種のパッケージは捕まえられないと指摘しています。

チップス

使う処理の中で動くなんて、インストール時のチェックじゃ見つからないでしゅ!

ボス

そういうことだ。しかもGitHubのリポジトリには悪意あるコードを置かず、コミット履歴まで作り込んで信用させていた。見た目だけで判断するのは危ういぞ。

窃取される情報とC2の仕組み

不正なコードは、まず感染した端末の情報を集めて外部に送ります。
Checkmarxが報告している動作は以下のとおりです。

  • OSのアーキテクチャ、ホスト名、CPU、メモリ、稼働時間などの情報を収集する
  • 集めた情報をSlackのチャンネルとTelegramのチャットに送信する
  • EthereumのSepoliaテストネット上のスマートコントラクトから、暗号化された第2段階のペイロードを取得する

ブロックチェーン上のスマートコントラクトをC2に使うと、通常のサーバーのように差し押さえて止めることが難しくなります。
Checkmarxの公表時点で、攻撃者は約109ETHを稼いだとみられています。

まとめ

indexed-btreeの事例は、ダウンロード数の多さやGitHubの見た目が安全性の証明にならないことを示しました。
悪意あるコードをインストールスクリプトではなく通常の処理の中に隠すことで、ライフサイクルスクリプトの制限という新しい防御もすり抜けています。
開発組織は、依存関係の確認に加えて、実行時の振る舞いを監視する仕組みを検討する必要があります。

ボス

便利なライブラリほど疑われにくい。攻撃者はそこを突いてくる。依存関係は「入れて終わり」ではなく、定期的に棚卸しすることだ。

チップス

今日のうちにpackage-lock.jsonを確認しましゅ!

対策の優先度は明確です。以下を今すぐ実施してください。

  • プロジェクトの依存関係にindexed-btreeや関連パッケージが含まれていないか、package-lock.jsonなどで確認する
  • 含まれていた場合は削除したうえで、その環境の認証情報やトークンの入れ替えを検討する
  • 新しいパッケージの導入時は、公開時期や公開者、名前の似た正規ライブラリの有無を確認するルールを設ける

オススメ求人・フリーランス案件

【銀行向けサイバーセキュリティチーム支援】中野(原則オンサイト)/AI悪用対策・SOC・CSIRT・インシデント対応

月額単価
1,100,000円 / 月
稼働場所
東京都オンサイト
業務領域
要件定義, 設計, 構築, 運用・保守
作業内容
大手銀行におけるサイバーセキュリティチームの一員として、...

【製造業向けセキュリティ運用支援】東京都・フルリモート/Zscaler・CrowdStrike・運用標準化

月額単価
1,000,000円 / 月
稼働場所
フルリモート
業務領域
運用・保守, PMO
作業内容
大手製造業におけるセキュリティ製品の運用支援および課題整...

【Pマーク・ISMS認証取得支援】東京・東陽町(リモート併用)/セキュリティコンサルタント・PMO

月額単価
850,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, 設計, 構築, PMO
作業内容
企業の情報セキュリティ認証(Pマーク・ISMS等)取得を成功へ...

【Microsoft Sentinelログ集約基盤構築】豊洲・常駐/Azure・Sentinel・設計構築

月額単価
850,000円 / 月
稼働場所
東京都常駐
業務領域
要件定義, 設計, 構築, 運用・保守, PMO
作業内容
Microsoft Sentinelを活用したログ集約基盤の構築プロジェク...

【金融機関セキュリティ方針策定・統制】東京・品川(常駐)/方針策定・脆弱性対応・統制

月額単価
900,000円 / 月
稼働場所
東京都常駐
業務領域
要件定義, 設計, 構築, 運用・保守
作業内容
金融機関におけるサイバーセキュリティ方針やポリシーの策定...

【全社セキュリティ戦略の策定・推進】西新宿(週2リモート)/戦略・インシデント対応・AI統制

月額単価
1,500,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, 設計, 構築, 運用・保守, PMO
作業内容
グループ全体の情報セキュリティ戦略の立案から実行、運用高...

【銀行グループ向け サイバーセキュリティ強化・改善推進PMO】中野(リモート併用)/セキュリティガバナンス・プロジェクト推進

月額単価
1,100,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, PMO
作業内容
銀行グループ全体のサイバーセキュリティレベル向上を目指し...

【グローバル製造業向けSASE導入PMO・設計構築】高輪(リモート併用)/Prisma Access・海外拠点展開

月額単価
1,300,000円 / 月
稼働場所
東京都リモート併用
業務領域
要件定義, 設計, 構築, PMO
作業内容
グローバル製造業における国内外複数拠点に向けた大規模SASE...

【ゼロトラスト基盤構築・VPN廃止移行推進】フルリモート/Zscaler ZPA・マイクロセグメンテーション

月額単価
900,000円 / 月
稼働場所
フルリモート
業務領域
設計, 構築, 運用・保守
作業内容
従来のVPN環境廃止に伴い、Zscaler ZPAを中心としたゼロトラ...

【公共系閉域網環境SplunkES統合・構築】東京・豊洲(常駐)/設計・構築・運用

月額単価
1,100,000円 / 月
稼働場所
東京都原則オンサイト(常駐)
業務領域
設計, 構築, 運用・保守
作業内容
公共系システムの拠点統合に伴い、既存Splunk環境の統合およ...
  • 株式会社電通デジタル

社内SE【年収700~1500万円】セキュリティ・インフラの構築・運用

想定年収
700~1,500万円
勤務地
本社:汐留オフィス: 〒105-7077 東京都港区東新橋1-8-1(電通本社ビル内)
雇用形態
正社員
要スキル
必須要件 サイバーセキュリティ関連の業務経験3年以上 歓迎要件 CISSP、CISM、CISA、情報処理安全…
  • 株式会社エス・エム・エス

【東証プライム】情報セキュリティマネージャー候補・事業成長支援(850~1100万円)

想定年収
850~1,100万円
勤務地
本社:東京都港区芝公園2-11-1 住友不動産芝公園タワー
雇用形態
正社員
要スキル
必須条件 以下いずれにも該当する方 情報セキュリティに関するご経験、知見をお持ちの方 ITインフラに関する何…
  • 株式会社日立産業制御ソリューションズ

【年収500〜800万円】日立グループ|自動車サイバーセキュリティコンサルタント(横浜・在宅可)

想定年収
500~800万円
勤務地
本社:茨城本社:茨城県日立市大みか町五丁目1番26号/東京本社:東京都台東区秋葉原6番1号(秋葉原大栄ビル)
雇用形態
正社員
要スキル
以下のいずれかのご経験をお持ちの方 組込みソフトウェア開発経験 サイバーセキュリティに関する業務経験
  • 三菱地所ITソリューションズ株式会社

【三菱地所グループ】セキュリティエンジニア(マネジメント・エンジニアリング)年収628〜1200万円

想定年収
628~1,200万円
勤務地
本社:東京都千代田区丸の内1-6-5 丸の内北口ビル 13階
雇用形態
正社員
要スキル
必須要件 サイバーセキュリティ、インフラ関連のセキュリティの業務経験 歓迎要件 セキュリティアーキテクト、セ…
  • ディップ株式会社

【社内セキュリティ推進室長】800〜1100万円|人材大手ディップ・リモートOK

想定年収
800~1,100万円
勤務地
本社:東京都港区六本木3-2-1 六本木グランドタワー31F
雇用形態
正社員
要スキル
スキル(Must) セキュリティ組織のマネジメント経験(責任者としての組織リードを期待します) 情報セキュリ…
  • 株式会社ドワンゴ

KADOKAWAグループ向けセキュリティコンサルタント|個人情報管理・相談対応(テレワーク)

想定年収
応相談
勤務地
本社:東京都中央区銀座4-12-15 歌舞伎座タワー
雇用形態
正社員
要スキル
必須スキル 情報セキュリティ関連施策の企画や改善の経験 情報システム構成(ネットワーク/サーバ/アプリケーシ…
  • 株式会社ビザスク

【年収750〜1200万円】グローバル7拠点・プロダクトセキュリティエンジニア(東京)

想定年収
750~1,200万円
勤務地
本社:東京都目黒区青葉台4-7-7 住友不動産青葉台ヒルズ1F・9F
雇用形態
正社員
要スキル
応募資格(必須) 以下、両方のスキルやご経験をお持ちの方 セキュリティ関連業務の業務経験 ソフトウェアエンジ…
  • 株式会社タイミー

情報セキュリティ・プライバシーガバナンス スペシャリスト【900~1300万】

想定年収
900~1,300万円
勤務地
本社:東京都港区東新橋1-5-2 汐留シティセンター 35階
雇用形態
正社員
要スキル
必須要件 共通Must 一つ以上の専門領域で、難易度の高い課題を解決した具体的な成果実績 複数部門にまたがる…
  • 株式会社タイミー

セキュリティ・プライバシー基盤構築【600~1000万円】

想定年収
600~1,000万円
勤務地
本社:東京都港区東新橋1-5-2 汐留シティセンター 35階
雇用形態
正社員
要スキル
必須要件 共通の必須要件 以下A・Bのいずれか A: 情報セキュリティ領域 リスクアセスメント、ISMS運用…
  • AIセキュリティ株式会社

【1000~2400万円】EDR/エンドポイントセキュリティ領域のリード採用

想定年収
1,000~2,400万円
勤務地
本社:東京都新宿区四谷1丁目9-16 三宅ビル4F
雇用形態
正社員
要スキル
必須 CrowdStrike(Falcon)を用いたEDR/エンドポイントセキュリティの実務経験(導入・構築…
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

セキュリティプロ・フリーランスは、セキュリティ領域に特化したフリーランス向けのエージェントサービスです。案件探しだけでなくキャリアにお悩みの方もお気軽にご相談ください。

目次