top of page

Ars Technica informa de una enorme filtración de credenciales de LiteLLM tras un ataque a la cadena de suministro

Ars Technica informa de que credenciales vinculadas a más de 2.500 organizaciones aparecieron en datos robados mediante un paquete de IA comprometido. La escala reportada transforma el incidente de LiteLLM de marzo, que parecía un fallo puntual de un paquete, en una crisis de credenciales potencialmente duradera.

Los atacantes corrompieron dos versiones oficiales de LiteLLM y las distribuyeron a través del Python Package Index, conocido como PyPI. El código malicioso buscaba en los sistemas infectados claves de cloud, tokens de repositorios, credenciales SSH, contraseñas de bases de datos y secretos utilizados por servicios de IA.

El ataque no comenzó con LiteLLM. Formaba parte de una campaña que avanzó a través de herramientas de seguridad de confianza, flujos de trabajo de desarrollo y cuentas de publicación de paquetes. Según los informes, cada eslabón comprometido proporcionó credenciales que ayudaron a los atacantes a acceder a otra parte de la cadena de suministro de software.

Los datos recientemente reportados ofrecen una imagen más clara, aunque todavía incompleta, de las consecuencias. Los investigadores vincularon cientos de miles de archivos o registros de pipelines con más de 2.500 organizaciones. Sin embargo, que un dominio aparezca en datos robados no demuestra que todas las organizaciones incluidas sufrieran accesos no autorizados.

Esta distinción importa. El compromiso confirmado del paquete tuvo lugar en marzo de 2026, mientras que los investigadores revelaron el conjunto de datos más amplio meses después. Los equipos de seguridad deben determinar ahora si las credenciales recopiladas durante el ataque seguían siendo válidas, fueron utilizadas indebidamente o se rotaron antes de que los atacantes pudieran usarlas.

Lo que Ars Technica dice que revelan los datos filtrados

La novedad no es otro paquete comprometido, sino evidencias que sugieren que la intrusión original llegó mucho más allá de las primeras estimaciones.

Según el informe sobre la exposición de credenciales, los investigadores de seguridad examinaron una enorme colección atribuida a los atacantes. El material contenía, según se informa, secretos asociados a más de 2.500 organizaciones.

La colección incluía claves de acceso a cloud, tokens de repositorios de código fuente, claves SSH, secretos de Kubernetes, variables de entorno, credenciales de publicación de paquetes y claves de proveedores de IA. Se trata de credenciales operativas, no simplemente de nombres de cuentas recopilados de un directorio público.

Una clave de cloud expuesta puede conceder acceso a infraestructura alojada. Un token de repositorio puede revelar código fuente privado o permitir cambios no autorizados. Una credencial de publicación de paquetes puede permitir a un atacante distribuir software malicioso bajo el nombre de un proyecto de confianza.

Los secretos de Kubernetes abren otra vía. Kubernetes es un sistema para gestionar aplicaciones en contenedores, y sus cuentas de servicio pueden tener amplios permisos de infraestructura. Un token robado con privilegios excesivos puede ayudar a un atacante a pasar de una carga de trabajo a un clúster completo.

Los investigadores también asociaron los datos con aproximadamente 434.000 registros de integración y entrega continuas. Los pipelines de CI/CD automatizan las pruebas, la compilación y el despliegue de software, a menudo mientras cargan temporalmente credenciales en memoria.

Esa cifra no debe interpretarse como 434.000 brechas confirmadas. Una organización puede operar muchos trabajos, runners, repositorios y ejecuciones repetidas de pipelines. Los registros duplicados también pueden inflar los recuentos en datos robados durante varias fases de la campaña.

El conjunto de datos reportado estaba vinculado a una colección de archivos de aproximadamente 195 TB. Sería engañoso describir cada byte como una credencial única. Estas colecciones pueden incluir archivos de sistema duplicados, árboles de código fuente, registros, archivos comprimidos y capturas de memoria junto con secretos.

La conclusión más defendible se refiere al alcance, no al número de credenciales. Los atacantes parecen haber recopilado datos de numerosos entornos de desarrollo en los que había credenciales valiosas. El tamaño del material también complica la verificación y la notificación a las víctimas.

CloudSEK creó un servicio de exposición con capacidad de búsqueda que permite a las organizaciones comprobar si sus dominios aparecen en el material analizado. Una coincidencia debería desencadenar una investigación, pero no constituye una prueba concluyente de que un atacante entró en la red de la organización.

Del mismo modo, no encontrar coincidencias debería ofrecer poco consuelo si una organización instaló un paquete afectado. Los conjuntos de datos pueden estar incompletos, los dominios pueden no aparecer en los artefactos de las máquinas y la infraestructura del atacante puede fallar antes de registrar a una víctima.

Por tanto, la cobertura cambia la urgencia del incidente sin resolver todas las preguntas. Las organizaciones necesitan registros locales de instalación, telemetría de red, logs de auditoría de cloud e historiales de credenciales para determinar su exposición real.

Un paquete de IA de confianza se convirtió en el mecanismo de entrega

Comprometer LiteLLM era peligroso porque suele operar junto a las mismas credenciales que los atacantes quieren robar.

LiteLLM proporciona una interfaz común para aplicaciones que llaman a distintos servicios de modelos de lenguaje grandes. En lugar de mantener integraciones separadas, los desarrolladores pueden enrutar las solicitudes a través de un proxy o biblioteca de Python.

Esta conveniencia sitúa a LiteLLM cerca de claves API para OpenAI, Anthropic, modelos alojados en cloud y otros proveedores. Los despliegues de producción también pueden acceder a bases de datos, plataformas de observabilidad, almacenamiento cloud y servicios internos.

Los atacantes publicaron las versiones maliciosas 1.82.7 y 1.82.8 de LiteLLM en el proyecto real de PyPI el 24 de marzo de 2026. No eran paquetes de imitación con errores tipográficos. Llegaron a través del canal de distribución en el que los usuarios ya confiaban.

Wiz informó de que las versiones aparecieron aproximadamente a las 8:30 UTC y de que PyPI puso el proyecto en cuarentena a las 11:25 UTC. Su análisis del paquete malicioso también detectó LiteLLM en el 36 por ciento de los entornos cloud observados por Wiz.

La versión 1.82.7 activaba su carga útil cuando el software importaba el código del proxy LiteLLM o iniciaba el proxy. La versión 1.82.8 añadió un archivo de inicio de Python llamado litellm_init.pth.

Python procesa los archivos .pth mientras inicializa su entorno de paquetes del sitio. En consecuencia, el código malicioso podía ejecutarse cada vez que se iniciaba Python, incluso si una aplicación nunca importaba LiteLLM durante esa sesión.

Este mecanismo socavó una suposición habitual sobre la exposición a dependencias. Un desarrollador no tenía necesariamente que ejecutar un comando obviamente comprometido. Instalar la versión podía colocar un gancho de ejecución automática dentro del entorno.

El malware buscaba después en la memoria, las variables de entorno, los directorios de configuración, el historial del shell y las ubicaciones habituales de credenciales. Cifraba el material recopilado antes de enviarlo a infraestructura controlada por los atacantes que imitaba el dominio legítimo de LiteLLM.

Los objetivos de datos incluían, según se informa, credenciales de AWS, Google Cloud y Microsoft Azure. El ladrón también buscaba tokens de Kubernetes, configuración de Docker, contraseñas de bases de datos, monederos de criptomonedas, claves privadas y secretos de CI/CD.

La investigación de la campaña de Datadog aconseja tratar cualquier sistema que instalara las versiones afectadas como una exposición total de credenciales. Esta postura refleja el comportamiento de recopilación del malware, no prueba que todos los secretos detectados llegaran a un atacante.

Los mantenedores de LiteLLM dijeron que las versiones comprometidas fueron eliminadas y que las credenciales de los mantenedores se rotaron. También señalaron que los usuarios de imágenes Docker del proxy no se vieron afectados porque sus dependencias estaban fijadas.

Los mantenedores involucraron a Mandiant y pausaron los lanzamientos mientras revisaban repositorios y sistemas de compilación. Su respuesta pública vinculó el compromiso de publicación con credenciales expuestas durante el incidente anterior de Trivy.

Estas medidas de contención redujeron las nuevas infecciones. No podían recuperar los datos ya transmitidos ni invalidar automáticamente todas las credenciales robadas. Por tanto, la remediación debía ir mucho más allá de desinstalar el paquete.

El verdadero adversario es la automatización de confianza frente al acceso limitado

Este incidente enfrenta la velocidad de la entrega automatizada de software con el principio de seguridad de que ninguna dependencia debe heredar credenciales sin restricciones.

Los pipelines de compilación modernos obtienen código, herramientas, contenedores y acciones de muchos proyectos externos. La automatización hace que los lanzamientos sean repetibles, pero cada dependencia pasa a formar parte del perímetro de seguridad efectivo de la organización.

Trivy ilustra el problema. Es un escáner de seguridad utilizado para encontrar vulnerabilidades en contenedores y artefactos de software. Los equipos suelen conceder a los escáneres una visibilidad amplia porque la inspección requiere acceso al código fuente, los registros y las salidas de compilación.

El 19 de marzo, los atacantes comprometieron partes del ecosistema de lanzamientos y GitHub Actions de Trivy. Datadog informó de que componentes maliciosos extrajeron la memoria de runners alojados en GitHub y buscaron ubicaciones habituales de credenciales.

Los atacantes parecen haber reutilizado después el acceso robado en otros proyectos y sistemas de paquetes. La campaña alcanzó acciones y extensiones relacionadas con Checkmarx antes de que aparecieran versiones maliciosas de LiteLLM en PyPI.

Esta secuencia invierte el modelo de seguridad habitual. Un escáner destinado a detectar software inseguro se convirtió en una fuente ascendente de acceso que ayudó a comprometer otro paquete ampliamente utilizado.

La campaña también demuestra por qué un nombre de paquete firmado u oficial no puede resolver la cuestión de la confianza. La ubicación auténtica en el registro confirma de dónde procede un artefacto. No garantiza que la cuenta del publicador o el pipeline de compilación permanecieran seguros.

Las actualizaciones automáticas aumentaron la tensión. Los equipos suelen permitir que las versiones de parche fluyan con rapidez porque esperan que las versiones menores contengan correcciones compatibles. Los atacantes explotaron esa expectativa al publicar versiones maliciosas a través de un proyecto legítimo.

Fijar versiones puede ralentizar esta vía, pero no es una defensa completa. Un equipo puede aprobar deliberadamente una versión comprometida, especialmente cuando su identidad en el registro y su número de lanzamiento parecen normales.

La verificación criptográfica de hashes ofrece un control más fuerte porque comprueba el artefacto exacto. Sin embargo, alguien debe establecer qué hash es de confianza antes de la instalación. Copiar un hash malicioso del mismo canal comprometido simplemente preserva el ataque.

Los mirrors privados de paquetes añaden revisión y demora antes de que los artefactos externos lleguen a producción. También crean otro servicio sensible que debe protegerse, supervisarse y mantenerse actualizado.

El control más profundo es el aislamiento de credenciales. Una dependencia que se ejecuta en un trabajo de compilación solo debería recibir los permisos necesarios para esa tarea específica. Las credenciales de corta duración deberían expirar antes de que las copias robadas proporcionen acceso persistente.

La identidad de carga de trabajo sustituye los secretos estáticos por credenciales temporales vinculadas a un trabajo o servicio. Este enfoque reduce el valor de los archivos y las variables de entorno recopilados de un runner comprometido.

Las organizaciones también necesitan etapas de compilación separadas. Un trabajo de escaneo rara vez necesita permiso para publicar paquetes, administrar cuentas cloud, acceder a bases de datos de producción y modificar repositorios no relacionados.

Muchos pipelines aún combinan esos privilegios por conveniencia. Cuando un proceso puede acceder a todos los servicios de despliegue, una dependencia comprometida puede convertir una actualización de software en un incidente de identidad que afecta a toda la organización.

El ataque a LiteLLM no inventó esta debilidad. Expuso cuánto se agrava cuando el middleware de IA se sitúa entre aplicaciones, proveedores de modelos, clouds, bases de datos y sistemas de observabilidad.

Por qué desinstalar LiteLLM no era suficiente

Eliminar el paquete malicioso detuvo una vía de ejecución, pero no revocó los secretos copiados mientras ese código estaba activo.

El robo de credenciales plantea un problema de respuesta distinto al de la limpieza ordinaria de malware. Una máquina reconstruida puede eliminar una puerta trasera, pero el atacante podría seguir teniendo claves válidas que funcionen desde otro sistema.

Cada entorno afectado requiere un inventario de credenciales. Los equipos de seguridad deben identificar qué secretos existían en memoria, archivos, variables de entorno, historiales de shell y directorios montados de cuentas de servicio durante la ventana de exposición.

La rotación debe incluir claves de acceso a la nube, claves de proveedores de IA, contraseñas de bases de datos, tokens de repositorios, claves SSH, cuentas de servicio de Kubernetes, credenciales de registros de paquetes, secretos de webhooks y materiales de firma.

El orden importa. Los equipos deben primero restringir el acceso sospechoso, preservar las pruebas y crear identidades de reemplazo. Después pueden actualizar los servicios dependientes antes de invalidar las credenciales expuestas, sin provocar interrupciones incontroladas.

Los registros de auditoría en la nube pueden revelar si las claves robadas se utilizaron desde ubicaciones inusuales. Los historiales de repositorios pueden mostrar clonaciones inesperadas, creación de tokens, cambios en flujos de trabajo, actividad de lanzamientos o modificaciones de permisos.

Los mantenedores de paquetes enfrentan una responsabilidad adicional. Si un token de publicación estuvo presente en un runner infectado, debe revisarse cada paquete accesible mediante ese token. Los atacantes pueden esperar antes de explotar el acceso.

La técnica de persistencia .pth también implica que los equipos deben inspeccionar directamente los entornos de Python. Desinstalar LiteLLM quizá no elimine un archivo de inicio creado de forma independiente en site-packages.

La cronología pública del incidente recomienda comprobar la existencia de litellm_init.pth y rotar todas las credenciales presentes en los sistemas afectados. También identifica el endpoint controlado por el atacante models.litellm.cloud.

Los defensores deben buscar en los registros de red conexiones con infraestructura de comando conocida. También deben examinar registros de procesos, inicios inusuales de Python, creación de archivos comprimidos y pods privilegiados inesperados de Kubernetes.

Sin embargo, el transcurso de varios meses crea brechas de visibilidad. Los períodos de retención cortos pueden borrar registros de endpoints y redes antes de que comience una investigación tardía.

Esa brecha explica por qué la divulgación de datos reportada importa ahora. Una organización que no detectó una intrusión evidente en marzo puede obtener una nueva pista si su dominio aparece en el material recuperado.

Aun así, los investigadores deben evitar tratar una herramienta de consulta de un investigador como la autoridad final. Las coincidencias de dominios pueden proceder de configuraciones públicas, código fuente clonado, referencias de proveedores o listas de clientes.

El error opuesto es igual de arriesgado. Una empresa no debe descartar una coincidencia simplemente porque no pueda demostrar de inmediato la exfiltración. Los registros de credenciales, los registros de instalación y los archivos de bloqueo de dependencias pueden aportar pruebas más sólidas.

Los equipos también deben inspeccionar instalaciones indirectas. Puede que un desarrollador no recuerde haber elegido LiteLLM porque otro framework, herramienta interna o entorno de pruebas introdujo el paquete.

Las listas de materiales de software ayudan a rastrear esas relaciones. Una lista de materiales registra los componentes y las versiones incluidos en una aplicación o artefacto de compilación.

Sin embargo, ni siquiera una lista completa de componentes puede revelar qué credenciales estaban visibles durante la ejecución. Las pruebas sobre dependencias deben combinarse con registros de identidad y acceso en tiempo de ejecución.

Para los desarrolladores que necesiten conservar notas de investigación, cronologías de credenciales y decisiones de remediación, una base de conocimiento técnica con capacidad de búsqueda puede reducir la fragmentación de las pruebas. Los secretos sensibles nunca deben copiarse en notas generales.

Lo que las cifras no demuestran

La escala reportada es alarmante, pero las pruebas disponibles no establecen 2.500 intrusiones de red completadas ni 195 TB de credenciales únicas.

Ars Technica atribuye el nuevo alcance al análisis de investigadores de seguridad. El compromiso subyacente del paquete cuenta con respaldo independiente de múltiples investigaciones técnicas y de la respuesta de los mantenedores de LiteLLM.

El recuento posterior de víctimas depende de cómo los investigadores vincularon los artefactos robados con las organizaciones. La información pública todavía no ofrece suficiente detalle para reproducir cada coincidencia ni distinguir entre clientes, proveedores, desarrolladores y terceros mencionados.

Un dominio corporativo puede aparecer en código fuente sin demostrar que ese código proceda del sistema del propietario del dominio. Los datos de prueba, las direcciones de correo electrónico, los metadatos de dependencias y la documentación pueden contener nombres externos.

Los investigadores pueden reforzar la atribución mediante varias señales. Entre ellas se incluyen nombres de host internos, rutas de repositorios privados, identificadores de cuentas en la nube, tokens específicos de una organización, nombres de runners y marcas de tiempo coincidentes.

Incluso entonces, «afectada» puede describir varias condiciones. Una organización puede haber ejecutado malware, otra puede haber expuesto una clave revocada y una tercera quizá solo aparezca en documentación copiada.

La cifra de 434.000 también requiere contexto. Si representa archivos, registros o ejecuciones de pipelines, no debería presentarse como un número equivalente de pipelines distintos comprometidos.

La recopilación reportada de 195 TB merece una cautela similar. Un archivo de robo sin procesar puede contener directorios repetidos, binarios grandes, archivos de modelos, cachés, repositorios de código fuente y registros.

Llamar «credenciales» a los 195 TB comprime esas distinciones en un titular dramático. Las credenciales ocupan poco espacio, mientras que los entornos que las rodean pueden ser enormes.

El riesgo práctico sigue siendo grave sin maximizar el lenguaje. Un pequeño archivo de texto que contenga una clave activa de administrador de nube puede importar más que terabytes de artefactos de compilación no sensibles.

Las organizaciones nombradas también necesitan un trato justo. Aparecer en un conjunto de datos de exposición no demuestra negligencia, un compromiso continuo ni robo de datos de sus sistemas de producción.

Algunas organizaciones incluidas en la lista pueden haber rotado las credenciales durante la respuesta original. Otras pueden haber proporcionado nombres o dominios que aparecieron dentro del entorno de un proveedor, en lugar de en el suyo propio.

La posesión y el uso del conjunto de datos por parte de los atacantes son cuestiones separadas. Según se informa, los investigadores obtuvieron o analizaron material vinculado con la campaña, pero las pruebas públicas no muestran hasta qué punto se explotó cada credencial.

La validez de las credenciales cambia con el tiempo. Los tokens temporales pueden caducar en minutos, mientras que las claves SSH antiguas y las credenciales de API estáticas pueden seguir funcionando durante meses o años.

La incertidumbre más relevante afecta a los secretos de larga duración. Si las organizaciones expuestas rotaron únicamente las claves de IA más evidentes, los atacantes podrían conservar el acceso mediante tokens de despliegue olvidados o cuentas de servicio.

Por tanto, la divulgación debe tratarse como una pista de investigación respaldada por un evento de malware confirmado. No debe convertirse en un veredicto final de brecha para cada dominio incluido en el conjunto de datos.

Ese enfoque equilibrado evita dos fallos. Impide que un recuento exagerado de víctimas se adelante a las pruebas y evita que la incertidumbre se convierta en una excusa para la inacción.

Tres señales mostrarán si la crisis está contenida

La siguiente fase depende de la rotación de credenciales, hallazgos de víctimas verificados de forma independiente y cambios medibles en la seguridad de publicación de paquetes.

La primera señal es la evidencia de abuso de credenciales después de la ventana de contención de marzo. Los proveedores de nube, los registros de paquetes y las organizaciones afectadas deben revelar si las identidades robadas permitieron accesos posteriores.

El uso confirmado de tokens de publicación inactivos reforzaría la conclusión de que la campaña creó una amenaza duradera para la cadena de suministro. La ausencia de uso observado reduciría la preocupación inmediata, pero solo cuando la cobertura de auditoría sea adecuada.

La segunda señal es la validación independiente del conjunto de datos de exposición. Más organizaciones deberían comparar las coincidencias de los investigadores con registros de instalación, identificadores de nube y telemetría de red.

Una confirmación consistente respaldaría la escala reportada. Coincidencias falsas generalizadas o registros duplicados reducirían el impacto estimado sin modificar el compromiso confirmado de LiteLLM.

La tercera señal es la adopción de controles más seguros de publicación y ejecución. El modelo de publicación confiable de PyPI utiliza tokens de identidad de corta duración en lugar de credenciales de carga reutilizables.

La revisión más amplia de la cadena de suministro recomienda publicación confiable, verificación de hashes de artefactos, cuentas de servicio restringidas y monitorización de archivos de inicio de Python inesperados. El documento identifica el middleware de IA como un punto de concentración para las credenciales posteriores.

Los desarrolladores no deben esperar una lista perfecta de víctimas. Cualquiera que haya instalado LiteLLM 1.82.7 o 1.82.8 debe tratar ese entorno como expuesto y verificar que todas las credenciales accesibles hayan cambiado.

Los equipos de seguridad también deben revisar la exposición relacionada con Trivy desde el 19 de marzo en adelante. La cadena de la campaña comenzó antes de que aparecieran las versiones maliciosas de LiteLLM, y centrarse en un único paquete puede pasar por alto el compromiso ascendente.

Las organizaciones que no encuentren versiones afectadas deben aun así examinar su política de dependencias. El próximo paquete envenenado no utilizará necesariamente LiteLLM, Python ni el mismo mecanismo de persistencia.

La lección central del informe de Ars Technica es más limitada y práctica de lo que sugieren sus enormes cifras. La automatización confiable situó identidades valiosas junto a código de terceros, y una cadena comprometida alcanzó muchos sistemas.

Haga hoy una pregunta concreta: ¿qué paquete externo puede leer sus credenciales de compilación más privilegiadas? Si la respuesta no está clara, trace ese acceso antes de que la próxima actualización rutinaria convierta la confianza oculta en un incidente.

 
 

Empieza gratis

Un asistente de IA local-first con gestión del conocimiento personal

Para ofrecer una mejor experiencia con la IA,

actualmente remio solo es compatible con Windows 10+ (x64) y M-Chip Macs.

​Añade una barra de búsqueda a tu cerebro

Solo tienes que preguntarle a remio

Recuérdalo todo

No organices nada

bottom of page