La versión comprometida de jscrambler 8.14.0 npm elimina Rust Infostealer durante la instalación – CYBERDEFENSA.MX

El paquete jscrambler npm se vio comprometido y con solo instalar su versión 8.14.0 se ejecuta un robo de información en su máquina. Publicada el 11 de julio de 2026, la versión maliciosa incluye un gancho de preinstalación que coloca y ejecuta un binario nativo, uno para Windows, otro para macOS y otro para Linux.

Socket marcó el lanzamiento seis minutos después de su publicación. Si usted o uno de sus sistemas de compilación lo abrió en esa ventana, la carga útil ya se ejecutó con cualquier acceso que tuviera su proceso de instalación.

Nada de esto está en la versión anterior, 8.13.0. La diferencia del paquete muestra dos archivos nuevos en dist/: setup.js, un pequeño cargador e intro.js. A pesar del nombre, intro.js no es JavaScript sino un contenedor de aproximadamente 7,8 MB que contiene tres archivos binarios nativos comprimidos con gzip, uno para Linux, uno para Windows y otro para macOS.

Durante la instalación, setup.js elige el binario para el sistema operativo host, lo escribe con un nombre aleatorio en el directorio temporal del sistema, lo marca como ejecutable y lo inicia separado con su salida oculta.

Los archivos agregados están en el paquete publicado, pero en ninguna parte de la fuente pública de jscrambler. PasoSeguridad y SafeDep Ambos extrajeron y analizaron la versión, y ambos informan que no hay confirmación, etiqueta o solicitud de extracción coincidentes para 8.14.0 en el repositorio de GitHub.

Su última etiqueta sigue siendo 8.13.0. La versión se envió directamente a npm con una cuenta de mantenimiento legítima, sin pasar por el flujo de lanzamiento normal del proyecto. Eso apunta a una cuenta npm comprometida o una canalización de compilación. Cuál de los dos no ha sido establecido.

La carga útil es un ladrón de información de Rust, creado para las tres plataformas, que busca secretos en una máquina de desarrollador y los envía a un servidor directo a través de TLS, según el análisis actualizado de Socket y una declaración a The Hacker News.

Ciberseguridad

La lista de objetivos es amplia y está dirigida a desarrolladores: credenciales de nube de AWS, Azure y Google Cloud, incluidos los puntos finales de metadatos que utilizan los corredores de CI; billeteras de criptomonedas y frases iniciales de MetaMask, Phantom y Exodus; la bóveda del administrador de contraseñas de Bitwarden; contraseñas y cookies almacenadas en el navegador; y sesiones de Discord, Slack, Telegram y Steam.

También busca algo más nuevo: los archivos de configuración para herramientas de codificación de IA, incluidos Claude Desktop, Cursor, Windsurf, VS Code y Zed, donde tienden a ubicarse las claves API y las credenciales del servidor Model Context Protocol.

Los binarios hacen más que robar. En Linux, la carga útil vincula la biblioteca BPF del kernel y puede cargar un programa eBPF directamente en el kernel desde la memoria. Se trata de un punto de apoyo en el núcleo, no del acceso a archivos del espacio de usuario del que depende el resto del ladrón. Tanto StepSecurity como SafeDep señalaron la capacidad, aunque lo que hace el eBPF aún se está desmantelando.

Las compilaciones de Windows y macOS agregan comprobaciones antidepuración y el ladrón se conecta de forma persistente para sobrevivir a un reinicio: una tarea oculta programada de Windows configurada para reiniciarse cada minuto y un LaunchAgent de macOS que se recarga al iniciar sesión. Sus detalles de comando y control permanecen cifrados en el binario y nunca aparecen en el análisis estático.

El monitoreo del tiempo de ejecución de StepSecurity detectó que el binario caído llegaba a dos direcciones IP codificadas y a la infraestructura Tor, los primeros indicadores de red publicados para la campaña.

jscrambler es una herramienta en tiempo de compilación, que se instala como una dependencia de desarrollo o se ejecuta desde CI. Esos entornos contienen lo que recopila el ladrón: claves de nube, tokens de implementación y código fuente al que puede acceder un proceso de compilación o CI.

Fuente: Paso Seguridad

El paquete recibe alrededor de 15.800 descargas por semana y aún no se sabe cuántas extrajeron la versión comprometida. Esa es una huella mucho menor que la de los paquetes afectados en los grandes compromisos de npm del año pasado, que generan miles de millones de descargas por semana entre ellos.

Sin embargo, para un ladrón cuyo objetivo era construir máquinas, el alcance nunca fue el objetivo. El acceso es.

El gusano Shai-Hulud se ejecutó desde un gancho de instalación para robar tokens y distribuido a través de cientos de paquetes aquel septiembre. Los paquetes de tiza y depuración ampliamente utilizados fueron asumido a través de una cuenta de mantenedor phishing y se utiliza para redirigir pagos criptográficos.

En marzo, una cuenta secuestrada introdujo un troyano multiplataforma en Axios, una biblioteca HTTP con más de 83 millones de descargas semanales. Lo que hace que el momento sea preciso aquí es que npm acababa de moverse en contra de esta ruta exacta: NPM 12 se envió el 8 de julio, tres días antes de este lanzamiento, con los scripts de instalación de dependencias desactivados de forma predeterminada.

En npm 12, un enlace de preinstalación como este no se ejecuta a menos que alguien lo apruebe. Los clientes más antiguos todavía los ejecutan automáticamente.

Desde entonces, la versión 8.15.0 la reemplazó en la parte superior de lista de versiones de npmpublicado desde la misma cuenta de mantenedor y que no muestra ninguna de las alertas de malware activadas por 8.14.0: sin script de instalación, sin binario incluido. Pero la versión 8.14.0 no fue eliminada.

Ciberseguridad

Todavía está en npm, por lo que cualquier archivo de bloqueo o comando fijado en él sigue instalando el ladrón. Sólo se vio afectado el paquete CLI principal; Los complementos jscrambler para webpack, gulp, Metro y grunt se mantuvieron en sus versiones limpias de junio, sin ganchos de instalación.

Que hacer ahora

  1. Bájese de 8.14.0. Vaya a 8.15.0 o fije a 8.13.0 para obtener una versión anterior al incidente y borre jscrambler@8.14.0 de los archivos de bloqueo y cachés.
  2. Averigua si instalaste 8.14.0. Verifique los archivos de bloqueo y los registros del administrador de paquetes para jscrambler@8.14.0 y los registros de CI para cualquier ejecución de dist/setup.js, a partir del 11 de julio. El cargador coloca su carga útil bajo un nombre aleatorio en el directorio temporal, por lo que no hay un nombre binario fijo para buscar; En su lugar, alinee las marcas de tiempo de instalación con los procesos secundarios de Node y la ejecución del directorio temporal. En Windows, consulte el Programador de tareas para ver si hay tareas ocultas; en macOS, inspeccione ~/Library/LaunchAgents en busca de listas desconocidas.
  3. Si 8.14.0 se ejecutó en una máquina, trate todos los secretos a los que pueda acceder como robados, no simplemente expuestos. Rotar claves de nube, tokens de npm y GitHub, y claves de API de MCP y herramientas de IA; revocar sesiones de Discord, Slack, navegador y Bitwarden; y sacar cualquier criptomoneda de las billeteras en ese host. Bloquee las dos IP de comando y control que se enumeran a continuación.

La limpieza fue rápida, pero un ladrón hace su trabajo segundos después de la instalación. Una compilación anclada a 8.14.0, en un cliente anterior que ejecuta scripts de instalación, aún ejecuta la carga útil. Y en cualquier máquina que ya lo ejecutara, los secretos desaparecieron antes de que 8.15.0 llegara a la cima de la lista.

Indicadores de compromiso

Paquete malicioso: jscrambler@8.14.0. Hashes SHA-256 para los archivos agregados y sus cargas útiles descomprimidas:

  • dist/setup.js: a742de963f14a92d24ebcbc7b44ac867e23a20d31d1b0094a13a4f83287f4e60
  • dist/intro.js: a41a523ef9517aab37ed6eea0ec881821bdcb7aefcb5c5f603adc7907f868c86
  • Carga útil de Linux: fbbcf4d8f98168f78f5c0c47a9ae56d59ec8ac84a7c9ca6b797fedfb8d62d2bd
  • Carga útil de Windows: b7ca95d1b23c8e67416a25cedf741de0917c2096bbc9d24649eea7853d054903
  • Carga útil de macOS: c8fd47d36bdf7c825378593ab82ed8c24d1dc52e26b507812393e24e1d5201fd

Puntos finales de red StepSecurity observados en tiempo de ejecución. Las dos IP son los puntos finales del atacante directo; el binario también llega a la infraestructura Tor, probablemente para conectividad o enrutamiento:

  • IP C2: 37.27.122[.]124
  • IP C2: 57.128.246[.]79
  • Infraestructura Tor: check.torproject[.]org, archivo.torproject[.]organización

Artefactos en el host: un archivo oculto con nombre aleatorio en el directorio temporal del sistema, con el formato . {aleatorio} o . {random}.exe en Windows, además de una tarea programada oculta de Windows o un LaunchAgent de macOS para persistencia.

Consola Nx comprometida 18.95.0 dirigida a desarrolladores de código VS con ladrón de credenciales – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han detectado una versión comprometida de la extensión de la consola Nx que se publicó en el mercado de Microsoft Visual Studio Code (VS Code).

La extensión en cuestión es rwl.angular-consola (versión 18.95.0), una interfaz de usuario y complemento popular para editores de código como VS Code, Cursor y JetBrains. La extensión VS Code tiene más de 2,2 millones de instalaciones. La versión Open VSX no se ha visto afectada por el incidente.

«A los pocos segundos de que un desarrollador abriera cualquier espacio de trabajo, la extensión comprometida buscó y ejecutó silenciosamente una carga útil ofuscada de 498 KB de una confirmación huérfana oculta dentro del repositorio oficial de GitHub nrwl/nx», dijo el investigador de StepSecurity Ashish Kurmi. dicho.

La carga útil es una «herramienta de envenenamiento de la cadena de suministro y ladrón de credenciales de varias etapas» que recopila secretos de los desarrolladores y los filtra a través de HTTPS, la API de GitHub y el túnel DNS. También instala una puerta trasera de Python en sistemas macOS que abusa de la API de búsqueda de GitHub como un solucionador muerto para recibir más comandos.

En un aviso emitido el lunes, los mantenedores de la extensión dicho La causa raíz se remonta a uno de sus desarrolladores, cuya máquina se vio comprometida en un incidente de seguridad reciente que filtró sus credenciales de GitHub. Aunque no se reveló la naturaleza del «incidente» anterior, las credenciales del desarrollador han sido revocadas temporalmente.

Ciberseguridad

Se dice que se ha abusado del acceso proporcionado por las credenciales para enviar un compromiso huérfano y sin firmar a nrwl/nx, que introduce el malware ladrón. La acción maliciosa se activa tan pronto como un desarrollador abre cualquier espacio de trabajo en VS Code, lo que lleva a la instalación del tiempo de ejecución Bun JavaScript para ejecutar una carga útil «index.js» ofuscada.

El malware ejecuta comprobaciones para evitar infectar máquinas probablemente ubicadas en las zonas horarias de Rusia/CEI y se lanza como un proceso en segundo plano independiente para iniciar el flujo de trabajo de recolección de credenciales, lo que le permite recuperar secretos de las bóvedas de 1Password y las configuraciones de Anthropic Claude Code, y secretos asociados con npm, GitHub y Amazon Web Services (AWS).

«Una capacidad que se destaca: la carga útil contiene integración completa de Sigstore, incluida la emisión de certificados Fulcio y la generación de procedencia SLSA», dijo StepSecurity. «Combinado con tokens npm OIDC robados, esto significa que el atacante podría publicar paquetes npm posteriores con certificaciones de procedencia válidas y firmadas criptográficamente, haciendo que los paquetes maliciosos parezcan compilaciones legítimas y verificadas».

El equipo de Nx también reconoció que «algunos usuarios se vieron comprometidos» como resultado de esta infracción. Además de instar a los usuarios a actualizar a 18.100.0 o posterior, los mantenedores han publicado los siguientes indicadores de compromiso:

  • La versión 18.95.0 de Nx Console se instaló durante el período de exposición entre el 18 de mayo de 2026, a las 2:36 p. m. CEST y a las 2:47 p. m. CEST.
  • Presencia de archivos como ~/.local/share/kitty/cat.py, ~/Library/LaunchAgents/com.user.kitty-monitor.plist, /var/tmp/.gh_update_state o /tmp/kitty-*.
  • Presencia de cualquiera de los siguientes procesos en ejecución: un proceso de Python que ejecuta cat.py y un proceso con __DAEMONIZED=1 en su entorno.

Se recomienda a los usuarios afectados que finalicen los procesos antes mencionados, eliminen los artefactos en el disco y roten todas las credenciales accesibles desde la máquina afectada, incluidos tokens, secretos y claves SSH.

Este desarrollo marca la segunda vez que se ataca al ecosistema Nx en un año. En agosto de 2025, se lanzaron varios paquetes npm. infectado por un ladrón de credenciales como parte de una campaña de ataque a la cadena de suministro llamada s1ngularity. A diferencia de la iteración anterior, el último ataque tiene como objetivo la extensión VS Code.

Ciberseguridad

Paquetes npm maliciosos en abundancia

Los hallazgos coinciden con el descubrimiento de varios paquetes maliciosos en los repositorios de código abierto.

  • iceberg-javascript, supabase-javascript, auth-javascript, microsoft-applicationinsights-common y ms-graph-types: Cinco paquetes npm que contienen un binario ELF oculto que bloquea las sesiones de Claude Code para robar credenciales de desarrollador.
  • contratos de mediodía: un paquete npm que se hace pasar por un SDK de contrato inteligente de Noon Protocol para extraer claves SSH, claves privadas de billetera criptográfica, credenciales de AWS, secretos de Kubernetes, todos los archivos .env, historial de shell, tokens Docker/Git/npm y rutas de almacenamiento de billetera del navegador.
  • martinez-polígono-recorte-tonyuna bifurcación troyanizada de martinez-polygon-clipping que usa un gancho postinstalación para descargar un troyano de acceso remoto (RAT) de Windows empaquetado con PyInstaller de 17 MB que usa Telegram para comando y control (C2) para ejecución remota de shell, captura de pantalla, carga/descarga de archivos y ejecución arbitraria de Python.
  • servicio-tg-común: un paquete npm que contiene funcionalidad para hacerse cargo de la cuenta de Telegram de una víctima mientras se hace pasar por «servicio común de Telegram para aplicaciones NestJS».
  • exiosos: un paquete npm que incluye un ladrón de cookies de sesión ChatGPT y OpenAI dirigido a navegadores web como Google Chrome, Microsoft Edge y Brave.
  • k8s-pod-checker, dev-env-setup y node-perf-utils: tres paquetes npm parte del clúster kube-health-tools que instala un servicio proxy de modelo de lenguaje grande (LLM) en la máquina de la víctima, lo que permite al atacante enrutar el tráfico LLM a través del servidor comprometido
  • A campaña coordinada de recolección de credenciales orquestado por un actor de amenazas de habla indonesia que utiliza un conjunto de paquetes de 38 npm que aprovecha la confusión de dependencias como una forma de engañar a los canales de CI/CD para resolver paquetes públicos maliciosos antes que los privados legítimos asociados con Apple, Google y Alibaba, entre otros.
  • Una campaña inusual en la que siete paquetes npm bajo el @ organización del equipo hd Se ha descubierto que actúan como escenario de las configuraciones utilizadas por una plataforma china de apuestas deportivas y transmisión pirata llamada Douqiu para determinar los servidores backend a los que conectarse.
Mini Shai-Hulud impulsa paquetes maliciosos AntV npm a través de una cuenta de mantenimiento comprometida – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han descubierto una nueva campaña de ataque a la cadena de suministro de software que ha comprometido varios paquetes npm asociados con el ecosistema @antv como parte de la actual ola de ataques Mini Shai-Hulud.

«El ataque afecta a los paquetes vinculados a la cuenta de mantenimiento de npm, incluido echarts-for-react, un contenedor de React ampliamente utilizado para Apache ECharts con aproximadamente 1,1 millones de descargas semanales», Socket dicho.

La lista de paquetes afectados incluye paquetes @antv como @antv/g2, @antv/g6, @antv/x6, @antv/l7, @antv/s2, @antv/f2, @antv/g, @antv/g2plot, @antv/graphin y @antv/data-set, así como paquetes relacionados fuera del espacio de nombres @antv, incluidos echarts-for-react, timeago.js, sensor de tamaño, canvas-nest.js y otros.

La compañía de seguridad de aplicaciones dijo que el oficio coincide con Mini Shai-Hulud, donde se aprovecha una cuenta de mantenimiento comprometida para lanzar versiones troyanizadas en rápida sucesión.

El desarrollo se produce mientras la campaña de ataque a la cadena de suministro continúa deslizándose a través de la cadena de suministro de software, invadiendo rápidamente diferentes registros de código abierto e infectando cientos de paquetes de software al incorporar código de robo de credenciales en herramientas de desarrollo populares.

Ciberseguridad

«El radio de explosión potencial es significativo porque la cuenta de publicación afectada está conectada a paquetes ampliamente utilizados en visualización de datos, gráficos, mapeo, diagramas y ecosistemas de componentes de React», dijo Socket. «Incluso si sólo un subconjunto de esos paquetes recibió actualizaciones maliciosas, la popularidad del ecosistema de paquetes crea una exposición significativa para las organizaciones que automáticamente obtienen nuevas versiones de dependencia».

Se dice que el atacante publicó 639 versiones maliciosas en 323 paquetes únicos, incluidas 558 versiones en 279 paquetes @antv únicos. La carga útil del ladrón recopila más de 20 tipos de credenciales, Amazon Web Services, Google Cloud, Microsoft Azure, GitHub, npm, SSH, Kubernetes, Vault, Stripe, cadenas de conexión de bases de datos e intenta escapar del contenedor Docker a través del socket del host. El ladrón es idéntico a la carga útil Mini Shai-Hulud utilizada en el compromiso de SAP.

Los datos recopilados finalmente se serializan, comprimen, cifran y extraen al dominio («tm-kosche[.]com:443»). Como mecanismo alternativo, el malware aprovecha el token de GitHub robado para crear un repositorio público en la cuenta de la víctima y guardar los datos en un archivo JSON.

Los repositorios presentan la descripción «niagA oG eW ereH: duluH-iahS», que se invierte en «Shai-Hulud: Here We Go Again». Al momento de escribir este artículo, hay más de 2.500 repositorios en GitHub que contiene este marcador.

Marco Shai-Hulud

«Estos repositorios se crean utilizando tokens de GitHub robados de entornos CI/CD comprometidos», StepSecurity dicho. «El gran volumen, más de dos mil repositorios, proporciona un límite inferior en la cantidad de entornos únicos cuyas credenciales fueron exfiltradas con éxito. Si su token de GitHub estaba entre los robados, el atacante lo ha utilizado para crear al menos uno de estos repositorios bajo una cuenta que controla».

Además, el malware incorpora una lógica de propagación de npm que abusa de los tokens de npm robados para validarlos primero a través de la API de registro de npm, enumera los paquetes mantenidos por el propietario del token, descarga archivos tar de paquetes, inyecta la carga útil maliciosa, agrega un gancho de preinstalación, aumenta las versiones de los paquetes y los vuelve a publicar utilizando la identidad del mantenedor comprometido.

«El ataque utiliza dos rutas de ejecución», SafeDep dicho. «Cada versión comprometida agrega un gancho de preinstalación (bun run index.js). 630 de las 631 versiones maliciosas también inyectan una entrada de Dependencias opcional [pointing to imposter commits] que entrega una segunda copia de la carga útil a través del repositorio legítimo de antvis/G2 GitHub».

«La publicación de 22 minutos en 314 paquetes (631 versiones), con una carga útil ofuscada idéntica, descarta una operación gradual o dirigida. Esta fue una exfiltración rápida y automatizada utilizando un token robado».

Se considera que la campaña autorreplicante Mini Shai-Hulud es obra de un actor de amenazas con motivación financiera llamado TeamPCP. Sin embargo, a partir de la semana pasada, la actividad entró en una nueva fase agresiva después de TeamPCP. lanzó el código fuente completo para que otros actores de amenazas lo utilicen como parte de un concurso de ataque a la cadena de suministro anunciado en asociación con BreachForums.

Ciberseguridad

«La apertura de un marco ofensivo de producción no tiene precedentes, pero es inusual para una campaña activa», Datadog dicho. «Reduce la barrera para que otros actores adopten el manual de TeamPCP, incluidas las técnicas más sofisticadas como el abuso de tokens OIDC, la falsificación de procedencia y los ganchos de persistencia de herramientas de IA».

Desde entonces, un actor de amenazas desconocido ha subido cuatro paquetes npm maliciosos, uno de los cuales contiene una copia casi literal del gusano Shai-Hulud con su propia infraestructura de comando y control, una indicación de que versiones clonadas del gusano pueden infestar ecosistemas de código abierto.

Este ola imitadoraa su vez, complica los esfuerzos de atribución, mientras que los ataques continúan facilitando el robo de credenciales y abriendo la puerta a una explotación posterior. El incidente demuestra una vez más cómo se puede abusar de las herramientas comprometedoras que ya son confiables dentro de las redes empresariales como vehículos de distribución de malware. Lo que hace que la campaña sea realmente peligrosa es que un compromiso alimenta al siguiente, lo que resulta en un radio de explosión cada vez mayor a medida que se piratean más paquetes.

«Esta campaña está diseñada para el robo de credenciales a escala», Trend Micro dicho en un informe la semana pasada. «Organizaciones que utilizan GitHub Actions, PyPI, Docker Hub, GHCR [GitHub Container Registry]las extensiones de VS Code y los corredores de CI conectados a la nube están directamente expuestos a este riesgo».

CLI de Bitwarden comprometida en la campaña en curso de la cadena de suministro de Checkmarx – CYBERDEFENSA.MX

CLI de Bitwarden se ha visto comprometido como parte de la campaña de cadena de suministro Checkmarx recientemente descubierta y en curso, según nuevos hallazgos de JFrog y Socket.

«La versión del paquete afectado parece ser @bitwarden/cli@2026.4.0y el código malicioso se publicó en ‘bw1.js’, un archivo incluido en el contenido del paquete», dijo la empresa de seguridad de aplicaciones. dicho.

«El ataque parece haber aprovechado una GitHub Action comprometida en el proceso de CI/CD de Bitwarden, consistente con el patrón observado en otros repositorios afectados en esta campaña».

En una publicación en X, JFrog dicho la versión fraudulenta del paquete «roba tokens de GitHub/npm, .ssh, .env, historial de shell, acciones de GitHub y secretos de la nube, luego filtra los datos a dominios privados y a medida que GitHub se compromete».

Si bien la versión maliciosa ya no está disponible para descargar desde npm, Socket dijo que el compromiso sigue el mismo vector de cadena de suministro de GitHub Actions identificado en la campaña Checkmarx.

Ciberseguridad

Como parte del esfuerzo, se descubrió que los actores de amenazas abusan de tokens de GitHub robados para inyectar un nuevo flujo de trabajo de GitHub Actions que captura secretos disponibles para la ejecución del flujo de trabajo y utiliza credenciales npm recopiladas para enviar versiones maliciosas del paquete para leer el malware a los usuarios posteriores.

Según el investigador de seguridad Adnan Khan, se dice que el actor de amenazas utilizó un flujo de trabajo malicioso para publicar la CLI maliciosa de bitwarden. «Creo que esta es la primera vez que un paquete que utiliza la publicación confiable de NPM se ve comprometido», Khan agregado.

Cadena de ataque CLI de Bitwarden | Fuente: Seguridad OX

Se sospecha que el actor de amenazas conocido como TeamPCP está detrás del último ataque dirigido a Checkmarx. Al momento de escribir este artículo, TeamPCP La cuenta X ha sido suspendida. por violar las reglas de la plataforma.

OX Security, en un desglose del ataque, dicho identificó la cadena «Shai-Hulud: The Third Coming» en el paquete, lo que sugiere que esta es probablemente la siguiente fase de la campaña de ataque a la cadena de suministro que salió a la luz el año pasado.

Referencia al «Shai-Hulud: La Tercera Venida»

«El último incidente de Shai Hulud es sólo el último de una larga cadena de amenazas dirigidas a desarrolladores de todo el mundo. Los datos de los usuarios se están filtrando públicamente a GitHub, a menudo pasando desapercibidos porque las herramientas de seguridad normalmente no señalan los datos que se envían allí», dijo Moshe Siman Tov Bustan, líder del equipo de investigación de seguridad de OX Security.

«Esto hace que el riesgo sea significativamente más peligroso: cualquiera que busque en GitHub puede potencialmente encontrar y acceder a esas credenciales. En ese punto, los datos confidenciales ya no están en manos de un solo actor de amenazas, sino que están expuestos a cualquiera».

Cuando se le contactó para hacer comentarios, Bitwarden confirmó el incidente, pero enfatizó que no se accedió a datos del usuario final como parte del ataque. La declaración completa se reproduce textualmente a continuación:

El equipo de seguridad de Bitwarden identificó y contuvo un paquete malicioso que se distribuyó brevemente a través de la ruta de entrega npm para @bitwarden/cli@2026.4.0 entre las 5:57 p.m. y las 7:30 p.m. (ET) el 22 de abril de 2026, en relación con un incidente más amplio en la cadena de suministro de Checkmarx.

Ciberseguridad

La investigación no encontró evidencia de que se hubiera accedido a los datos de la bóveda del usuario final o que estuvieran en riesgo, o que los datos o sistemas de producción estuvieran comprometidos. Una vez que se detectó el problema, se revocó el acceso comprometido, la versión maliciosa de npm quedó obsoleta y se iniciaron medidas de reparación de inmediato.

El problema afectó el mecanismo de distribución de npm para la CLI durante esa ventana limitada, no la integridad del código base legítimo de la CLI de Bitwarden ni los datos almacenados de la bóveda.

Los usuarios que no descargaron el paquete de npm durante esa ventana no se vieron afectados. Bitwarden ha completado una revisión de los entornos internos, las rutas de lanzamiento y los sistemas relacionados, y no se han identificado productos o entornos afectados adicionales en este momento. Se está emitiendo un CVE para Bitwarden CLI versión 2026.4.0 en relación con este incidente.

(Esta es una historia en desarrollo. Consulte para obtener más detalles).

El ataque a la cadena de suministro de Axios impulsa RAT multiplataforma a través de una cuenta npm comprometida – CYBERDEFENSA.MX

El popular cliente HTTP conocido como axios ha sufrido un ataque a la cadena de suministro después de que dos versiones recientemente publicadas del paquete npm introdujeran una dependencia maliciosa.

Se ha descubierto que las versiones 1.14.1 y 0.30.4 de Axios inyectan «cripto-js simple» versión 4.2.1 como una dependencia falsa.

Según StepSecurity, las dos versiones fueron publicado utilizando las credenciales npm comprometidas del mantenedor principal de Axios («jasonsaayman»), lo que permite a los atacantes eludir la canalización CI/CD de GitHub Actions del proyecto.

«Su único propósito es ejecutar un script posterior a la instalación que actúa como un gotero de troyano de acceso remoto (RAT) multiplataforma, dirigido a macOS, Windows y Linux», dijo el investigador de seguridad Ashish Kurmi. dicho. «El dropper contacta con un servidor de comando y control en vivo y entrega cargas útiles de segunda etapa específicas de la plataforma. Después de la ejecución, el malware se elimina y reemplaza su propio paquete.json con una versión limpia para evadir la detección forense».

Los usuarios que tengan instaladas las versiones 1.14.1 o 0.30.4 de Axios deben rotar sus secretos y credenciales con efecto inmediato y bajar a una versión segura (1.14.0 o 0.30.3). Las versiones maliciosas, así como «plain-crypto-js», ya no están disponibles para descargar desde npm.

Con más de 83 millones de descargas semanales, Axios es uno de los clientes HTTP más utilizados en el ecosistema JavaScript en marcos frontend, servicios backend y aplicaciones empresariales.

Ciberseguridad

«Esto no fue oportunista», añadió Kurmi. «La dependencia maliciosa se organizó con 18 horas de anticipación. Se preconstruyeron tres cargas útiles separadas para tres sistemas operativos. Ambas ramas de lanzamiento fueron atacadas en 39 minutos. Cada rastro fue diseñado para autodestruirse».

La cronología del ataque es la siguiente:

  • 30 de marzo de 2026, 05:57 UTC: se publica una versión limpia del paquete «plain-crypto-js@4.2.0».
  • 30 de marzo de 2026, 23:59 UTC: se publica una nueva versión («plain-crypto-js@4.2.1») con la carga útil agregada.
  • 31 de marzo de 2026, 00:21 UTC: se publica una nueva versión de Axios («axios@1.14.1») que inyecta «plain-crypto-js@4.2.1» como una dependencia de tiempo de ejecución utilizando la cuenta comprometida «jasonsaayman».
  • 31 de marzo de 2026, 01:00 UTC: se publica una nueva versión de Axios («axios@0.30.4») que inyecta «plain-crypto-js@4.2.1» como una dependencia de tiempo de ejecución utilizando la cuenta comprometida «jasonsaayman».

Según StepSecurity, se dice que el actor de amenazas detrás de la campaña comprometió la cuenta npm de «jasonsaayman» y cambió su dirección de correo electrónico registrada a una dirección de Proton Mail bajo su control («ifstap@proton.me»). El «plain-crypto-js» fue publicado por un usuario de npm llamado «nrwise» con la dirección de correo electrónico «nrwise@proton.me».

Se cree que el atacante obtuvo un token de acceso npm clásico de larga duración para que la cuenta tomara el control y publicara directamente versiones envenenadas de Axios en el registro.

El malware incrustado, por su parte, se lanza a través de un dropper ofuscado de Node.js («setup.js») y está diseñado para ramificarse en una de las tres rutas de ataque basadas en el sistema operativo:

  • En macOS, ejecuta una carga útil AppleScript para recuperar un binario troyano de un servidor externo («sfrclak.com:8000»), guardarlo como «/Library/Caches/com.apple.act.mond», cambiar sus permisos para hacerlo ejecutable y ejecutarlo en segundo plano a través de /bin/zsh. El archivo AppleScript se elimina después de la ejecución para cubrir las pistas.
  • En Windows, localiza la ruta binaria de PowerShell, la copia en «%PROGRAMDATA%\wt.exe» (disfrazándola de la aplicación Terminal de Windows), escribe un script de Visual Basic (VBScript) en el directorio temporal y lo ejecuta. VBScript se pone en contacto con el mismo servidor para buscar un script PowerShell RAT y ejecutarlo. El archivo descargado se elimina.
  • En otras plataformas (por ejemplo, Linux), el dropper ejecuta un comando de shell a través de execSync de Node.js para recuperar un script Python RAT del mismo servidor y guardarlo en «/tmp/ld.py,» y ejecútelo en segundo plano usando el comando nohup.

«Cada plataforma envía un cuerpo POST distinto a la misma URL C2: paquetes.npm.org/product0 (macOS), paquetes.npm.org/product1 (Windows), paquetes.npm.org/product2 (Linux)», dijo StepSecurity. «Esto permite que el servidor C2 proporcione una carga útil apropiada para la plataforma en respuesta a un único punto final».

El binario de segunda etapa descargado para macOS es un RAT C++ que toma huellas digitales del sistema y envía señales a un servidor remoto cada 60 segundos para recuperar comandos para su posterior ejecución. Admite capacidades para ejecutar cargas útiles adicionales, ejecutar comandos de shell, enumerar el sistema de archivos y finalizar la RAT.

Una vez que se inicia la carga útil principal, el malware Node.js también toma medidas para realizar tres pasos de limpieza forense: eliminando el script postinstalación del directorio del paquete instalado, eliminando el «package.json», que hace referencia al gancho postinstalación para iniciar el cuentagotas, y cambiando el nombre de «package.md» a «package.json».

Vale la pena señalar que el archivo «package.md» está incluido en «plain-crypto-js» y es un manifiesto «package.json» limpio sin el gancho postinstalación que desencadena todo el ataque. Al cambiar los manifiestos del paquete, la idea es evitar generar señales de alerta durante la inspección posterior a la infección del paquete.

Ciberseguridad

«Ninguna versión maliciosa contiene una sola línea de código malicioso dentro del propio Axios», dijo StepSecurity. «En cambio, ambos inyectan una dependencia falsa, Plain-crypto-js@4.2.1, un paquete que nunca se importa a ninguna parte del código fuente de Axios, cuyo único propósito es ejecutar un script posterior a la instalación que implementa un troyano de acceso remoto multiplataforma (RAT)».

Se recomienda a los usuarios que realicen las siguientes acciones para determinar el compromiso:

  • Busque las versiones maliciosas de Axios.
  • Compruebe si hay artefactos RAT: «/Library/Caches/com.apple.act.mond» (macOS), «%PROGRAMDATA%\wt.exe» (Windows) y «/tmp/ld.py» (Linux).
  • Cambie a las versiones 1.14.0 o 0.30.3 de Axios.
  • Elimine «plain-crypto-js» del directorio «node_modules».
  • Si se detectan artefactos RAT, asuma un compromiso y rote todas las credenciales en el sistema.
  • Audite las canalizaciones de CI/CD en busca de ejecuciones que instalaron las versiones afectadas.
  • Bloquear el tráfico de salida al dominio de comando y control («sfrclak[.]es»)

Socket, en su propio análisis del ataque, dijo que identificó dos paquetes adicionales que distribuyen el mismo malware a través de dependencias proporcionadas:

En el caso de «@shadanai/openclaw», el paquete malicioso «plain-crypto-js» está incrustado en lo profundo de una ruta proporcionada. Por otro lado, «@qqbrowser/openclaw-qbot@0.0.130» incluye un «axios@1.14.1» manipulado en sus node_modules.

«El axios real tiene sólo tres dependencias (follow-redirects, form-data, proxy-from-env)», la empresa de seguridad de la cadena de suministro dicho. «La adición de Plain-crypto-js es una manipulación inequívoca. Cuando npm procesa este axios suministrado, instala Plain-crypto-js y activa la misma cadena de postinstalación maliciosa».