El archivo malicioso `litellm_init.pth` incluido en el paquete PyPI de litellm 1.82.8 roba credenciales
(github.com/BerriAI)- Se incluyó un archivo
.pthque se ejecuta automáticamente al iniciar el intérprete de Python, realizando la recolección y exfiltración de información sensible como claves API, claves SSH y tokens de nube - El script malicioso está oculto mediante doble codificación base64, y los datos recolectados se cifran con AES-256 y luego se protegen con una clave pública RSA antes de enviarse a
litellm.cloud - Si hay infección, pueden quedar expuestas las credenciales de entornos locales, CI/CD y servidores de producción
- También se reportó la presencia de código malicioso en la versión 1.82.7, por lo que ambas versiones son riesgosas
- La comunidad de seguridad recomienda con urgencia eliminar el paquete, rotar credenciales y reforzar la seguridad de la cadena de suministro
Incidente de seguridad por el archivo malicioso litellm_init.pth en el paquete PyPI de litellm 1.82.8
- El paquete wheel de PyPI de la versión litellm 1.82.8 incluía un archivo
.pthmalicioso (litellm_init.pth), causando que un script de robo de credenciales se ejecutara automáticamente cada vez que se iniciaba el intérprete de Python - Este archivo se ejecuta incluso sin el comando
import litellm, y se confirmó como una forma de ataque a la cadena de suministro (Supply Chain) - El archivo malicioso está listado en el archivo
RECORDdel paquete -
Análisis del comportamiento malicioso
- El archivo
.pthaprovecha la característica de ejecutarse automáticamente al iniciar el intérprete de Python - El script malicioso está oculto mediante doble codificación base64 y, al decodificarse, realiza los siguientes pasos
- El archivo
-
Fase 1: recolección de información
- Información del sistema:
hostname,whoami,uname -a,ip addr,ip route - Variables de entorno: recolección de claves API, secretos y tokens mediante
printenv - Claves SSH: archivos de claves principales y archivos de configuración dentro de
~/.ssh/ - Credenciales de Git:
~/.gitconfig,~/.git-credentials - Credenciales de nube: archivos de configuración y tokens relacionados con AWS, GCP y Azure
- Configuración de Kubernetes:
/etc/kubernetes/,~/.kube/config, etc. - Configuración de Docker:
~/.docker/config.json, etc. - Configuración de gestores de paquetes:
.npmrc,.netrc,.vault-token, etc. - Historial de shell:
.bash_history,.zsh_history, etc. - Billeteras de criptomonedas:
~/.bitcoin/,~/.ethereum/keystore/, etc. - Claves privadas SSL/TLS:
/etc/ssl/private/, archivos.pemy.key - Secretos de CI/CD:
terraform.tfvars,.gitlab-ci.yml,Jenkinsfile, etc. - Credenciales de bases de datos: archivos de configuración de PostgreSQL, MySQL, Redis, etc.
- URL de webhooks: búsqueda de URLs de Slack, Discord, etc.
- Información del sistema:
-
Fase 2: cifrado y exfiltración
- Los datos recolectados se guardan en archivos temporales
- Se genera una clave de sesión AES-256 de 32 bytes con
openssl rand - Los datos se cifran con
openssl enc -aes-256-cbc -pbkdf2 - La clave de sesión se cifra con una clave pública RSA de 4096 bits embebida en el código
- Ambos archivos se agrupan en
tpcp.tar.gzy se envían - Destino del envío:
https://models.litellm.cloud/(distinto del dominio oficiallitellm.ai)
-
Detalles técnicos
- El archivo
.pthestá dentro desite-packages/de Python y se ejecuta automáticamente al iniciar el intérprete - La carga útil usa doble codificación base64 para evadir la detección
- El atacante operaba un servidor de exfiltración de datos usando el dominio
litellm.cloud - Inicio de la clave pública RSA:
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvahaZDo8mucujrT15ry+...
- El archivo
-
Alcance del impacto
- Al instalar
litellm==1.82.8, puede filtrarse toda la información secreta, como variables de entorno, claves SSH y credenciales de nube - Entornos afectados:
- Entornos locales de desarrollo
- Pipelines de CI/CD
- Contenedores Docker
- Servidores de producción
- Además, también se reportó que la versión 1.82.7 contiene código malicioso dentro de
proxy/proxy_server.py
- Al instalar
-
Medidas recomendadas
-
- PyPI: eliminar o hacer yank de
litellm 1.82.8de inmediato
- PyPI: eliminar o hacer yank de
-
- Usuarios:
- Verificar si existe
litellm_init.pthdentro desite-packages/ - Rotar todas las credenciales de los sistemas donde se haya instalado esa versión
-
- BerriAI: es necesario realizar una revisión de seguridad de las credenciales de despliegue a PyPI y del pipeline de CI/CD
-
-
Entorno de descubrimiento
- OS: Ubuntu 24.04 (contenedor Docker)
- Python: 3.13
- Ruta de instalación: PyPI
- Fecha de hallazgo: 24 de marzo de 2026
-
Reacción de la comunidad y discusión adicional
- Varios desarrolladores mencionaron que es posible que miles de personas ya hayan sido afectadas
- Algunos usuarios confirmaron que la versión 1.82.7 también estaba comprometida
- Expertos en seguridad destacaron la necesidad de fijar dependencias (pinning) y reforzar la seguridad de la cadena de suministro
agnosticlinesy otros señalaron la fragilidad de GitHub Actions y la repetición de ataques a la cadena de suministroMountainGod2advirtió que “las dependencias deben fijarse por hash de commit y las nuevas versiones solo deben usarse tras verificarse”- Varios proyectos (
mlflow,home-assistant,morphik-core, etc.) tomaron medidas para fijar o eliminar la versión de litellm
Aún no hay comentarios.