La versión 1.107.0 de LiteLLM publicada en PyPI contiene un secuestrador de credenciales y una puerta trasera para ejecución remota de código. Estas maliciosas componentes se instalan en los archivos site-packages de las tres distribuciones disponibles (Linux, macOS y Windows) y se ejecutan automáticamente en cualquier proceso de Python, incluso si el usuario no importa la librería. El ataque, que no está presente en el código fuente de GitHub, se implementa mediante dos archivos: cook.py, que recopila claves SSH, credenciales de nube y tokens de herramientas de IA, y sitecustomize.py, que inicia un demonio de fondo que descarga y ejecuta código remoto cada hora.
El análisis técnico revela que la inyección se logró mediante la modificación del archivo pyproject.toml en la distribución de software (sdist), donde se añadió una línea para copiar una carpeta 'cook' al paquete. Además, la etiqueta de la versión v1.107.0 apunta a un commit incorrecto que corresponde a una versión posterior, lo que indica una inconsistencia en el proceso de liberación. PyPI ha retirado la versión comprometida, mientras que las versiones 1.106.2 y las versiones de pre-lanzamiento 1.107.0rc1 y rc2 son limpias. Este incidente destaca la importancia de la verificación de la cadena de suministro de software y las pruebas de seguridad en los pipelines de liberación.
