- lotusbail として公開された Baileys WhatsApp Web API の悪意のある npm フォークが 56,000 回以上ダウンロードされています。
- このパッケージは、正当な WebSocket クライアントをラップして、バックグラウンドでトークン、セッション キー、メッセージ、連絡先、メディアを盗みます。
- 攻撃者は、自分のデバイスを被害者の WhatsApp アカウントに密かにペアリングし、パッケージがアンインストールされた後もアクセスを維持します。
- Koi Security の研究者は、開発者に対し、サプライチェーン攻撃を見つけるために npm の依存関係を精査し、ランタイムの動作を監視するよう促しています。
一見無害な WhatsApp Web APIヘルパーとして宣伝されているnpmパッケージ 何も知らない開発者とそのユーザーから、チャット、連絡先、アクセス認証情報をひそかに盗み出していたことが判明した。このライブラリは、 「ロータスベイル」は、公式の npm レジストリで数か月間公開され、厳しい監視を受ける前に 56,000 回以上のダウンロード数を達成しました。
複数の独立した記事と詳細な調査によると、 コイセキュリティこのパッケージは表面的には普通のWhatsApp自動化ツールキットのように動作しますが、バックグラウンドでは すべてのメッセージを傍受し、アカウントデータを収集し、永続的なバックドアを確立します 侵害されたWhatsAppアカウントへの攻撃です。悪意のある動作は正規の機能に組み込まれているため、多くのプロジェクトでは明らかな不具合に気付かずに組み込んでしまう可能性があります。
偽のWhatsApp Web APIパッケージがnpmに紛れ込んだ経緯
悪意のあるライブラリは2025年5月頃にnpmに現れ、 「seiren_primrose」 WhatsApp Webと連携するための便利なAPIとして説明されています。実際には、 人気のオープンソースプロジェクト @whiskeysockets/baileys のフォークWhatsApp Web 上でボットや自動化を構築するための WebSocket ベースの API を提供する TypeScript/JavaScript ライブラリです。
ベイリーズの公開インターフェースと動作を忠実に模倣することで、脅威アクターは 開発者は最小限の変更で既存のワークフローにパッケージを組み込むことができるドキュメントと命名は正当に見えるように作成されており、特に npm の使用数が信頼性の代理として機能することが多いことを考えると、忙しいチームがその出所に疑問を抱く可能性は低くなります。
約半年かけて、パッケージは蓄積され 合計56,000件以上のインストールと毎週数百件のダウンロードその間、このマルウェアは公式レジストリから検索およびインストール可能な状態が維持され、事実上、JavaScript 経由で WhatsApp 機能を統合するあらゆるアプリケーションにとって静かなサプライチェーンの脅威となっていました。
研究者らは、npm の基本的な公開プロセスによってこのアップロードが阻止されることはなかったと強調している。 誰でもプロフェッショナルな名前でパッケージを公開し、既知のプロジェクトのAPIをコピーしてすぐに注目を集めることができる。 エコシステムにおける、まさにこの現実こそが、今回のケースで攻撃者が利用したものでした。
WebSocketクライアントを悪用してWhatsAppデータをキャプチャする
攻撃の核心は、ロータスベイルが WhatsAppのWebプロトコルと通信する正当なWebSocketクライアントをラップしますこのパッケージは、新しいインターフェースをゼロから構築する代わりに、標準の Baileys WebSocket 実装の周囲にカスタム コンテナーを挿入し、すべての受信メッセージと送信メッセージが最初にマルウェアを通過できるようにします。
Koi Securityの分析によると、開発者がこのライブラリを通じてWhatsAppで認証すると、 ラッパーはすぐに認証トークンとセッションキーを取得しますその時点から、接続を介して流れるすべてのメッセージ(受信メッセージと送信メッセージ)が、攻撃者のインフラストラクチャに透過的にミラーリングされます。
このミラーリングはプレーンテキストチャットに留まりません。このパッケージは メッセージ履歴、連絡先リスト、添付されたすべてのメディアファイルを盗み出す写真、動画、音声クリップ、文書など、あらゆるものが保存されます。実質的には、ユーザーの会話環境、つまり誰と会話し、何を送信し、何を受信したかが複製されます。
重要なのは、これらのどれも開発者が期待する通常の動作を妨げないということです。公式機能は依然として正常に動作しているようで、ボットは応答を続け、自動化は通常通り実行され、WhatsAppセッションは安定しています。このマルウェアは、ある研究者が「 「あらゆるものの第二の、目に見えない受け手」そのため、通常の観察で検出できる可能性は極めて低いです。
これらはすべて、APIの通常の使用によって実行されます。被害者が追加のコマンドを実行したり、特別なフラグを有効にしたりする必要はありません。 認証と通常のメッセージ処理だけでスパイ機能を有効化できるこれが、このキャンペーンが何ヶ月もの間、検知されずに運営できた理由の一つです。
ステルス的なバックドアアクセス:攻撃者のデバイスをペアリングする
ロータスベイルは、データ窃盗以外にも、より悪質な機能を導入しています。それは静かに 攻撃者が管理するデバイスを被害者のWhatsAppアカウントとペアリングするこれは、正当なユーザーが自分のアカウントに追加の電話やデスクトップを接続するために使用するのと同じマルチデバイス ペアリング ワークフローを活用します。
ログインプロセス中に、マルウェアは隠されたペアリングルーチンを起動します。研究者らは、このコードが 8文字のランダムな文字列を生成し、WhatsAppのデバイスリンクメカニズムに入力します。悪意のあるパッケージに埋め込まれたハードコードされたペアリングフローを使用して、標準プロセスを乗っ取ります。
ペアリングが完了すると、攻撃者のデバイスは事実上、ターゲットアカウントの別の承認済みクライアントになります。それ以降は、 脅威アクターは、アカウント所有者であるかのように、メッセージを読んだり送信したり、連絡先を表示したり、メディアにアクセスしたりすることができます。 – そして、元の悪意のあるパッケージが残っていることを前提とせずに、これを実行できます。
これが攻撃の持続性を生み出します。セキュリティ意識の高い開発者であっても 疑わしい依存関係を見つけてプロジェクトから削除する侵害は自動的には解除されません。悪意のあるnpmコードは削除されるかもしれませんが、攻撃者のリンクされたデバイスは、WhatsAppの信頼できるセッションのリストから明示的に削除されるまでアクティブなままです。
専門家は、この特徴により、この事件は単なるパッケージレベルの感染以上のものであると強調している。 npmのミスが、クリーンアップ後も存続するアカウントの完全な乗っ取りに変わる脆弱なソフトウェアが更新された後も、エンドユーザーが引き続き危険にさらされる可能性があります。
マルウェアは一体何を盗むのか、そしてどのようにそれを隠すのか
Koi Securityや他の研究者による技術ノートには、収集されるデータの詳細な概要が示されています。lotusbailパッケージは、 さまざまな機密性の高いWhatsAppアーティファクトを収集するメッセージ本文だけにとどまりません。
対象となる品目の中には 認証トークン、セッションキー、ペアリングコード クライアントとWhatsAppサーバー間のリンクを維持するために使用される脆弱性。これらを入手すれば、攻撃者は特定のデバイスが再起動されたりソフトウェアが再インストールされたりしても、セッションを再作成したり維持したりすることが可能になります。
このマルウェアは、 連絡先とグループメンバーシップの完全なリストこれにより、脅威アクターは被害者のソーシャルグラフをマッピングし、価値の高いターゲットを特定したり、他のアカウントに狙いを定めたりすることが可能になります。メッセージの内容と組み合わせることで、攻撃者は関係性、ビジネスプロセス、プライベートな会話を広範囲に把握できるようになります。
WhatsAppで交換されるファイルも同様に公開されます。ラッパーはすべてのWebSocketフレームを認識できるため、 写真、ビデオ、音声メモ、ドキュメントのメタデータとペイロードをキャプチャします クライアントによって復号・レンダリングされる前に、その素材は攻撃者が管理するサーバーへの流出に向けて準備されます。
ネットワークレベルでの直接的な検出を回避するために、このパッケージは RSA暗号化の完全なカスタム実装侵害された環境から出る前に、キャプチャされたすべてのデータはローカルで暗号化されます。つまり、ディープ パケット インスペクションを利用する侵入検知システムやネットワーク モニターは、リモート エンドポイントに移動する不透明な暗号化された BLOB しか認識しません。
さらに、このマルウェアには セキュリティアナリストを困惑させることを目的としたアンチデバッグ防御レポートには、一般的なデバッグまたは分析シナリオを検出し、コードを無限ループにプッシュすることで応答し、プロセスを事実上ロックして動的検査をはるかに困難にするロジックが記述されています。
npm パッケージをアンインストールした後もリスクが残る
この事件の直感に反する側面の一つは、 プロジェクトから悪意のある依存関係を削除しても、影響を受けるWhatsAppアカウントが自動的に保護されるわけではないペアリング プロセスを通じて作成された永続的なリンクにより、アンインストール後も攻撃者のアクセスが維持されます。
セキュリティチームは、lotusbailがWhatsAppのマルチデバイスモデルの設計方法を利用していることを指摘しています。デバイスが正常にリンクされると、 所有者が手動で取り消すまで、メッセージとアカウントの更新を受信し続けます。 アプリの設定で設定できます。npm パッケージやホスティングアプリケーションのライフサイクルに関連付けられた自動タイムアウトはありません。
その結果、ライブラリを特定して削除する熱心な開発者であっても、ユーザーに指示をしなければ、ユーザーを危険にさらしてしまう可能性がある。 WhatsApp内でリンクされたデバイスのリストを確認するリストに表示されている見慣れないセッションは、直ちに切断する必要があります。
調査員は、このニュアンスの違いが組織が修復について考える方法を変えると強調している。 ビルドパイプラインとサーバーから悪意のあるコードを削除するインシデント対応は、コードが相互作用したアプリケーション エコシステム (この場合は、侵害されたセッションに関連付けられた WhatsApp アカウント) にも拡張する必要があります。
実際には、影響を受けるプロジェクトは ユーザーに通知し、WhatsAppの資格情報をローテーションする既知の正常なツールを使用してセッションを再確立し、運用またはテストで使用されるすべてのアカウントで攻撃者が制御するデバイスが承認されていないことを確認します。
ロータスベイル事件を誰が発見し、どのように捜査したか
このキャンペーンは、 研究者トゥヴァル・アドモニ氏が率いるコイ・セキュリティは、パッケージの挙動に関する詳細な分析を発表しました。研究者からの追加コメント イダン・ダルディクマン これにより、マルウェアが WebSocket クライアントの透過的なラッパーとして動作し、通常の認証とメッセージ フローが開始されるとすぐにアクティブになることが明確になりました。
アドモニ氏はこの脅威を率直な言葉で要約した。 このパッケージはWhatsAppの認証情報を盗み、すべてのメッセージを傍受し、連絡先を収集し、永続的なバックドアをインストールし、送信前にすべてを暗号化します。 攻撃者が管理するサーバーへの侵入。ステルス性、広範性、そして持続性の組み合わせこそが、これを単なる迷惑行為から深刻なサプライチェーンインシデントへと高めているのです。
静的解析だけではリスクを検知するには不十分であることが判明しました。コードベースは正規のライブラリと同じインターフェースと基本的な動作を公開しているため、 ダウンロード数、星評価、基本的なリンティングなどの評判ベースのシグナルは、本物のツールと区別するのにほとんど役立ちません。このパッケージは、悪意のある追加機能にもかかわらず、目立つ場所に放置されていました。
研究者らはまた、 マルウェアに組み込まれた分析防止技術によりリバースエンジニアリングが遅くなったその能力を完全に把握するには、より慎重なインストルメンテーションとサンドボックス化が必要でした。報告書が公開された時点で、この攻撃キャンペーンはすでに数ヶ月にわたって運用されていました。
この事件は、npmベースの攻撃のリストに急速に加わり、 オープンパッケージレジストリはサプライチェーンの脅威の格好の標的となっているプラットフォームは既知の悪質なパッケージを削除することで対応できますが、初期の検出の負担は、独立したセキュリティチームと用心深い開発者にかかっている場合が多いです。
開発者を狙うサプライチェーンマルウェアの拡大
ロータスベイルの発見は、 開発者エコシステムを狙ったその他の悪意のあるパッケージこれは、この事件が一時的な異常事態ではなく、より広範な傾向の一部であることを強調している。
並行して行われた調査では、セキュリティ企業ReversingLabsが、 Nethereumやその他の暗号通貨関連ライブラリを偽装した14個の不正なNuGetパッケージ .NETの世界では、WhatsAppのnpmのケースと同様に、これらのパッケージはブロックチェーンやデジタル資産を扱う開発者が使用する正規のツールと連携するように設計されていました。
これらの調査結果によると、NuGetパッケージは 暗号通貨取引から攻撃者が管理するウォレットに資金をリダイレクト あるいは、送金金額が100米ドルを超えるたびに、秘密鍵とシードフレーズを密かに抽出していました。「binance.csharp」「Bitcoin Core」「bitapi.net」「coinbase.api.net」「googleads.api」「nbitcoin.unified」「nethereumnet」「nethereumunified」「nethereum.all」「solananet」「solnetall」「solnetall.net」「solnetplus」「solnetunified」といったパッケージ名は、よく知られたツールやサービスを想起させるように作られていました。
信頼を築くために、これらの図書館の運営者は、 ダウンロード統計を水増しし、頻繁なアップデートを推奨した 活発なメンテナンスと人気をシミュレートするためです。このソーシャルエンジニアリングのレイヤーは、lotusbailがnpmの知名度とBaileysプロジェクトの評判を利用して支持を獲得した方法と似ています。
両研究チームの専門家は、同じ点に同意する。 開発者に対するサプライチェーン攻撃は減少するどころか、より巧妙化している。攻撃者は、メッセージング統合、金融業務、一般的なインフラストラクチャなど、エンジニアが日常的に使用するツールを正確にターゲットにすることを習得しています。
従来の防御策がNPMサプライチェーンの脅威に苦戦する理由
ロータスベイルは、ソフトウェアパイプラインを保護するために現在使用されている多くの防御策の限界も浮き彫りにしています。 静的コードスキャン、基本的なリンティング、シンプルな署名チェック、およびレピュテーションメトリクス 多くの場合、明らかな危険信号を検出するように調整されていますが、有効なパッケージに埋め込まれた微妙な悪意のあるロジックを簡単に見逃してしまう可能性があります。
ライブラリは期待されるWhatsApp Web APIサーフェスを忠実に実装しているため、 自動化ツールは、既知の正常なリポジトリのわずかに変更されたフォーク以上のものを認識しない可能性がある。特に有害なコードが正当なネットワークや暗号化ルーチンと絡み合っている場合、手動での抜き取り検査でもすぐに危険が明らかにならない可能性があります。
評判ベースのシステムもこの点では変わりません。多くの組織は無意識のうちに、 高いダウンロード数と安全性を備えた頻繁なアップデートしかし、今回のケースでは、これらのシグナルは時間の経過とともに自然に蓄積されたか、あるいは攻撃者によって人為的に強化された可能性があります。誰でも説得力のある説明文を付けて似たようなパッケージを公開できる場合、人気があるからといって完全性が保証されるわけではありません。
アンチデバッグ層は動的解析をさらに複雑にします。パッケージが インストルメンテーション下で実行したりデバッガーに接続したりして、無限ループやクラッシュを引き起こす自動化されたサンドボックスでは、完全な行動プロファイルを取得するのが困難です。その結果、シグネチャの作成と公開が遅くなります。
これらの課題は、 実稼働環境におけるより堅牢な動作指向型監視静的チェックで最初にパッケージが承認された場合でも、疑わしいネットワーク フロー、予期しない暗号化パターン、または異常なデータ アクセスにフラグが付けられる場合があります。
開発者と組織が今すぐできること
ロータスベイル事件を調査したセキュリティ専門家は、 開発者は、たとえnpmのような大手レジストリから来たものであっても、サードパーティのパッケージを信頼できないコードとして扱うべきである。実践的な手順を踏むことで、将来的に同様の脅威にさらされることを減らすことができます。
まず、チームは 重要な依存関係の起源を確認するこれには、公式ドキュメントやリポジトリで推奨パッケージ名を確認すること、発行者の身元を検証すること、そして可能な限り、定評のある組織や既知のメンテナーによって保守されているライブラリを優先することが含まれます。
第二に、専門家は 機密性の高い統合に関するランタイム監視と異常検出の追加 メッセージングAPI、決済モジュール、暗号化ツールなど。通常とは異なる送信接続、予期しない暗号化アクティビティ、または文書化された動作と一致しないデータフローは、依存関係の侵害の初期兆候となる可能性があります。
第三に、組織は維持すべきである 使用中のすべてのサードパーティ製パッケージのインベントリと、時間の経過に伴う変更の追跡メジャーアップグレードの前にバージョンを固定し、変更ログを確認し、セキュリティ評価を実行すると、問題のあるコードが本番環境に到達する前に検出できるようになります。
最後に、WhatsAppの統合が悪意のあるnpmライブラリに依存していた場合、インシデント対応はコードのクリーンアップだけにとどまらず、さらに踏み込んだ対応をする必要があります。影響を受けたユーザーには、 WhatsAppの設定を開き、リンクされたデバイスを調べ、不明なセッションを削除しますこの手順を実行しないと、攻撃者のペアリングされたデバイスが会話やコンテンツに完全にアクセスし続ける可能性があります。
ロータスベイル事件は、 見た目が似ている、何千回もダウンロードされている、または人気のあるプロジェクトを模倣しているという理由でパッケージを信頼するだけではもはや十分ではない。攻撃者が開発者エコシステムを標的とするケースが増えているため、依存関係を慎重に検証し、実行時の動作を綿密に観察することが、WhatsApp アカウントとその上に構築されたアプリケーションを真に安全に保つために不可欠な要素となっています。