概要
DuckDBのNode.js向けnpm配布パッケージが マルウェア により改ざんされた事例 影響を受けたバージョンと対策の 詳細説明 フィッシング攻撃 による認証情報漏洩の経緯 即時対応および今後の再発防止策 ユーザーへの 注意喚起
DuckDB npmパッケージのマルウェア混入事案
- DuckDB のNode.js向けnpmパッケージで マルウェア混入 が発覚
- 攻撃者が4つのDuckDB関連パッケージに 悪意あるコード を混入し公開
- 対象パッケージとバージョン
- @duckdb/node-api@1.3.3
- @duckdb/node-bindings@1.3.3
- duckdb@1.3.3
- @duckdb/duckdb-wasm@1.29.2
- 対象パッケージとバージョン
- マルウェアは 暗号通貨取引の妨害 を目的としたコードを含有
- 現時点の正式リリースは 1.3.2 であり、 1.4.0 は2025年9月10日リリース予定
- 1.3.3系の正規リリース予定はなし ユーザーは誤って該当バージョンへ更新しないよう 要注意
対応と再発防止策
- 発覚から4時間以内 に問題を検知
- 以下の緊急対応を実施
- 該当バージョンの非推奨化(deprecate)
- npmサポートへ連絡し、該当バージョンの削除要請
- 安全な新バージョン(1.3.4/1.30.0)を再リリース
- 最新バージョンは 安全なもの へ差し替え済み
- ユーザーへの謝罪 とともに、 内部プロセスの見直し を表明
インシデントの経緯と原因
- 2024年9月8日(月)、DuckDBメンテナーが "...@npmjs.help" からのメールを受信
- メール内リンクから npmjs.help ドメインの偽サイトへ誘導
- 本物のnpmjs.comを模した フィッシングサイト でログイン
- duckdb_admin アカウントでパスワード・2FA入力
- サイトは本物そっくりで、ユーザープロファイルや設定も再現
- 指示通りに 2FA再設定 を実施
- 実際には本物のnpmサイトにも2FAが更新される仕組み
- 攻撃者は 新しいAPIトークン を追加し、 悪意あるパッケージ公開 に利用
- 自動入力が効かなかった点 が警告サインだったと後に判明
- 古典的なフィッシング攻撃 により認証情報が漏洩
早期発見と被害最小化
- 発覚後、 DuckDBLabsチーム が早朝7時に緊急対応会議を実施
- NPMアカウントが乗っ取られなかった ことが幸い
- 直ちに パスワード・トークン・APIキーのローテーション を実施
利用者への注意喚起
- 1.3.3系 および @duckdb/duckdb-wasm@1.29.2 を 絶対に使用しない
- パッケージのバージョン確認 を徹底
- npm install時のバージョン指定 や 依存関係の見直し を推奨
今後の対策
- 今回のインシデントを受け、 内部手順・セキュリティ対策の強化 を進行中
- 再発防止 のための運用改善を継続
- 利用者に対し、 引き続き注意と協力 を要請