Se han publicado versiones maliciosas de la biblioteca LiteLLM en PyPI, que cuenta con 95 millones de descargas al mes.

Los desarrolladores de la biblioteca de Python LiteLLM, que cuenta con 95 millones de descargas al mes y 3.5 millones en las últimas 24 horas, han informado sobre la compromisión del proyecto. Los atacantes lograron interceptar las credenciales del mantenedor y publicaron en PyPI dos lanzamientos maliciosos: 1.82.7 y 1.82.8, que contienen código para robar claves y contraseñas de los sistemas de los usuarios. Actualmente, las versiones maliciosas han sido eliminadas de PyPI y el proyecto está temporalmente congelado hasta que se resuelva la situación.

El token de acceso a la cuenta de LiteLLM en PyPI cayó en manos de los atacantes debido al uso en el sistema de integración continua de un escáner de seguridad de dependencias llamado trivvy. Antes de esto, a finales de febrero, los atacantes lograron acceder a la infraestructura del proyecto Trivy aprovechando una vulnerabilidad en el manejador pull_request_target, ejecutado en el sistema de integración continua de Trivy. Después de la compromisión, los atacantes publicaron lanzamientos maliciosos de Trivy 0.69-0.69, reemplazaron el manejador de GitHub Action trivy-action y subieron una imagen de Docker modificada con Trivy.

El 24 de marzo a las 11:30 (MSK), las credenciales interceptadas del mantenedor de LiteLLM (krrishdholakia) fueron utilizadas para publicar directamente los lanzamientos maliciosos LiteLLM 1.82.7 y 1.82.8 en PyPI, eludiendo el CI/CD oficial de GitHub. El repositorio del proyecto en GitHub no se vio afectado; la actividad maliciosa solo se observó en PyPI. En el lanzamiento LiteLLM 1.82.7, el código malicioso estaba incrustado en el archivo litellm/proxy/proxy_server.py y se activaba al importar litellm.proxy. En el lanzamiento 1.82.8, se incluyó un archivo site-packages/litellm_init.pth, y en el archivo proxy_server.py se añadió un manejador empaquetado en formato base64, que se activaba en cualquier ejecución.

El código malicioso añadido realizaba un escaneo y envío de datos confidenciales. Se enviaban las claves SSH y SSL/TLS encontradas en el sistema, el contenido de las variables de entorno, las credenciales para AWS, GCP, Azure y K8s, las claves de las criptocarteras, las contraseñas de las bases de datos, el historial de operaciones en el intérprete de comandos, los archivos de configuración de Git, CI/CD, gestores de paquetes y Docker. Los datos descubiertos eran cifrados usando algoritmos AES-256-CBC + RSA-4096 y enviados mediante una solicitud POST HTTP al sitio "https://models.litellm.cloud/" (nombre de dominio litellm.cloud fue registrado unas horas antes de la publicación de los lanzamientos maliciosos).

Se recomienda a los usuarios de LiteLLM asegurarse de que no haya el archivo litellm_init.pth en el directorio site-packages, actualizar todas las claves y credenciales en caso de instalar la versión 1.82.7 o 1.82.8, fijar versiones específicas de LiteLLM en los parámetros de carga de dependencias y verificar las versiones de LiteLLM utilizadas con el código de lanzamientos en GitHub.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster