✨︎ Resumen (TL;DR):
- TeamPCP comprometió el SDK de Telnyx en PyPI mediante credenciales robadas para expandir su ataque a la cadena de suministro.
- El paquete vulnerado suma más de 670,000 descargas mensuales y ocultaba su código malicioso dentro de un archivo de audio WAV.
- Databricks inició una investigación activa mientras los atacantes utilizan las credenciales robadas para acceder a repositorios de GitHub y servicios de AWS.
El grupo de ciberdelincuentes TeamPCP comprometió el SDK oficial de Python de Telnyx en el repositorio PyPI, lo que representa la cuarta vulneración en su reciente campaña contra la cadena de suministro de código abierto. Las versiones maliciosas 4.87.1 y 4.87.2 se publicaron el 27 de marzo de 2026 a las 03:51 UTC evadiendo GitHub mediante credenciales robadas, lo que detonó el robo masivo de claves de infraestructura y provocó una investigación secundaria en Databricks.
El paquete de Telnyx, que gestiona integraciones de API de telefonía, registra más de 670,000 descargas mensuales. PyPI logró poner en cuarentena los archivos a las 10:13 UTC del mismo día. Investigadores de Endor Labs determinaron que el vector del ataque fue una cascada de credenciales: los tokens extraídos de la vulneración a LiteLLM tres días antes permitieron a TeamPCP publicar directamente en la cuenta de Telnyx.
Esta ola de ataques comenzó el 19 de marzo con el escáner de vulnerabilidades Trivy de Aqua Security, seguido por Checkmarx KICS y el mencionado LiteLLM.

El camuflaje: código malicioso en archivos de audio
Para evadir la detección, TeamPCP implementó una técnica inédita. En lugar de incrustar el código malicioso directamente en el paquete, el sistema descargaba un archivo de audio WAV estructuralmente válido desde un servidor de comando y control durante la ejecución.
Investigadores de Phoenix Security detallaron la maniobra: “Para cualquier sistema de monitoreo de red que observara el tráfico, la aplicación descargaba un tono de llamada. El payload real nunca existe en el disco dentro del paquete y no es visible para ningún análisis estático del wheel instalado”.
El payload extrae las tramas del archivo WAV, las decodifica en base64 y utiliza una clave XOR derivada de los primeros ocho bytes para descifrar un script de Python de 332 líneas que actúa como recolector de credenciales.
Los analistas de Socket señalaron que la cadena de ataque fue diseñada “para operar dentro de un directorio temporal autodestructivo y dejar casi cero artefactos forenses en el host”. En sistemas Windows, el malware deja un archivo binario persistente disfrazado como msbuild.exe en la carpeta de inicio.
Impacto en Databricks y robo masivo en la nube
La campaña ya entró en su fase de post-explotación. El código malicioso extrae agresivamente los siguientes datos:
- Claves SSH y configuraciones de Kubernetes.
- Credenciales de proveedores de nube como AWS y contraseñas de bases de datos.
- Historiales de shell completos.
Si el malware detecta credenciales de AWS, consulta de inmediato el Instance Metadata Service para extraer información de Secrets Manager y valores del SSM Parameter Store. La firma de seguridad cloud Wiz confirmó que los atacantes ya usan esta información para clonar repositorios de GitHub a gran escala.
Ante la magnitud de los datos expuestos, Databricks mantiene una investigación sobre una presunta vulneración derivada del arsenal de credenciales obtenido por TeamPCP.
Telnyx confirmó que su plataforma central y APIs están a salvo, limitando el incidente al canal de distribución de PyPI. Cualquier desarrollador que haya instalado el paquete entre las 03:51 y las 10:13 UTC del 27 de marzo debe considerar su entorno comprometido y rotar todas sus credenciales de forma inmediata.
