マルウェア
サイバー犯罪グループTeamPCPによるTelnyx攻撃、LiteLLMを超えた戦術の変化を示す
LiteLLMを標的としたキャンペーンに続き、サイバー犯罪グループTeamPCPはTelnyxのPython SDKを悪用し、ステルス性の高いWAVベースのペイロードを用いて、Linux、macOS、Windows環境から認証情報を窃取しています。
- 攻撃者は、改ざんされたTelnyxのバージョン4.87.1および4.87.2をPyPI上に公開し、_client.pyに挿入されたコードにより、インポート時に不正処理が実行される仕組みを仕込んでいました。
- ペイロードには、分割ファイルによるコード注入、実行時のBase64デコード、さらにWAVファイルを用いたステガノグラフィが組み合わされており、認証情報窃取型マルウェアを隠蔽しています。
- 先行するLiteLLMの事例とは異なり、今回のTelnyxの亜種では、LinuxおよびmacOSに加え、Windowsにも対応しており、Startupフォルダを利用した永続化機能が追加されています。
- 該当バージョンをインストールしたシステムは、完全に侵害されている前提で対応する必要があります。ユーザーは、直ちに安全が確認されている最新バージョンであるTelnyx 4.87.0へダウングレードすることを強く推奨します。
LiteLLMのAIプロキシパッケージが侵害されてからわずか3日後、TeamPCPは新たな攻撃を仕掛けました。2026年3月27日、クラウド通信ライブラリであるTelnyxのPython SDKの不正バージョンが2つ、PyPI上に公開されました。このライブラリは、2026年2月には70万件以上のダウンロード数を記録しています。今回のペイロードは、攻撃手法の明確な進化を示しています。WAVファイル内にステガノグラフィを用いて認証情報窃取コードを埋め込む手法に加え、コードの目視検査を回避するための分割ファイルによるコード注入、さらに今回のキャンペーンで初めて確認されたWindows向けの永続化メカニズムが組み合わされています。TelnyxプロジェクトのGitHubセキュリティアドバイザリによると、問題のバージョン4.87.1および4.87.2は、約6.5時間の公開期間を経て、10時13分(UTC)にPyPI上で隔離されました。
本記事では、Telnyxの侵害事例について技術的な分析を行い、どのように不正パッケージが悪用されたのか、LiteLLMの事例から何が変化したのか、そして防御側が注視すべきポイントについて詳しく解説します。今後、新たな情報が判明次第、本記事は随時更新していく予定です。
なお、TeamPCPによる一連の攻撃キャンペーンおよびLiteLLMの侵害については、以下の記事もあわせてご参照ください。
概要
3月27日03:51(UTC)、Telnyxのバージョン4.87.1および4.87.2が、上流のGitHubリポジトリに対応するコミットが存在しないまま、PyPI上に公開されました。当社の分析により、telnyx/_client.pyに悪意のあるコードが挿入されていたことが確認されています。このコードはモジュールスコープで実行される設計となっており、単に import telnyx を実行するだけでペイロードが起動する仕組みになっていました。
本件の攻撃主体がTeamPCPであることは、明確に確認されています。分析の結果、LiteLLMのペイロードとバイト単位で一致する複数の要素が確認されました。具体的には、RSA-4096の公開鍵、tpcp.tar.gzというキャンペーンID、X-Filename: tpcp.tar.gzというデータ持ち出し用ヘッダー、OpenSSLによる暗号化チェーン(rand + AES-256-CBC + RSA-OAEP + tar)、一時ファイルの命名規則、さらにsubprocessの標準入力パイプを用いた実行パターンなどです。これらの一致から、同一のツールチェーンが再利用されていることが裏付けられています。
執筆時点(2026年3月30日)において、TeamPCPがどのようにしてTelnyxプロジェクトのPyPI公開用認証情報を取得したのかは、特定できていません。プロジェクトのGitHubセキュリティアドバイザリによると、ワークフローレベルでの認証情報漏えいは確認されておらず、またPyPIのトラステッドパブリッシャー(OIDC)も設定されていなかったとされています。
分割ファイル注入:回避能力の向上
LiteLLMのペイロードでは、正規コードの間に連続した悪意のあるコードブロックが挿入されており、ファイルをスクロールすれば容易に視認できる状態でした。一方、Telnyxの亜種ではこの手法が改良され、悪意のあるコンポーネントが _client.py 内の離れた3か所に分散して配置されています。
- 正規のimport文に紛れて配置された、Base64デコード用ラッパー関数(_d())
- 4,428文字のBase64文字列として埋め込まれたLinux用のオーケストレーターおよび認証情報収集機能(__all__とクラス定義の間に配置)
- ファイル末尾の正規クラス定義の後に追加された、WAVステガノグラフィを含むWindows用の実行パス
さらに、Windows用の実行パスに含まれる機密文字列はすべて、_d()ラッパーを用いて難読化されています。この関数は実行時にBase64デコードを行います。この点は、LiteLLMでは文字列がBase64ペイロード内に平文のまま含まれていた点と大きく異なります。デコードされる情報には、Startupフォルダのパス、msbuild.exeのファイル名、コマンド&コントロール(C&C)サーバーのURLなどが含まれます。
音声ステガノグラフィへの移行
LiteLLM攻撃からの最も大きな変化は、Telnyxの亜種では認証情報収集機能がソースコード内に埋め込まれていない点です。代わりに、このハーベスターは実行時にダウンロードされる仕組みとなっており、C&Cサーバー上にホストされた構造的に正しいWAV音声ファイルの中に隠されています。
今回の調査における抽出プロセスの分析では、Pythonのwaveモジュールを使用してWAVファイルの生の音声フレームが読み込まれ、その後Base64デコードが行われます。続いてデータは分割され、最初の8バイトがXORキーとして使用され、残りのバイト列がXORで暗号化されたペイロードとなっています。各バイトは、この8バイトのキーを循環させながらXOR演算され、平文データが復元されます。
この仕組みにより、パッケージのソースコードを静的に解析しても、ハーベスターのロジックは一切確認できません。実際の認証情報窃取スクリプトは、C&Cサーバー上の音声ファイル内にのみ存在しています。これらのWAVファイルは正規のメディアとしてMIMEタイプ検証を通過し、ファイル拡張子ベースのフィルタリングを回避し、さらに文字列ベースの静的解析もすり抜けます。これは、ハーベスター全体が静的なBase64データとして埋め込まれていたLiteLLM亜種と比較して、大きな回避能力の向上といえます。
WAVステガノグラフィは、Aikidoによって報告されたとおり、3月22日に確認されたTeamPCPのキャンペーンにおける_kamikaze.sh_ Kubernetesワイパー亜種で初めて登場しました。今回のTelnyx侵害は、この手法が実験的段階から実運用へと成熟したことを示しており、わずか5日間でプロトタイプから本格的な攻撃への移行が行われたことを示しています。
デュアルプラットフォーム対応
LiteLLMのペイロードがLinuxのみを対象としていたのに対し、Telnyxの亜種ではWindowsにも対応が拡張されています。
Windowsパスの分析
Windowsの実行パスでは、83[.]142[.]209[.]203:8080 から hangup.wav をダウンロードし、XORステガノグラフィ技術を用いてPE実行ファイルを抽出します。その後、この実行ファイルを以下に msbuild.exe として配置し、起動時の永続化を確立します。このファイル名は、Microsoftの正規ツールであるMSBuildを模倣したものです。
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\
この実行ファイルは、CREATE_NO_WINDOWフラグ(0x08000000)を用いて起動されるため、ウィンドウは表示されません。また、アンチリプレイ機構として msbuild.exe.lock の存在が確認されます。このロックファイルが直近43,200秒(12時間)以内に更新されている場合、実行はスキップされます。さらに、このロックファイルは attrib +h により隠しファイルとして設定され、パッケージが複数回インポートされた際の重複ダウンロードや実行を防ぎ、ネットワーク上のノイズや検知リスクを低減しています。
Linux/macOSパスの分析
LinuxおよびmacOSの実行パスでは、base64ペイロード変数が subprocess.Popen を用いて start_new_session=True の設定でデタッチされたバックグラウンドプロセスとして起動され、出力は抑制されます。その後、同じC&Cサーバーから ringtone.wav をダウンロードし、同様のWAVステガノグラフィ技術を用いて認証情報収集プログラムを抽出します。抽出されたデータは、標準的なTPCPのデータ送出パイプライン(AES-256-CBC + RSA-4096 OAEP → tpcp.tar.gz → HTTP POST)を通じて送信されます。
インフラの変化
Telnyxの亜種では、LiteLLMで使用されていたドメインベースのHTTPSインフラが廃止され、プレーンなHTTPによる生のIPアドレス通信へと切り替えられています。これは、LiteLLMで使用されていたドメインが報告され、結果として停止された可能性を示唆しており、攻撃者が直接IPアドレス指定に戻らざるを得なかったことを意味している可能性があります。また、プレーンなHTTPへの移行により、WAVファイルのダウンロードや、窃取された tpcp.tar.gz アーカイブの送信がネットワーク監視で可視化されるようになりました。これは、HTTPSベースのLiteLLMインフラでは得られなかった、新たな検知機会を防御側にもたらしています。
まとめ・推奨事項
今回のTelnyx侵害は、TeamPCPによるサプライチェーン攻撃において、手法が継続的に変化していることを示しています。ツール、配布方法、対応プラットフォームのすべてにおいて調整が行われています。わずか8日間の間に、攻撃者はセキュリティスキャナー、AIインフラ、そして通信関連ツールへと対象を広げ、配布手法もインラインのBase64から .pth による自動実行、さらに分割ファイルとWAVステガノグラフィへと進化させています。また、対象環境もLinux単体から、Windowsでの永続化機能を含むデュアルプラットフォームへと拡張されています。
さらに、HTTPSドメインから生のIPアドレス上のプレーンHTTPへと移行した点は、攻撃インフラに対する圧力の高まりを示唆している可能性がありますが、同時に防御側にとって新たな検知機会も生み出しています。影響を受けた環境では、ポート8080を介した非メディアIPアドレスからのWAVファイルダウンロード、ユーザーのStartupフォルダ内に存在する不審な msbuild.exe、X-Filename: tpcp.tar.gz ヘッダーを含む外向きHTTPリクエスト、さらに .lock ファイルに対する attrib +h のようなファイル隠蔽操作などが、指標として確認される可能性があります。
予防措置として、Telnyx 4.87.1および4.87.2を使用している場合は、直ちに既知の安全なバージョン(4.87.0)へダウングレードすることが推奨されます。また、該当バージョンをインポートしたシステムは侵害の可能性がある前提で対応する必要があります。さらに、組織としてはPyPI依存関係をすべてハッシュで固定(ピン留め)し、CI/CD環境において予期しない音声ファイルのダウンロードが発生していないかを厳密に監視することが重要です。
TrendAI Vision One™ によるプロアクティブセキュリティ
TrendAI Vision One™ は、サイバーリスクエクスポージャー管理、セキュリティ運用、そして多層的で堅牢な防御を一元化する、業界をリードするAIサイバーセキュリティプラットフォームです。
TrendAI Vision One™ Threat Intelligence Hub
TrendAI Vision One™ Threat Intelligenceは、新たに出現する脅威や脅威アクターに関する最新の知見、TrendAI™ Researchによる独自の戦略レポート、そしてTrendAI Vision One™プラットフォーム上で利用可能なThreat Intelligence Feedを提供します。
Emerging Threats: TeamPCP Hits Telnyx: WAV Steganography and Windows Targeting
TrendAI Vision One™ Intelligence Reports (IOC Sweeping)
TeamPCP Hits Telnyx: WAV Steganography and Windows Targeting
TrendAI Vision One™ Search App
TrendAI Vision One™をご利用のお客様は、Search Appを活用することで、本ブログで言及されている悪意ある指標(Indicators of Compromise)を自社環境のデータと照合し、検出およびハンティングを行うことができます。
ハンティングクエリ
本キャンペーンのC&Cサーバーへのネットワーク接続を検出します。
eventSubId:201 AND request:"*83.142.209.203*"
TrendAI Vision One™において、Threat Intelligenceの利用権限が有効化されている場合、さらに多くのハンティングクエリをご利用いただけます。
侵入の痕跡(IoC:Indicators of Compromise)
本記事に関連する侵入の痕跡(IoCs)は、こちらからご確認いただけます。
参考記事
TeamPCP’s Telnyx Attack Marks a Shift in Tactics Beyond LiteLLM
By: John Rainier Navato
翻訳:与那城 務(Platform Marketing, Trend Micro™ Research)