Skip to main content
litellmpypisupply-chain-security

LiteLLM con backdoor en PyPI: qué hacer ahora mismo

El 24 de marzo de 2026, se descubrió que las versiones 1.82.7 y 1.82.8 de LiteLLM en PyPI estaban comprometidas. Los paquetes roban claves SSH, tokens de la nube y secretos de Kubernetes, intentando persistir en el sistema. Es una brecha total que requiere un downgrade inmediato y rotación de credenciales.

Contexto Técnico

Me sumergí en el análisis del incidente tan pronto como vi la alerta, y el panorama es, como mínimo, desalentador. Las versiones 1.82.7 y 1.82.8 de LiteLLM en PyPI fueron comprometidas, y el código malicioso se publicó directamente en el registro el 24 de marzo de 2026. Según los investigadores, parece ser una continuación de la cadena tras el hackeo de Trivy y el robo de credenciales de CI/CD.

Lo peor de todo es que no se trata de un simple «mal lanzamiento». La versión 1.82.8 incluía un archivo .pth que se ejecuta al iniciar el proceso de Python. Esto significa que, en muchos escenarios, ni siquiera es necesario importar LiteLLM explícitamente para tener el problema.

Me llamó especialmente la atención la lista de lo que el malware extrae de una máquina. Incluye claves SSH, archivos .env, credenciales de AWS/GCP/Azure, configuraciones de Kubernetes y tokens de service account, contraseñas de PostgreSQL, MySQL, Redis, MongoDB, historial de shell, tokens de Vault, tokens de npm, webhooks y, en general, todo lo que parezca un secreto. Si un host tenía acceso a la nube o a un clúster, considere que el radio de impacto es muy amplio.

Y la cosa se pone aún mejor. El paquete no solo extrae datos, sino que también intenta establecer persistencia en el sistema a través de sysmon.py, y en Kubernetes, intenta leer secretos en todos los namespaces y desplegar pods privilegiados en kube-system. Ya no es un simple ladrón de información local, sino un ataque a la cadena de suministro en toda regla con intentos de propagación.

Qué hacer ahora mismo si tenías instalado LiteLLM 1.82.7 o 1.82.8 en algún lugar:

  • Aislar los hosts y runners donde el paquete pudo haberse ejecutado.
  • Eliminar las versiones vulnerables y limpiar la caché de pip.
  • Buscar litellm_init.pth, sysmon.py y pods sospechosos en Kubernetes.
  • Rotar todas las credenciales sin excepción.
  • Revisar el tráfico saliente y los logs posteriores al 24 de marzo.

Y sí, el consejo oficial de «simplemente volver a una versión anterior» es insuficiente aquí. Si el paquete se ejecutó aunque sea una vez, yo partiría de la suposición de una compromisión total de los secretos.

Impacto en el Negocio y la Automatización

Para mí, este es un buen, aunque doloroso, ejemplo de que la automatización con IA no solo se rompe por la calidad de los modelos o el precio de los tokens. Se rompe en la cadena de suministro. Un paquete popular para el enrutamiento de LLM, y tienes bajo amenaza la nube, el CI/CD, la base de datos, Kubernetes y las cuentas de servicio.

Pierden los equipos que incorporan dependencias en producción «tal cual», sin fijar versiones (pinning), sin aislar los runners y sin un esquema claro de rotación de secretos. Será especialmente doloroso para quienes implementaron IA rápidamente pero sin una arquitectura de IA adecuada: un .env compartido, claves de larga duración, acceso amplio para los servicios, un único clúster de Kubernetes para todo. En un esquema así, una sola biblioteca se convierte en una puerta de entrada.

Ganan aquellos que ya construyen la arquitectura de sus soluciones de IA con credenciales de corta duración, entornos segmentados, workload identity y runners dedicados para la compilación. Sí, suena menos divertido que «conectamos un nuevo router de LLM en media hora». Pero así es como se ve una integración madura de la inteligencia artificial, donde la automatización con IA no pone en riesgo toda la infraestructura.

En Nahornyi AI Lab nos encontramos con esto regularmente en la práctica: un cliente quiere una solución de IA rápida para su negocio, y yo, en lugar de meterme en los prompts, me centro primero en los secretos, las políticas de red y el método de entrega de dependencias. Porque la implementación de la inteligencia artificial hoy en día ya no es solo sobre modelos. También se trata de lo fácil que es convertir tu capa de LLM en un punto de entrada para atacantes.

Mi conclusión práctica es simple: LiteLLM como herramienta no ha «muerto», pero la confianza en la cadena de suministro de Python en el stack de IA ha recibido otro golpe. Después de algo así, yo revisaría la fijación de versiones, los SBOM, la firma de paquetes, las reglas de tráfico de salida y los permisos de las cuentas de servicio. Y especialmente todo lo relacionado con Kubernetes y los runners autoalojados.

Este análisis fue realizado por mí, Vadim Nahornyi de Nahornyi AI Lab. Me dedico a la automatización con IA de forma práctica: diseño infraestructuras para LLM, analizo incidentes, construyo pipelines seguros y ayudo a que la implementación de IA no se convierta en una fuente de nuevas vulnerabilidades. Si lo deseas, puedo revisar tu stack tecnológico, evaluar tu radio de impacto y, junto con el equipo de Nahornyi AI Lab, analizar tu caso específico.

Compartir este articulo