Equipo PCP , el actor de amenazas detrás de los recientes compromisos de Trivy y KICS, ha puesto en peligro un popular paquete de Python llamado litelm , que incluye dos versiones maliciosas que contienen un recolector de credenciales, un conjunto de herramientas de movimiento lateral de Kubernetes y una puerta trasera persistente.

Varios proveedores de seguridad, incluidos Laboratorios Endor y JFrog , reveló que las versiones 1.82.7 y 1.82.8 de litellm eran publicado el 24 de marzo de 2026, probablemente debido a la uso de Trivy en el paquete en su flujo de trabajo de CI/CD. Desde entonces, ambas versiones con puertas traseras se han eliminado de PyPI.

«La carga útil consiste en un ataque en tres etapas: un recolector de credenciales que barre las claves SSH, las credenciales en la nube, los secretos de Kubernetes, las carteras de criptomonedas y los archivos.env; un conjunto de herramientas de movimiento lateral de Kubernetes que despliega módulos privilegiados en cada nodo; y un backdoor persistente de systemd (sysmon.service) que sondea 'checkmarx [.] zone/raw' en busca de más binarios», afirma Kiran Raj, investigadora de Endor Labs.

adsense

Como se observó en casos anteriores, los datos recopilados se filtran como un archivo cifrado (» tpcp.tar.gz «) a un dominio de comando y control denominado «models.litellm [.] cloud» mediante una solicitud HTTPS POST.

En el caso de la versión 1.82.7, el código malicioso está incrustado en el archivo "litellm/proxy/proxy_server.py «y la inyección se realiza durante o después del proceso de creación de la rueda. El código está diseñado para ejecutarse en el momento de la importación del módulo, de modo que cualquier proceso que importe «litellm.proxy.proxy_server» desencadena la carga útil sin que el usuario interactúe.

La siguiente iteración del paquete añade un «vector más agresivo» al incorporar un «litellm_init.pth» malicioso en la raíz de la rueda, lo que hace que la lógica se ejecute automáticamente cada vez que se inicia un proceso de Python en el entorno, no solo cuando se importa litellm.

Otro aspecto que hace que 1.82.8 sea más peligroso es el hecho de que el lanzador.pth genera un proceso Python secundario a través de Subproceso.pAbrir , lo que permite que la carga se ejecute en segundo plano.

«Los archivos.pth de Python colocados en paquetes de sitios son procesados automáticamente por site.py al iniciar el intérprete», afirma Endor Labs. «El archivo contiene una sola línea que importa un subproceso y lanza un proceso de Python independiente para decodificar y ejecutar la misma carga útil en Base64».

La carga útil se decodifica en un orquestador que desempaqueta un recolector de credenciales y un cuentagotas de persistencia. El recolector también aprovecha el token de la cuenta de servicio de Kubernetes (si está presente) para enumerar todos los nodos del clúster e implementar un pod privilegiado en cada uno de ellos. Entonces, el pod raíces en el sistema de archivos del host e instala el persistente dropper como un servicio de usuario de systemd en cada nodo.

El servicio systemd está configurado para lanzar un script de Python («~/.config/sysmon/sysmon.py»), el mismo nombre que se utiliza en Compromiso trivial — que llega a «checkmarx [.] zone/raw» cada 50 minutos para buscar una URL que apunta a la carga útil de la siguiente etapa. Si la URL contiene youtube [.] com, el script aborta la ejecución, un patrón de desconexión automática común a todos los incidentes observados hasta ahora.

«Es casi seguro que esta campaña no ha terminado», dijo Endor Labs. «TeamPCP ha demostrado seguir un patrón uniforme: cada entorno comprometido genera credenciales que permiten pasar al siguiente objetivo. El paso de la CI/CD (ejecutores de GitHub Actions) a la producción (paquetes PyPI que se ejecutan en clústeres de Kubernetes) es una escalada deliberada».

Con el último desarrollo, TeamPCP ha llevado a cabo una implacable campaña de ataque a la cadena de suministro que ha generado cinco ecosistemas, incluidos GitHub Actions, Docker Hub, npm, Open VSX y PyPI, para ampliar su alcance de segmentación y poner cada vez más sistemas bajo su control.

«TeamPCP está intensificando una campaña coordinada dirigida a las herramientas de seguridad y la infraestructura de desarrollo de código abierto, y ahora se está atribuyendo abiertamente el mérito de los múltiples ataques de seguimiento en los ecosistemas», dijo Socket dijo . «Se trata de una operación sostenida dirigida a puntos de alto apalancamiento en la cadena de suministro de software».

En un mensaje publicado en su canal de Telegram, TeamPCP dijo: «Estas empresas se crearon para proteger tus cadenas de suministro, pero ni siquiera pueden proteger las suyas propias. El estado de la investigación de seguridad moderna es una broma, por lo que vamos a estar mucho tiempo robando terrabytes [sic] de secretos comerciales con nuestros nuevos socios».

«El efecto bola de nieve que esto provocará será enorme. Ya nos estamos asociando con otros equipos para perpetuar el caos. Muchas de vuestras herramientas de seguridad y proyectos de código abierto favoritos serán atacados en los próximos meses, así que estad atentos», dijo el actor de amenazas adicional .

enlaces

Se recomienda a los usuarios que realicen las siguientes acciones para contener la amenaza -

  • Audite todos los entornos en busca de las versiones 1.82.7 o 1.82.8 de Litellm y, si los encuentra, vuelva a una versión limpia
  • Aísle los anfitriones afectados
  • Comprueba la presencia de cápsulas no autorizadas en los clústeres de Kubernetes
  • Revise los registros de red para ver el tráfico de salida a «models.litellm [.] cloud» y «checkmarx [.] zone»
  • Eliminar los mecanismos de persistencia
  • Audite las canalizaciones de CI/CD para ver el uso de herramientas como Trivy y KICS durante los períodos de compromiso
  • Revocar y rotar todas las credenciales expuestas

«La cadena de suministro de código abierto se está derrumbando por sí sola», dijo Gal Nagli, jefe de exposición a amenazas de Wiz, propiedad de Google, dijo en una publicación en X. «Trivy se ve comprometida → LitellM se ve comprometida → las credenciales de decenas de miles de entornos terminan en manos de los atacantes → y esas credenciales conducen al siguiente compromiso. Estamos atrapados en un círculo vicioso».

¿Te ha parecido interesante este artículo? Síguenos en Noticias de Google , Twitter y LinkedIn para leer más contenido exclusivo que publicamos.