Qué ha pasado
El 21 de octubre, una versión comprometida de LiteLLM llegó durante horas a PyPI y a registros de contenedores. Era la 1.107.0. El incidente fue un compromiso de la cadena de suministro que alteró artefactos publicados desde una fuente controlada por el atacante.
LiteLLM funciona como pasarela entre aplicaciones y proveedores de modelos, y puede ver claves de API, credenciales de nube y configuración de tenants. Por eso una versión maliciosa podía afectar a servidores, CI/CD y contenedores.
LiteLLM retiró los artefactos y publicó el 23 de octubre la cadena de ataque. Microsoft añadió su análisis técnico. La investigación de LiteLLM sigue siendo la fuente principal para saber qué credenciales internas fueron alcanzadas.
Una ventana breve, no irrelevante
Según LiteLLM, las siete ruedas de litellm==1.107.0 estuvieron en PyPI entre las 11:39:51 y las 13:23 UTC del 21 de octubre. Las imágenes Docker v1.107.0, latest, main-latest y main-stable apuntaron a índices comprometidos entre las 11:46:56 y las 14:20 UTC. Las etiquetas de GHCR quedaron indisponibles a las 13:51 UTC; Docker Hub se saneó a las 14:20.
La ventana temporal no permite descartar la exposición. Una instalación durante ese intervalo bastaba para que el entorno quedase bajo sospecha, aunque la aplicación nunca hubiera importado LiteLLM. La compañía recomienda tratar como comprometido cualquier sistema que iniciara Python con la versión afectada. Los clientes de la edición Enterprise privada no estaban dentro de este incidente.
No basta con buscar la etiqueta 1.107.0: también hubo etiquetas mutables que apuntaron al mismo índice. Por eso conviene revisar el histórico de imágenes, los logs del pipeline y los artefactos que realmente se ejecutaron.
