LiteLLM Suspects GitHub Token Leak in AI Gateway Logs Behind Malicious Package Release
The Hacker News · 22 oct, 10:28
Qué hacer: Elimina LiteLLM 1.107.0 de todas las máquinas, aísla los hosts donde se ejecutó la versión maliciosa, revoca credenciales de desarrolladores y audita accesos a AWS, Kubernetes y herramientas de IA entre las 11:39 UTC y 14:20 UTC del 21 de octubre de 2026.

LiteLLM sufrió el compromiso de su cadena de distribución el 21 de octubre de 2026, con la publicación de la versión maliciosa 1.107.0 en PyPI, Docker Hub y GHCR. El paquete contiene un robo de credenciales y un backdoor (RAT) que exfiltra secretos de sistemas, navegadores, herramientas de desarrollo y plataformas cloud, ejecutando código remoto cada hora. Los atacantes obtuvieron tokens de GitHub de registros de logs de LiteLLM y deshabilitaron protecciones de rama para forzar cambios maliciosos, lo que permitió que credenciales de AWS fueran robadas y utilizadas para intentar comprometer instancias y servicios de IA.
El incidente afectó a usuarios que descargaron versiones sin fijar entre las 11:39 y 13:23 UTC vía pip, o que usaron las imágenes Docker entre las 11:46 y 14:20 UTC. El malware implementa dos técnicas simultáneas: archivos .pth que importan un script de robo (privcollect) que exfiltra datos a litellm[.]dev/healthcheck, y sitecustomize.py (solo Linux/macOS) que descarga payloads de una segunda etapa desde un repositorio GitHub comprometido. Cada hora, un daemon en background obtiene el dominio C2 actual del archivo domain.txt en raw[.]githubusercontent[.]com/letters9813/pythonclient-test/main y ejecuta código Python remoto.
LiteLLM había endurecido su cadena de distribución tras un incidente en marzo, pero amplió temporalmente permisos de publicación a dos ingenieros internos. El atacante utilizó tres conjuntos de credenciales GitHub CLI de desarrolladores, incluida una con capacidad para ejecutar workflows. Deshabilitó protecciones de rama con un token del propietario de la organización, forzó cambios a un repositorio homógrafo (Berri-AI/litellm en lugar de BerriAI/litellm) y ejecutó el workflow comprometido para firmar y publicar los artefactos maliciosos. Se sospecha que el atacante accedió a un despliegue interno de LiteLLM expuesto públicamente (potencialmente mediante una vulnerabilidad recientemente parcheada) y extrajo tokens GitHub CLI de los logs. Wiz observó abuso de credenciales robadas 4,5 horas después, con validación de credenciales de roles IAM de runners CI y nodos Kubernetes usando sts:GetCallerIdentity y llamadas a bedrock:ListFoundationModels, consistente con LLMjacking.
Puntos clave
- LiteLLM v1.107.0 (PyPI, Docker, GHCR) comprometida con malware RAT y robo de credenciales
- Ventana de exposición: 11:39-13:23 UTC (pip) y 11:46-14:20 UTC (Docker)
- Técnica dual .pth + sitecustomize.py documentada por primera vez en ataques reales
- Atacante obtuvo tokens GitHub CLI de logs de LiteLLM en despliegue interno expuesto
- Credenciales AWS robadas exfiltradas dentro de 4,5 horas para intentar LLMjacking
Figuras de la fuente
