トロイ化されたPyPI AIプロキシがClaudeプロンプトを盗用、データを流出

悪意のあるPyPIパッケージ「hermes-px」は、「安全なAI推論プロキシ」を装いながら、ユーザープロンプトを秘密裏に窃取し、民間大学のAIサービスを不正利用しています。

OpenAI互換と表示されているTorルーティング型プロキシは、APIキーが不要とされていますが、実際にはチュニジアの大学内部AIエンドポイントをハイジャックし、盗まれたAnthropicのClaudeシステムプロンプトを挿入し、すべての会話を攻撃者が管理するSupabaseデータベースに流出させています。

PyPI上のほとんどの雑なマルウェアとは異なり、hermes-pxは異常にポーランド版されたドキュメント(インストール手順、OpenAI SDKからの移行ガイド、RAGパイプラインの例、詳細なエラーハンドリングノートなど)を備えており、開発者の信頼を獲得するように設計されています。

このライブラリは公式OpenAI Python SDKを反映するAPIを公開しており、開発者はhermes-pxに置き換えて、最小限のコード変更で client.chat.completions.create() を呼び出すことができます。

READMEはさらに進んで、「対話的学習CLI」を推し、ユーザーに urllib.request と exec() を使ってGitHub URLからリモートPythonスクリプトを直接フェッチして実行するよう指示しており、ランタイムコード挿入の古典的な危険信号です。

Image

JFrogセキュリティ研究チームは、hermes-pxという悪意のあるPyPIパッケージを発見しました。このパッケージは複数の詐欺が重ねられています。

このコードを支援するGitHubの組織「EGen Labs」は架空のもので、リポジトリは現在404を返しており、新しいPyPIリリースを必要とせず柔軟な第二段階ペイロードチャネルを以前提供していたことを意味します。

ハイジャックされた大学のAIバックエンド

内部的には、Hermesクライアントを作成すると、なりすまし済みブラウザヘッダーを備えた requests.Session が構築され、すべての推論トラフィックをローカルTor SOCKS5プロキシ経由で強制され、攻撃者による上流サービスの悪用を隠しています。

Image

暗号化されたターゲットURLはprod.universitecentrale[.]net:9443の私的APIエンドポイントに解決され、チュニジアのUniversite Centraleにマップされ、AzureWAF保護されたチャットインターフェースが前面にあり、キャンパスAIアドバイザリングチャットボットと一致しています。

2つの暗号化されたシステムペイロードは「学術専攻」を参照し、数学、プログラミング、サイバーセキュリティなどの科目選択について学生をガイドするよう指示しており、内部学術アドバイザーボットと一致しています。

ドメインの所有権、インフラストラクチャプロファイル、プロンプトコンテンツを合わせると、hermes-pxは公開アクセスを意図していない実際の大学AIサービスに寄生的に乗っていることが示されています。

このパッケージはbase_prompt.pzというファイルをバンドルしており、103KBのエンコードされたデータから246K文字のシステムプロンプトに展開され、流出したAnthropicのClaude Codeシステムプロンプトと強く一致しています。

攻撃者は一括検索・置換を実行してブランド変更し、「Claude」を「AXIOM-1」に、「Anthropic」を「EGen Labs」に、Claude モデル識別子を偽のAXIOMバリアントに変更しましたが、いくつかの明らかなリファレンスが残っています。

Image

残存する関数名、型定義、セクションヘッダーは依然として「Claude」と「Anthropic」に言及しており、プロンプトにはClaudeに特有の内部マーカー(推論労力タグ、思考モードフラグ、Anthropicインフラストラクチャを反映するサンドボックスファイルシステムパスなど)が含まれています。

すべてのリクエストで、hermes-pxはこの膨大なシステムプロンプトを大学のアカデミックアドバイザー指示と一緒に挿入し、その後ユーザーのメッセージを追加し、ハイジャックされたバックエンドが注意深く偽造された独占的なコンテキストを処理するようにします。

レスポンスロンダリングとテレメトリ

ユーザーが真の上流プロバイダーを認識しないようにするため、パッケージは「OpenAI」を「EGen Labs」に、「ChatGPT」を「AXIOM-1」に置き換え、OpenAIプラットフォームURLをegenlabs[.]comに書き直すことで、レスポンスをサニタイズします。

クォーオーバーエラーは、偽のドキュメントを指す無害な「モデルは現在オフラインです」というメッセージに変換され、独占AIモデルの幻想を維持します。

Image

実際のペイロードはテレメトリモジュールで、すべての推論の後、元のユーザーメッセージと完全なAIレスポンスを攻撃者が管理するSupabaseインスタンスに流出させます。

このログはHERMES_TELEMETRY=1によってデフォルトで有効化され、ハードコードされたAPIキーで認証されたSupabase RESTエンドポイントへの直接 requests.post() 呼び出しを使用し、意図的にTorセッションをバイパスしてユーザーの実際のIPを公開しながら、匿名化されたAIアクセスを提供するふりをしています。

静的分析を回避するために、すべての機密文字列(ターゲットURL、なりすまし済みヘッダー、システムプロンプト、Supabase認証情報)は、回転する210バイトキーでのXOR、zlib圧縮、base64エンコーディングの3段階パイプラインでラップされています。

Image

シークレットはディスク上の平文で表示されることはなく、ランタイムにメモリ内でのみ再構築されるため、このパッケージに対する素朴な文字列ベースの検出またはスキャンツールの効果が大幅に低下します。

hermes-pxをインストールした開発者は、実質的に未知の攻撃者にプロンプトとモデル出力の完全なトランスクリプト、およびIP レベルのメタデータを付与し、この「無料」プロキシ経由で機密コード、認証情報、または内部データを無意識に送信した可能性があります。

JFrogはhermes-pxをすぐにアンインストールし、プロンプトで言及されているシークレットをローテーションし、流出したセンシティブコンテンツについて会話を確認し、Supabase流出ドメインをブロックし、このパッケージの操作のためだけにインストールされたTorを削除することを推奨します。

翻訳元: https://gbhackers.com/trojanized-pypi-ai/

ソース: gbhackers.com