概要
- 2025年9月8日、 npmの人気パッケージ18種 に悪意あるコードが含まれるアップデートが公開
- これらのパッケージは 週20億回以上ダウンロード されている
- 悪意あるコードは Web3/暗号資産の操作を乗っ取り、送金先を書き換え
- ユーザーに気付かれずに 資金や承認が攻撃者に転送
- Aikido safe-chain などの安全対策の重要性
npm人気パッケージ大量感染事件の概要
- 2025年9月8日13:16 UTC、 Aikido intel feed がnpm上の異常なパッケージ更新を検知
- 対象となったパッケージは以下の通り
- backslash (週26万DL)
- chalk-template (週390万DL)
- supports-hyperlinks (週1,920万DL)
- has-ansi (週1,210万DL)
- simple-swizzle (週2,626万DL)
- color-string (週2,748万DL)
- error-ex (週4,717万DL)
- color-name (週1億9,171万DL)
- is-arrayish (週7,380万DL)
- slice-ansi (週5,980万DL)
- color-convert (週1億9,350万DL)
- wrap-ansi (週1億9,799万DL)
- ansi-regex (週2億4,364万DL)
- supports-color (週2億8,710万DL)
- strip-ansi (週2億6,117万DL)
- chalk (週2億9,999万DL)
- debug (週3億5,760万DL)
- ansi-styles (週3億7,141万DL)
- 合計で 週20億回以上のダウンロード数、広範囲に影響
攻撃の詳細
- 該当パッケージの index.js など主要ファイルに 難読化された悪意あるコード を追加
- 例: is-arrayish のindex.jsが改ざん
- このコードは Webブラウザ内で実行 される
- ユーザーが暗号資産やWeb3関連の操作を行う際に発動
- walletの操作や送金先アドレスを攻撃者のものに書き換え
- 資金や承認が気付かれずに盗み取られる
悪意あるコードの挙動
- window.ethereum が存在する場合、アカウント取得APIを呼び出し
- アカウントが存在すれば runmask 等の関数で乗っ取り処理
- 送金先や承認先のアドレスを 攻撃者の管理するアドレスへ上書き
- 多数の アドレスリスト(BTC, ETH, 他) がコード内に埋め込まれている
影響範囲
- 影響を受けたパッケージは Node.js/JavaScriptエコシステムの基盤的存在
- 多くのプロジェクトやWebサービスが間接的に依存
- Web3/暗号資産関連のサービス利用者 が特に危険
- 被害は 資金流出や不正承認 など、直接的な金銭被害に直結
被害を防ぐための対策
- Aikido safe-chain などの 依存パッケージの安全性検証ツール の活用
- パッケージの 更新前に公式リポジトリやコード差分の確認
- npm install時の自動スキャンや監視ツール の導入
- 依存パッケージのロックファイル(package-lock.json等)の厳守
- 怪しい挙動や不審なアップデートを検知した場合は 即時利用停止と報告
総括
- npmエコシステムの信頼性 が大きく揺らぐ重大事件
- 自動化された監視・スキャン体制 の構築が今後さらに重要
- ユーザー自身によるセキュリティ意識の向上 も不可欠
こんにちは、やられちゃったよ。みんなごめん、すごく恥ずかしい。詳しい情報はここね: - https://github.com/chalk/chalk/issues/656 - https://github.com/debug-js/debug/issues/1005#issuecomment-3... 影響を受けたパッケージ(少なくとも俺が知ってるのは): - [email protected] - [email protected](9月8日 18:09 CESTに引き上げられたみたい) - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] - [email protected] なんかターゲット攻撃っぽい感じがする。編集期限が切れるまでこのコメントを更新し続けるつもり。 --- Chalkは公開されてるけど、他のはまだ危険な状態(9月8日 17:50 CEST)。NPMからはまだ返事が来てない。俺のNPMアカウントは完全にアクセス不能で、パスワード再設定も機能しない。今は待つしかない。メールはnpmjsのサポートから来たけど、一見すると正当なものに見えた。言い訳するつもりはないけど、長い一週間で、パニックな朝だったから、やることリストの一つを片付けようとしてたんだ。普段なら直接サイトに行くところを、リンクをクリックしちゃったのが間違いだった(モバイルだったから)。影響を受けてるのはNPMだけ。上の
/debug-jsリンクに更新を投稿する予定。また、本当にごめん。