ハッカーは、Claude、Cursor、Windsurf、PearAIなどのAIコーディングツールを使用している開発者からトークンとシークレットを盗むために、偽のGeminiテーマのnpmパッケージを悪用しています。
READMEテキストは関連のない chai-await-async ライブラリからコピーされたもので、注意深いレビュアーにとって注意が必要なサインであるべきでした。
コード分析により、パッケージがVercelホストのエンドポイント server-check-genimi. vercel[.]appに接続して、インストール時に追加のJavaScriptをダウンロードして実行していることが明らかになりました。
レポートによると、2026年3月20日に、npmユーザー「gemini-check」が gemini-ai-checkerという名前のパッケージをアップロードし、Google Gemini AIトークンを検証できると主張しました。
同じアカウントは、 express-flowlimit と chai-extensions-extrasという2つの関連する悪意あるパッケージをホストしており、数百ダウンロードを受け取り、2026年4月初旬の時点でも利用可能です。
配信とC2動作
gemini-ai-checkerパッケージは、4つの依存関係、44ファイル、271 kBのフットプリントを備えた最新のNode.jsプロジェクトを模倣しており、正当に見えるようにセキュリティとドキュメンテーションファイルを含んでいます。
悪意あるパッケージは、READMEドキュメントと依存関係の構造を使用して、ソフトウェアを素早くインストールする必要がある人に信頼できるように見えます。

コマンド&アンドコントロール(C2)設定は lib/config.jsにあり、ステージングドメイン、パス、バージョン、ベアラートークンは変数に分割され、完全なURLが単一の文字列として表示されることはありません。
インストール中、 lib/caller.jsは完全なURLを再構築し、カスタム bearrtoken: logoヘッダー付きで server-check-genimi. vercel[.]app/defy/v3へのHTTP GETを発行し、最大5回までリトライします。
サーバがHTTP 404で応答し、ボディに tokenフィールドが含まれている場合、コードはその値を Function.constructorに渡し、 requireへのアクセスで実行し、ペイロードを完全にメモリ内に保持し、静的または従来のアンチウイルス検出をトリガーする可能性のあるディスク書き込みを回避します。

4月1日の直前に、 gemini-ai-checkerパッケージはnpmから削除されましたが、同じVercelインフラに関連する2つの兄妹パッケージは稼働中であり、インストール継続されています。
研究者は JavaScriptバックドア をテイクダウン前にVercelエンドポイントから回復し、シャッフルされた文字列配列とエンコードされたインデックス検索を使用して高度に難読化され、すべての意味のある文字列とAPIが実行時に解決されることを発見しました。
完全に難読化解除されたマルウェアは4モジュールアーキテクチャを示しており、外部ローダーは4つの個別のNode.jsプロセスを開始し、各プロセスは独自のエンコードされた文字列テーブルを持ち、ハードコードされたIP 216.126.237[.]71からのさらなるC2フェッチはありません。

- モジュール0:ポート4891のSocket.IOベースのリモートアクセスツール、 vhost.ctlになりすまし、単一の実行インスタンスを強制します。
- モジュール1:ポート4896の認証情報スティーラー、ブラウザ認証情報ストアと25以上の暗号通貨ウォレットをWindows、macOS、Linuxで対象とします。
- モジュール2:ポート4899のファイル流出、ホームディレクトリをスキャンしてセンシティブな拡張子(.env、 .pem、 .key、 .json、 .csv、 .doc、 .pdf、 .xlsx)および他の高価値パスを検索します。
- モジュール3:ポート80のクリップボードスティーラー、500msごとにポーリングし、サンドボックスベースの動作検出を回避するために3秒の初期遅延があります。
クリップボードモジュールおよびその他の動作はOtterCookieに密接に一致しており、これはDPRK関連の「感染性面接」キャンペーンに関連付けられ、2026年3月にMicrosoftによって分析されたJavaScriptバックドアです。
難読化パターン、モジュールレイアウト、Socket.IO使用法、フィンガープリント論理の重複により、これがアクティブなOtterCookieバリアントであるという中程度から高い信頼度の評価がサポートされます。
一般的な認証情報盗難を超えて、流出モジュールは一般的なAI開発ツールに関連するディレクトリを明示的に検索しています。
これらには .cursor (Cursor AI IDE)、 .claude (Anthropic Claude Code)、 .gemini (Gemini CLI)、 .windsurf (Windsurf AI IDE)、 .pearai (PearAI)、 .eigent (Eigent AI)などが含まれます。
APIキー、トークン、会話ログをこれらの場所から収集することにより、攻撃者は高コストのAIサービスを乱用し、所有権のあるソースコードを盗み、盗まれたSSHとクラウド認証情報へのアクセスを組み合わせて、より深い企業の侵害を実行できます。
ディフェンダーにとって、Vercelホストのインフラストラクチャへのアウトバウンド接続を監視し、可能な場合は制限することは、疑わしいパッケージ動作を明らかにするのに役立ちます。
感染性面接とOtterCookieアクティビティのためのMicrosoftの公開されたKQLハンティングクエリを使用して、同様のマルチプロセスNode.jsバックドアとSocket.IO C2トラフィックを特定するのに役立てることができます。
このキャンペーンは、AIアシスタントとローカルAI CLIをハイジャックしてGitHubトークンを検索し、SSHキーとウォレットファイルを検索した以前のnpmサプライチェーン攻撃を反映しており、AIツールが開発者ワークフローにどれほど深く組み込まれているかを強調しています。
セキュリティチームは、一般的なAIブランドを偽装するか、不一致のREADMEコンテンツと依存関係を示す新しく公開されたnpmパッケージについて、迅速に報告し、テイクダウンをリクエストする必要があります。
開発者は、しばしば含まれるシークレットとコードを考えると、AIツールディレクトリを .ssh、 .aws、または .gitと同じ感度で扱う必要があります。
インストール前に、ドキュメンテーション矛盾、疑わしいネットワークコード、インストール後の動作についてnpmパッケージを検査し、トロイ木馬化されたパッケージのレポートについてエコシステムアラートとソーシャルチャネルを監視する必要があります。
このキャンペーンは、AIコーディングアシスタントがソフトウェアサプライチェーン攻撃で高価値ターゲットであり、攻撃者がそれらに到達するためにGeminiテーマの一見役に立つユーティリティを武器化する意思があることを強調しています。
IOCs
| タイプ | 値 | 目的 |
| ダウンロードURL | server-check-genimi.vercel[.]app/defy/v3 | OtterCookieを配信する悪意あるドメイン |
| ダウンロードトークン | logo | HTTPベアラートークン |
| C2 IPアドレス | 216.126.237[.]71:4891 (AS14956 – RouterHosting LLC) | RAT/C2 |
| C2ポート | 4896 | ファイル流出 |
| C2ポート | 4899 | 認証情報盗難 |
| C2エンドポイント | /api/service/makelog | 被害者フィンガープリント情報を含む初期接続 |
| C2エンドポイント | /api/service/process | C2コマンド出力レポート |
翻訳元: https://gbhackers.com/fake-gemini-npm/