JFrog untersucht TeamPCP-Angriff auf Python-Bibliothek Telnyx

Businessman touching the brain working of Artificial Intelligence (AI) Automation, Predictive analytics, Customer service AI-powered chatbot, analyze customer data, business and technology

Das Security-Research-Team von JFrog hat eine aktive Kompromittierung der weit verbreiteten Python-Bibliothek Telnyx aufgedeckt. Das Paket, das Entwicklern die Integration von KI-Sprachagenten, Messaging- und Kommunikationsdiensten in eigene Anwendungen ermöglicht, verzeichnete über 3,8 Millionen Downloads und rund 670.000 monatliche Nutzer allein im März 2026. Telnyx gilt insbesondere für KI-intensive und latenzempfindliche Workflows als führende Enterprise-Alternative zu Twilio. PyPI hat das Paket inzwischen unter Quarantäne gestellt.

Schadcode versteckt in Audiodateien

Am 27. März wurden zwei neue Versionen des Pakets auf PyPI veröffentlicht (4.87.1 und 4.87.2), die manipulierten Code in der zentralen Datei telnyx/_client.py enthielten. Die Angreifer setzten dabei auf eine mehrstufige und ungewöhnlich raffinierte Verschleierungstechnik, die gezielt auf den Verwendungszweck der Bibliothek als Sprach-SDK abgestimmt ist: Der Schadcode tarnt sich als reguläre SDK-Aktivität und lädt scheinbar legitime WAV-Audiodateien nach – konkret eine „Klingelton”- (ringtone.wav) oder „Auflegen”-Datei (hangup.wav). In den Audioframes dieser Dateien ist ein mit Base64 und XOR verschlüsselter Payload verborgen, der nach dem Herunterladen dekodiert und unmittelbar ausgeführt wird.

Für Windows-Systeme legt der Schadcode eine persistente Hintertür im Autostart-Verzeichnis an (%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe) und tarnt sich damit als legitimer Microsoft-Systemprozess. Auf Linux- und macOS-Systemen wird der Payload als Hintergrundprozess gestartet und richtet einen Systemdienst namens audiomon ein, der beim Neustart automatisch wieder aktiv wird. Alle gesammelten Daten – darunter Zugangsdaten, Umgebungsvariablen und lokal gespeicherte Secrets – werden anschließend AES-256-CBC-verschlüsselt, mit einem RSA-4096-Schlüssel gesichert und an einen externen Server der Angreifer übertragen.

Fingerabdruck einer koordinierten Kampagne

JFrog ordnet den Angriff dem Bedrohungsakteur TeamPCP zu. Als eindeutiger Beweis dient der identische öffentliche RSA-4096-Schlüssel, der bereits bei der Kompromittierung der Python-Bibliothek litellm wenige Tage zuvor verwendet wurde. Auch die Exfiltrationslogik ist nahezu identisch und lediglich die Namen der eingerichteten Systemdienste unterscheiden sich (sysmon bei LiteLLM, audiomon bei Telnyx). Die Gruppe hat in jüngster Vergangenheit gezielt KI-bezogene Bibliotheken in den Ökosystemen NPM, PyPI, Go, OpenVSX sowie auf GitHub angegriffen – ein klares Muster koordinierter, großangelegter Supply-Chain-Angriffe auf KI-Entwicklungswerkzeuge.

Gefahr bleibt auch bei inaktivem Payload bestehen

Obwohl die Payload-URLs der Angreifer derzeit nicht erreichbar sind, warnt JFrog ausdrücklich vor der Installation der kompromittierten Versionen. Der Grund: Der Schadcode kommuniziert ausschließlich über ungesichertes HTTP und verzichtet vollständig auf eine kryptografische Überprüfung der heruntergeladenen Dateien. Das bedeutet, dass jeder Angreifer im selben Netzwerk – völlig unabhängig von TeamPCP – die Anfragen abfangen und eigene Schadprogramme einschleusen kann. Dieser Angriffsvektor bleibt so lange aktiv, wie kompromittierte Versionen im Einsatz sind. JFrog verweist hier explizit auf den Unterschied zum bekannten XZ-Backdoor-Angriff, bei dem heruntergeladene Payloads zumindest kryptografisch signiert und überprüft wurden.

Empfohlene Sofortmaßnahmen

Entwicklerinnen und Entwickler, die Telnyx in der Version 4.87.1 oder 4.87.2 installiert haben, sollten umgehend handeln:

  • Betroffene Versionen mit pip uninstall Telnyx deinstallieren und auf Version 4.87.0 zurückwechseln (pip install telnyx==4.87.0)
  • Sämtliche Zugangsdaten, API-Keys und Secrets in der betroffenen Umgebung als kompromittiert betrachten und sofort rotieren – einschließlich .env-Dateien und lokal gespeicherter Credentials
  • Alle Verbindungen zur C2-Adresse 83.142.209.203:8080 blockieren
  • Auf Windows-Systemen prüfen, ob eine Datei namens msbuild.exe im Autostart-Verzeichnis existiert und diese gegebenenfalls entfernen
  • Auf Linux-Systemen den Dienst audiomon unter ~/.config/systemd/user/ auf Existenz prüfen und deaktivieren

Fazit

Auch wenn die Payload-Server von TeamPCP derzeit offline sind, ist das Schadensausmaß nicht zu unterschätzen: Angesichts der hohen Verbreitung des Pakets reichte bereits eine kurze Aktivitätsphase aus, um potenziell tausende Entwicklungsumgebungen zu kompromittieren und sensible Daten abzugreifen. JFrog wertet den Angriff als Teil einer laufenden, gezielten Kampagne gegen die KI-Entwicklungsinfrastruktur und erwartet, dass TeamPCP weitere Repositories und Ökosysteme ins Visier nehmen wird.

Die vollständige technische Analyse sowie alle Indicators of Compromise (IoCs) finden Sie hier: https://research.jfrog.com/post/team-pcp-strikes-again-telnyx-popular-library-hit/