WeaselBiscuit convierte las importaciones de npm en un canal de robo de datos de extensiones de Chrome

13 paquetes npm distribuyen WeaselBiscuit, stealer que roba datos de extensiones de Chrome y ejecuta keylogger en Windows.

Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA

WeaselBiscuit convierte las importaciones de npm en un canal de robo de datos de extensiones de Chrome
Malware

Imagen ilustrativa generada con IA

Trece paquetes distribuyen un stealer no documentado hasta ahora

Investigadores de ciberseguridad han identificado recientemente 13 paquetes de npm que distribuyen WeaselBiscuit, un stealer de información JavaScript no documentado hasta ahora que ataca los datos de las extensiones de Chrome.

Los paquetes afectados son:

  • @biz44/id10-client
  • @biz44/id12-client
  • @biz44/id44-client
  • @biz44/id79-client
  • @biz44/id95-client
  • @biz44/id99-client
  • @biz44/process-runtime-utils
  • @biz44/runtime-utils
  • engin1
  • id79-client
  • process-lhpm
  • process-mite
  • process-tailwind

El código malicioso se activa cuando se importa uno de los paquetes afectados. Este comportamiento hace que la campaña sea relevante no solo para los desarrolladores que ejecutan herramientas desconocidas localmente, sino también para las organizaciones cuyos sistemas automatizados de compilación instalan y ejecutan dependencias de npm.

No se han divulgado las versiones exactas de los paquetes maliciosos. Tampoco se sabe si se han retirado todos los paquetes de npm, cuántas veces se descargaron ni cuántos sistemas se vieron comprometidos.

No se trata de una vulnerabilidad de software convencional. No se ha proporcionado ningún CVE, puntuación CVSS, parche del proveedor ni clasificación formal de gravedad. En su lugar, el incidente constituye un ataque a la cadena de suministro de software en el que los paquetes actúan como mecanismo inicial de distribución.

El loader recupera su payload desde Npoint

La cadena de infección comienza con un archivo llamado loader.js. Una vez ejecutado mediante la importación de un paquete, el loader contacta con una ubicación de entrega en Npoint, recupera el código principal de WeaselBiscuit y lo ejecuta directamente en memoria.

Npoint es un servicio en línea para almacenar y recuperar datos JSON. En esta campaña, proporciona una capa intermedia entre el sistema infectado y la configuración controlada por los atacantes, lo que permite a los operadores cambiar los detalles de distribución sin volver a publicar los paquetes de npm.

Después de iniciarse, WeaselBiscuit obtiene su configuración de comando y control desde una URL independiente de Npoint. A continuación, perfila el host y realiza comprobaciones anidadas de IP pública y geolocalización mediante api.ipify.org y ip-api.com.

El malware incluye un identificador numérico de campaña o instalación. Los investigadores observaron los valores 10, 12, 44, 79, 95 y 99, varios de los cuales aparecen directamente en nombres de paquetes como @biz44/id44-client e id79-client. OpenSourceMalware comparó este mecanismo con el método de etiquetado utilizado por PolinRider.

Uno de los endpoints de comando y control identificados es:

103.170.217[.]184:8787

La ejecución del payload principal en memoria puede reducir las evidencias disponibles para las herramientas de seguridad centradas principalmente en archivos ejecutables escritos recientemente. El paquete de npm, la actividad del loader, las conexiones de red y el comportamiento del runtime de JavaScript aún pueden ofrecer oportunidades de detección.

La base de datos de extensiones de Chrome es el objetivo principal

WeaselBiscuit busca información de extensiones de Chrome en Windows, macOS y Linux. Su rutina central de recopilación recorre el directorio Local Extension Settings de Chrome y sube todos los archivos que sean legibles y no estén vacíos.

Estos archivos forman bases de datos de pares clave-valor LevelDB sin procesar, utilizadas por las extensiones instaladas. Según la extensión, el contenido almacenado puede incluir el estado de la aplicación, información relacionada con cuentas, material de sesión, datos de configuración o información asociada a monederos de criptomonedas.

El stealer no parece analizar únicamente una lista predeterminada de extensiones de monederos. Su amplio método de recopilación de archivos captura, en cambio, el almacenamiento disponible de las extensiones y deja el análisis del contenido sustraído de LevelDB en manos de los operadores.

Esto genera una amenaza financiera sin necesidad de incluir código específico para vaciar monederos. Si una extensión de monedero conserva información sensible en el perfil del navegador afectado, los atacantes pueden obtener datos que faciliten el robo posterior de cuentas, la suplantación de identidad u otras actividades no autorizadas.

Las víctimas de Windows afrontan dos capacidades de recopilación adicionales. Los comandos enviados por el servidor C2 pueden activar:

  • Captura del portapapeles
  • Registro de pulsaciones de teclado

La monitorización del portapapeles podría exponer contraseñas, tokens, datos corporativos confidenciales o direcciones de criptomonedas copiadas por el usuario. El keylogging amplía el riesgo a la información introducida durante la infección, incluidas las credenciales que no estuvieran almacenadas previamente en Chrome.

Los hallazgos disponibles no especifican si estas funciones exclusivas de Windows se activaron en todos los hosts comprometidos.

El código similar no demuestra una operación norcoreana

WeaselBiscuit presenta características técnicas similares a las de BeaverTail y OtterCookie, malware asociado a la campaña Contagious Interview, vinculada a la RPDC. La coincidencia es significativa, pero no basta para establecer una atribución concluyente.

BeaverTail es un stealer y downloader multiplataforma utilizado contra desarrolladores de software, trabajadores del sector de TI y usuarios de criptomonedas. Está activo al menos desde finales de 2022 y puede facilitar la distribución de malware adicional como InvisibleFerret.

OtterCookie combina el robo de información con funciones de acceso remoto, incluida la capacidad de ejecutar comandos en un sistema infectado. NTT Security Holdings lo documentó públicamente por primera vez en diciembre de 2024.

WeaselBiscuit es más limitado que cualquiera de esas familias. Su código conocido no proporciona persistencia, acceso remoto general, funciones específicas para vaciar monederos de criptomonedas ni un mecanismo para desplegar payloads secundarios. Parece conservar determinadas técnicas de recopilación, pero descarta el conjunto más amplio de funciones posteriores al compromiso.

Según la investigación que describe la campaña de npm, los investigadores no encontraron vínculos decisivos relacionados con la infraestructura de los operadores, los perfiles de las víctimas, los metadatos de la campaña, la firma de código u otros materiales de firma.

No obstante, varios detalles son coherentes con actividades asociadas anteriormente a la RPDC. Entre ellos se encuentran el uso de Npoint, las consultas emparejadas de IP pública y geolocalización, las similitudes en el diseño del C2 con OtterCookie y unos identificadores numéricos parecidos a las etiquetas de PolinRider.

NVISO vinculó anteriormente Npoint con actividades de Contagious Interview en noviembre de 2025. Un diseño híbrido también tendría precedentes: en octubre de 2025, Cisco Talos informó de que el paquete de npm node-nvm-ssh parecía combinar elementos de BeaverTail y OtterCookie.

El operador responsable sigue sin conocerse.

Los desarrolladores y los sistemas de compilación afrontan la exposición inmediata

Las principales víctimas son las personas y organizaciones que importaron uno de los 13 paquetes. Los desarrolladores están especialmente expuestos porque sus estaciones de trabajo suelen contener credenciales de código fuente, tokens de registros de paquetes, sesiones en la nube y acceso privilegiado a sistemas internos.

Los entornos automatizados también están en riesgo. Una dependencia instalada en un worker de CI/CD podría ejecutarse durante una compilación, perfilar el host y establecer comunicaciones salientes, aunque el valor de la recopilación de extensiones de Chrome dependería de si existía un perfil del navegador en ese entorno.

Los usuarios de criptomonedas afrontan un riesgo financiero más directo porque WeaselBiscuit captura específicamente el almacenamiento de extensiones que podría pertenecer a monederos del navegador. Sin embargo, la presencia de datos de un monedero no demuestra por sí sola que se hayan sustraído fondos.

No se conoce el número de víctimas, el total de descargas ni la distribución geográfica. Los identificadores observados sugieren que los operadores diferenciaron entre instalaciones o segmentos de la campaña, pero no se ha establecido su significado exacto.

La contención exige revisar las dependencias y rotar los secretos

No existe ningún parche emitido por un proveedor ni una utilidad de limpieza específica. Las organizaciones deben tratar cualquier importación confirmada de los paquetes enumerados como un posible compromiso del endpoint, en lugar de limitarse a eliminar la dependencia y seguir utilizando el mismo entorno.

Los defensores deben buscar primero los 13 nombres de paquetes en los manifiestos de dependencias, lockfiles, cachés de npm, estaciones de trabajo de los desarrolladores y registros de compilación. Las aplicaciones afectadas deben recompilarse utilizando dependencias revisadas procedentes de fuentes confiables.

Las investigaciones de endpoints y red deben buscar:

  • Ejecución de loader.js
  • Actividad sospechosa de JavaScript en memoria
  • Acceso inesperado a Local Extension Settings de Chrome
  • Conexiones a endpoints de Npoint no aprobados
  • Tráfico relacionado con 103.170.217[.]184:8787
  • Consultas inexplicadas a api.ipify.org e ip-api.com
  • Acceso sospechoso al portapapeles o comportamiento de keylogging en Windows

Las credenciales, el material de sesión y otros secretos accesibles a través de un perfil de Chrome afectado deben rotarse. La información de las extensiones de monederos requiere una revisión independiente, ya que la respuesta adecuada depende de lo que almacenara la extensión y de los datos que pudieran haber quedado expuestos.

Los controles a largo plazo deben incluir listas de permitidos para npm, aplicación de lockfiles, comprobaciones de procedencia de los paquetes, entornos de compilación aislados y revisión de las dependencias incorporadas recientemente. Bloquear una única dirección de C2 no es suficiente: el uso de Npoint permite cambiar las ubicaciones de distribución y configuración sin alterar el diseño básico de los paquetes maliciosos.

Dosieres de seguridad

Lee también

Fuentes

Este artículo es una reelaboración original basada en las siguientes fuentes.

Temas relacionadosWeaselBiscuitmalware npmextensiones Chromerobo de datosciberseguridadcadena de suministro
Volver al inicio