Versiones 1.82.7 y 1.82.8 de LiteLLM inyectadas con malware de robo de credenciales
Dos versiones de la popular biblioteca Python LiteLLM, una herramienta con 97 millones de descargas mensuales, fueron comprometidas en un ataque a la cadena de suministro que arriesga el robo de carteras de criptomonedas y credenciales en la nube. El 24 de marzo, un actor de amenaza conocido como TeamPCP publicó las versiones maliciosas 1.82.7 y 1.82.8 en el Python Package Index (PyPI). El malware incrustado es una carga útil multifase diseñada para recolectar datos sensibles, incluyendo claves SSH, secretos de Kubernetes y claves privadas para carteras de criptomonedas, de cualquier entorno donde se instalen los paquetes comprometidos.
La segunda versión maliciosa, 1.82.8, introdujo un vector de ataque más agresivo utilizando un archivo .pth. Esta técnica permite que el código malicioso se ejecute automáticamente cada vez que el intérprete de Python se inicia, en lugar de esperar a que la biblioteca LiteLLM sea importada explícitamente por el código de un desarrollador. Esto expande significativamente el alcance del ataque y su capacidad para persistir en un sistema infectado.
La brecha en el pipeline CI/CD a través del escáner Trivy permitió el ataque
El compromiso de LiteLLM no fue un asalto directo, sino una falla en cascada originada en su infraestructura de desarrollo. Los atacantes subvirtieron primero Trivy, un escáner de vulnerabilidades de código abierto utilizado en el pipeline de integración continua/entrega continua (CI/CD) de LiteLLM. Al publicar versiones maliciosas de Trivy el 19 y 22 de marzo, TeamPCP explotó una mala configuración para robar un token de acceso privilegiado para el proyecto LiteLLM.
Con las credenciales robadas, los atacantes pudieron publicar los paquetes LiteLLM con puerta trasera directamente en PyPI. Los investigadores de seguridad encontraron que los datos recolectados se enviaban como un archivo cifrado a un dominio de comando y control controlado por el atacante, models.litellm[.]cloud. También se instaló una puerta trasera persistente para sondear un dominio separado, checkmarx[.]zone, cada 50 minutos en busca de nuevos comandos o cargas útiles, lo que indica una estrategia de intrusión a largo plazo.
TeamPCP promete más ataques, escalando el riesgo de la cadena de suministro
El incidente de LiteLLM es parte de una campaña deliberada y escalada de TeamPCP dirigida a la infraestructura crítica de los desarrolladores. El grupo ha asumido abiertamente la responsabilidad del ataque en su canal de Telegram, declarando su intención de seguir atacando herramientas populares y perpetuando el caos. Esto eleva el incidente de una brecha de un solo proyecto a una amenaza sistémica contra la cadena de suministro de software de código abierto.
La cadena de suministro de código abierto se está colapsando sobre sí misma. Trivy se ve comprometido → LiteLLM se ve comprometido → las credenciales de decenas de miles de entornos terminan en manos de los atacantes → y esas credenciales conducen al siguiente compromiso. Estamos atrapados en un bucle.
— Gal Nagli, Jefe de Exposición a Amenazas en Wiz, propiedad de Google.
Este ciclo de compromiso, donde las credenciales robadas de un ataque se utilizan para lanzar el siguiente, crea un efecto de bola de nieve significativo. Para los inversores y desarrolladores en el espacio Web3, este ataque socava la confianza en la seguridad de las herramientas de desarrollo fundamentales y aumenta el riesgo operativo para los proyectos que dependen del ecosistema de código abierto.