Microsoft confirmó el lunes que eliminó temporalmente algunos repositorios de GitHub en respuesta a un reciente incidente de seguridad que llevó a que 73 de sus proyectos de código abierto se vieran comprometidos para inyectar un ladrón de información en el código.
«Nuestra prioridad es proteger a los clientes y al ecosistema en general», dijo un portavoz de Microsoft a The Hacker News por correo electrónico. «Eliminamos temporalmente algunos repositorios mientras investigamos contenido potencialmente malicioso. Algunos de estos repositorios se restauraron después de la revisión, mientras que otros pueden permanecer fuera de línea mientras continúa el trabajo».
«Como parte de nuestra investigación, notificamos a un pequeño número de clientes que pueden haber eliminado contenido de los repositorios afectados. Continuaremos investigando y, si se identifica algo más que requiera la acción del cliente, nos comunicaremos directamente a través de nuestros canales de soporte establecidos».
El desarrollo se produce días después de que el fabricante de Windows cortara el acceso a docenas de sus proyectos de código abierto alojados en GitHub luego de informes de que fueron comprometidos como parte de una campaña en curso de la cadena de suministro de software con el nombre en código Miasma.
Entre los proyectos infectados se encuentra «durabletask», un paquete de Python que fue comprometido por primera vez el mes pasado por un grupo de cibercrimen conocido como TeamPCP para ofrecer un ladrón de información diseñado para sistemas Linux.
Un análisis más detallado de la carga útil de Miasma integrada en los proyectos ha descubierto capacidades para activar la ejecución automática de código cuando un desarrollador desprevenido abre el repositorio en una herramienta de codificación impulsada por inteligencia artificial (IA) o en un entorno de desarrollo integrado (IDE).
Los hallazgos son los últimos de una campaña sostenida en la cadena de suministro de software que ha violado paquetes de código abierto ampliamente utilizados para plantar malware capaz de propagarse a usuarios posteriores y más allá.
Esto incluye una onda PyPI más nueva vinculada a las ondas más amplias Mini Shai-Hulud, Miasma y Hades, que infecta un conjunto adicional de 23 paquetes, incluidas algunas bibliotecas relacionadas con la bioinformática utilizadas en el aprendizaje de gráficos, el fenotipado de pacientes, las herramientas de fenopaquetes y los flujos de trabajo científicos.
Algunos de los otros paquetes incluyen un conjunto de paquetes temáticos de AI y Model Context Protocol (MCP) y paquetes de estilo typosquat como rsquests, tlask y rlask que se hacen pasar por solicitudes y flask, y un langchain-core-mcp. La lista completa de paquetes legítimos y de cebo se encuentra a continuación:
- sueñogen 1.8.1
- aumentar 0.11.97
- la plantilla única 0.8.101
- gpsea 0.9.14
- instructor-mcp 1.15.2, 1.15.3
- langchain-core-mcp 1.4.2, 1.4.3
- mem8 6.0.1
- mflux-streamlit 0.0.3, 0.0.4
- openai-mcp 2.41.1, 2.41.2
- plataforma orquesta8 3.3.2
- kit de herramientas de tienda de fenopacket 0.1.7
- ppkt2synergy 0.1.1
- herramientas pyphetools 0.9.120
- servidor-ray-mcp 0.2.1
- rlask 3.1.7
- rsquests 2.34.3
- tiktoken-mcp 0.13.1, 0.13.2
- tarea 3.1.4
El nuevo clúster emplea un nuevo mecanismo de entrega de carga útil, por Socket, lo que indica que los actores de amenazas se están adaptando y experimentando activamente con diferentes métodos como parte de lo que se ha descrito como una «campaña de cadena de suministro de rápido movimiento».
Mientras que los paquetes anteriores utilizaban ganchos de inicio ejecutables .pth para iniciar Bun y ejecutar un ladrón de JavaScript ofuscado, el último conjunto incorpora diferentes enfoques:
- Extensiones .abi3.so nativas troyanizadas que ejecutan el ladrón cuando se importa el paquete
- Una variante del cargador de gancho de inicio .pth que busca en sys.path la carga útil «_index.js» en lugar de agrupar la carga útil en la misma rueda
«Esa última variante separa el cargador de la carga útil de JavaScript, lo que podría hacer que el paquete parezca menos malicioso durante el análisis estático», dijo Socket a The Hacker News.
Independientemente del método utilizado, el resultado final es el mismo. Una vez ejecutado, el malware se dirige a las estaciones de trabajo de los desarrolladores y a los entornos de CI/CD, recopilando secretos de alto valor y exfiltrándolos a un repositorio público de GitHub.
Una capacidad clave del paquete de bioinformática es su capacidad para descarrilar y eludir escáneres y copilotos de analistas impulsados por IA mediante una inyección rápida adversaria integrada dentro de un comentario de bloque de JavaScript, una característica detallada previamente por StepSecurity.
«La rama Hades de la actividad Shai-Hulud y Miasma se entiende mejor como una campaña de rápida cadena de suministro, no como un solo incidente de paquete», dijo el investigador de Socket Kirill Boychenko. «La variante langchain-core-mcp va más allá al instalar un cargador .pth que busca _index.js en sys.path, lo que significa que el cargador y la carga útil no necesitan vivir en la misma rueda».