Una versión maliciosa de LiteLLM, distribuida a través de PyPI y Docker, incorporó herramientas para robar credenciales de nube, claves de servicios de IA y otros secretos, además de permitir la ejecución remota de comandos. Los equipos que la ejecutaron deben tratar sus entornos como potencialmente comprometidos e iniciar una investigación.
***
- PyPI retiró la versión 1.107.0 comprometida, publicada el 21 de octubre; un reporte indicó que las imágenes de Docker seguían infectadas.
- El malware buscaba credenciales de AWS, Google Cloud y Azure, claves API de IA, cookies de navegadores y claves privadas.
- Aikido recomendó revisar indicadores concretos en los sistemas y asumir el robo de secretos si se ejecutó el paquete afectado.
🚨 LiteLLM 1.107.0 fue distribuido con malware
La versión en PyPI y una imagen Docker buscaban claves de nube y API, cookies y claves privadas.
El código también podía ejecutar comandos a distancia. Los entornos afectados deben investigarse y sus secretos tratarse como… pic.twitter.com/3PpsTpL0p6
— Diario฿itcoin (@DiarioBitcoin) October 21, 2026
Una versión comprometida de LiteLLM incorporó malware capaz de sustraer credenciales y abrir una vía de acceso remoto a los equipos infectados. El incidente, reportado por The Register el miércoles 21 de octubre de 2026, afectó al paquete 1.107.0 distribuido a través de PyPI y a una imagen de Docker; los equipos que ejecutaron cualquiera de esas versiones deben considerar que sus secretos podrían haber quedado expuestos.
Una versión alterada llegó a los canales de distribución
LiteLLM es una puerta de enlace de inteligencia artificial de código abierto, desarrollada por BerriAI, que ofrece una interfaz común para conectarse con proveedores como OpenAI, Anthropic y Google Gemini. La herramienta registra alrededor de 23 millones de descargas semanales, una escala que amplía el posible alcance de una versión contaminada, aunque todavía no se había determinado cuántas organizaciones resultaron afectadas por este incidente.
Los atacantes distribuyeron el paquete malicioso 1.107.0 a través de PyPI, el registro de paquetes de Python, y también prepararon una imagen identificada como litellm/litellm:1.107.0. PyPI retiró la versión, pero un reporte publicado en GitHub señaló que las imágenes de Docker seguían infectadas. La retirada del paquete, por tanto, no elimina instalaciones anteriores ni garantiza que las imágenes afectadas hayan sido limpiadas.
Según los investigadores de Wiz, Benjamin Read y Rami McCarthy, la carga maliciosa se originó en cambios introducidos en un repositorio de GitHub llamado Berri-AI/litellm, cuyo nombre difiere del de la organización legítima BerriAI. Los atacantes habrían usado ese repositorio para introducir tres archivos en el proceso de lanzamiento del software, lo que convirtió la cadena de distribución en el punto de entrada y permitió que el código dañino viajara junto con el paquete legítimo.
La publicación del paquete se produjo a las 11:39 UTC del miércoles, de acuerdo con la información difundida por los investigadores. El riesgo no se limita a quienes instalaron manualmente la versión: también deben revisar sus entornos los equipos que la obtuvieron mediante etiquetas como latest, main-latest o main-stable, porque esas referencias pueden dirigir a una imagen comprometida sin que el usuario haya escrito explícitamente el número de versión.
El código buscaba credenciales y permitía operar a distancia
Los tres archivos identificados cumplían funciones complementarias. Aikido Security señaló que cook.pth hacía que cook.py se ejecutara automáticamente cuando Python se iniciaba en la máquina, sin que el usuario tuviera que abrir el archivo ni realizar una acción adicional; el segundo archivo contenía el ladrón de información, diseñado para buscar datos sensibles en el sistema.
El tercer componente, sitecustomize.py, actuaba como un troyano de acceso remoto, conocido como RAT por sus siglas en inglés. Python lo ejecutaba al inicio del intérprete y el archivo ponía en marcha un proceso en segundo plano que consultaba cada hora la infraestructura controlada por los atacantes para recibir nuevos comandos, una capacidad que podía permitir la ejecución de código arbitrario en las máquinas infectadas.
El ladrón de información estaba dividido en 16 módulos y buscaba credenciales de navegadores como Chrome, Firefox, Edge y Safari, además de cookies y datos almacenados en ellos. También recopilaba credenciales de AWS guardadas en ~/.aws/, variables de entorno y metadatos de instancias EC2 y ECS, elementos que pueden dar acceso a recursos y servicios configurados en la nube.
La lista de objetivos incluía claves de cuentas de servicio y credenciales predeterminadas de aplicaciones de Google Cloud Platform, así como tokens almacenados en la interfaz de línea de comandos de Microsoft Azure. El código también buscaba claves API de OpenAI, Anthropic, Cohere y otros proveedores de modelos de lenguaje, junto con claves SSH privadas, claves GPG y archivos con el historial de comandos de la terminal.
Qué deben revisar los equipos afectados
Después de recolectar los datos, el malware los cifraba con AES-256-CBC y protegía la clave utilizada mediante una clave pública RSA-4096. Luego transmitía la información cifrada mediante una solicitud HTTP POST a http://www[.]litellm[.]dev/healthcheck, un dominio que los investigadores identificaron como controlado por los atacantes; el cifrado dificulta leer los datos interceptados, pero no impide que el destinatario previsto los descifre.
Ilyas Makari, cazador de malware de Aikido Security, recomendó revisar la presencia de /tmp/.pc_once_*, indicador de que la exfiltración ya se habría activado, y de /tmp/remote_code_loader.lock, señal de que el proceso de comunicación con el servidor de mando y control se ejecutó o podría seguir activo. La ausencia de esos archivos no sustituye una investigación más amplia, pero su hallazgo puede ayudar a identificar sistemas que requieren atención inmediata.
Los investigadores de Socket aconsejaron detener la implementación de la versión 1.107.0 e investigar los entornos donde Python se haya ejecutado después de instalarla, incluidos contenedores proxy y ejecutores de integración continua. La recomendación se extiende a cualquier sistema que haya ejecutado la imagen comprometida o la haya descargado mediante las etiquetas mencionadas, ya que el código podía activarse durante el inicio de Python y no solo al usar una función concreta de LiteLLM.
Si la versión afectada llegó a ejecutarse, instalar otra versión no basta por sí solo para descartar una exposición previa. Los responsables deben investigar sus entornos y tratar como potencialmente robadas las credenciales accesibles desde ellos, incluidas claves de nube, API, bases de datos y sistemas de desarrollo. También deben consultar las indicaciones del proyecto antes de volver a implementar el paquete o sus imágenes, dado que el reporte disponible señaló que las imágenes de Docker seguían infectadas.
Imagen original de DiarioBitcoin, creada con inteligencia artificial, de uso libre, licenciada bajo Dominio Público.
Este artículo fue escrito por un redactor de contenido de IA y revisado por un editor humano para garantizar calidad y precisión.
ADVERTENCIA: DiarioBitcoin ofrece contenido informativo y educativo sobre diversos temas, incluyendo criptomonedas, IA, tecnología y regulaciones. No brindamos asesoramiento financiero. Las inversiones en criptoactivos son de alto riesgo y pueden no ser adecuadas para todos. Investigue, consulte a un experto y verifique la legislación aplicable antes de invertir. Podría perder todo su capital.
Suscríbete a nuestro boletín
Artículos Relacionados
Empresas
Mistral y Nvidia apuestan por una IA de física para acelerar el diseño industrial
Privacidad
Signal corrigió un fallo crítico que podía dejar el micrófono abierto tras colgar llamadas
IA
La IA absorberá 20% de los presupuestos tecnológicos en 2027, pero no se sabe si habrá retornos
Capital de Riesgo

