
Los mantenedores de sistemas de compilación NX advierten a los usuarios de ataques de la cadena de suministro para permitir a los atacantes exponer versiones maliciosas de los paquetes NPM populares y otros complementos auxiliares con capacidades de recopilación de datos.
«Las versiones maliciosas de los paquetes NX, junto con algunos paquetes de complementos de soporte, se publicarán a NPM, escanearán el sistema de archivos, recopilan credenciales y las publicarán en GitHub como repositorio bajo la cuenta del usuario», dijo el mantenedor en un aviso publicado el miércoles.
NX es una plataforma de compilación de código abierto e independiente de la tecnología diseñada para administrar su base de código. Se promociona como «plataforma de construcción de AI (integración continua) que conecta todo, desde editores hasta cis». El paquete NPM tiene más de 3.5 millones de descargas por semana.
A continuación se puede encontrar una lista de paquetes y versiones afectados a continuación. Estas versiones se eliminaron posteriormente del registro NPM. El compromiso del paquete NX se realizó el 26 de agosto de 2025.
Nx 21.5.0, 20.9.0, 20.10.0, 21.6.0, 20.11.0, 21.7.0, 21.8.0, 20.12.0 @nx/devkit 21.5.0, 20.9.0 @nx/enterprise cloud 3.2.0 @nx/eslint 21.5.0 @nx/js 21.5.0, 20.9.2.0 @nx/nx/21.0. @nx/workspace 21.5.0, 20.9.0
El mantenedor del proyecto dijo que la causa raíz de este problema se debió a un flujo de trabajo vulnerable que introdujo la capacidad de inyectar un código de ejecución utilizando un título creado específicamente en una solicitud de extracción (PR).

«El gatillo PULL_REQUEST_TARGET se usó como una forma de activar una acción para tomar cada vez que se creó o modificó un PR», dijo el equipo de NX. «Sin embargo, lo que se perdió es la advertencia de que este desencadenante ejecuta un flujo de trabajo más autorizado, a diferencia del gatillo Pull_request estándar, que incluye GitHub_Token que lee/escribe permisos de repositorio».
Se cree que GitHub_Token se ha utilizado para desencadenar el flujo de trabajo «Publish.yml», que es responsable del uso de tokens NPM para publicar paquetes NX en el registro.
Sin embargo, debido a que el flujo de trabajo de verificación de PR se ejecuta con altos privilegios, también introduce cambios maliciosos que han desencadenado el «flujo de trabajo Publish.yml» para que se ejecute en el repositorio «NRWL/NX», lo que permite al atacante excluir tokens NPM en el punto final del sitio web ().
«Como parte de la inyección de bash, el flujo de trabajo de verificación de PR provocó la ejecución de Publish.yml con este cometino malicioso y envió el token NPM a un webhook desconocido», explicó el equipo de NX. «Creo que así es como los usuarios obtuvieron los tokens NPM utilizados para exponer versiones maliciosas de NX».

En otras palabras, la falla de inyección permitió la ejecución de cualquier comando si se envió un título de relaciones públicas maliciosas, y el disparador Pull_request_Target otorgó el aumento de los permisos al proporcionar acceso a GitHub_Token de lectura/escritura al repositorio.
Descubrí que la versión Rogue del paquete contiene un script posterior a la instalación que se activó después de la instalación del paquete. Escanea el sistema para archivos de texto, recopila credenciales y envía la cadena codificada Base64 a un repositorio de GitHub publicado que incluye «S1ngularity-Repository» (o «S1ngularity-Repositor-0» «» «S1ngularity-Repository-ngi-propository-0» «» S1ngularity-Repository-ing-NGI-Repository-0 «» S1ngularity-Repository «y» S1ngularity-Repository «y» S1ngularity-Repository «y» S1ngularity-Repository «). Cuenta de usuario.
«El script Postinstall malicioso también cambiará los archivos .ZSHRC y .BASHRC que se ejecutan cada vez que se inicia el terminal, y cambiará -h 0 con sudown -h 0, solicite a un usuario con la contraseña del sistema y apagará la máquina de inmediato si se lo indica», agregó el mantenedor.
Desde entonces, Github ha comenzado a archivar estos repositorios, pero se alienta a los usuarios que se encuentran con el repositorio a comprometer y girar sus credenciales y tokens de GitHub y NPM. También se recomienda que los usuarios dejen de usar paquetes maliciosos y verifiquen y eliminen los archivos .ZSHRC y .BASHRC para obtener instrucciones desconocidas.

El equipo de NX dijo que han implementado una acción correctiva rotando los tokens NPM y GitHub, auditando las actividades de GitHub y NPM en toda la organización para actividades sospechosas y actualizando el acceso publicado de NX para requerir la autenticación de dos factores (2FA) o la automatización.
Los investigadores de Wiz Merav Bar y Rami McCarthy dijeron que el 90% de los más de 1,000 tokens github filtrados siguen siendo válidos, con docenas de credenciales de nube válidas y tokens NPM aún válidos. Se dice que el malware se ejecutó en máquinas de desarrolladores en muchos casos a través de NX Visual Studio Code Extensions. GitGuardian encontraron hasta 1.346 repositorios utilizando la cadena «S1ngularity-repository».
De los 2.349 secretos diferentes, la mayoría de ellos ocupan las claves de Github Oauth y los tokens de acceso personal (PATS), que luego describen las claves y credenciales de API para Google AI, OpenAi, Amazon Web Services, OpenRouter, Anthropic Claude, PostgreSQL y DataDog.

La compañía de seguridad en la nube descubrió que la carga útil solo podía ejecutarse en los sistemas Linux y MacOS, y buscó sistemáticamente archivos confidenciales y credenciales extraídas, claves SSH y archivos .gitConfig.
«En particular, la campaña ha instalado herramientas de AI CLI en sus armas robando el contenido de los archivos e instándolos con banderas peligrosas (-dangerally-skip-cermissions, -yolo, -trust-thod-tools) para explotar herramientas confiables para el reconocimiento malicioso», dice la compañía.
Stepecurity dijo que el incidente marcó el primer caso conocido en el que los atacantes convirtieron a asistentes de IA desarrolladores como Claude, Google Gemini y Amazon Q en herramientas para usar y pasar por alto la cadena de suministro de perímetro de seguridad tradicional.
«Hay algunas diferencias entre el malware en el paquete NX de alcance (es decir, @nx/devkit, @nx/eSlint) y el malware en el paquete NX», dijo Socket. «Primero, las indicaciones de IA son diferentes. Con estos paquetes, las indicaciones de IA son un poco más básicas. Este indicador de LLM tiene un alcance mucho más amplio, dirigido a las claves de Cryptowaret y patrones secretos, directorios específicos, pero el único de @NX toma archivos de texto interesantes».
Charlie Eriksen, de Aikido, dice que usar clientes de LLM como vectores para enumerar secretos en las máquinas de víctimas es un nuevo enfoque, que brinda a los defensores una idea de las instrucciones de que los atacantes se dirigen en el futuro.
«Dada la popularidad del ecosistema NX y la novedad del abuso de herramientas de IA, este incidente destaca el refinamiento en evolución de los ataques de la cadena de suministro», dijo Ashish Kurmi de Stepecurity. «La reparación inmediata es importante para aquellos que han instalado una versión comprometida».
Source link
