Investigadores de ciberseguridad han descubierto dos paquetes npm secuestrados y un grupo de paquetes Go que están diseñados para implementar un ladrón de información basado en Python en hosts comprometidos de Windows, Linux y macOS.
«Este ataque evita las rutas de ejecución de npm más comunes a través de scripts de ciclo de vida, tal vez en un intento de seguir siendo 'compatible' con los refuerzos de seguridad de npm v12», JFrog dicho en un análisis técnico.
«El paquete oculta la ejecución dentro de una tarea de VS Code, configurada para ejecutarse automáticamente cuando se abre la carpeta del proyecto en VS Code. Desde allí, el malware recupera JavaScript cifrado de los datos de transacciones de blockchain, se conecta a la infraestructura controlada por el atacante, lanza una puerta trasera socket.io y, finalmente, implementa un ladrón de información de Python.
Los nombres de los paquetes npm identificados se enumeran a continuación:
- HTML a Gutenberg
- fetch-page-assets (que enumera html-to-gutenberg como una dependencia)
Los dos paquetes se cargaron en npm el 25 de mayo de 2026 y ya no están disponibles para descargar desde el registro. El punto de partida del ataque es una tarea oculta de Microsoft Visual Studio Code (VS Code) llamada «eslint-check» que está configurada con la opción «runOn: 'folderOpen'» para activar la ejecución de código arbitrario cuando la carpeta se abre como una carpeta de espacio de trabajo en un IDE como VS Code o Cursor.
«No ejecutan recursivamente cada .vscode/tasks.json anidado; en este caso, el disparador se activa cuando el directorio del paquete malicioso se abre como espacio de trabajo y se marca como confiable, o cuando el desarrollador permitió explícitamente tareas automáticas», dijo JFrog. «El comando también disfraza la carga útil como un archivo de fuente: public/fonts/fa-solid-400.woff2, aunque el archivo solo contiene código JavaScript».
Vale la pena señalar que el El abuso de una tarea de ejecución automática de VS Code, junto con el disfraz de malware JavaScript como archivos de fuentes, se ha atribuido a Corea del Norte. El equipo de OpenSourceMalware, que está rastreando la actividad bajo el nombre de Fake Font, lo ha descrito como una variante de Entrevista contagiosauna campaña de larga duración dirigida a desarrolladores de software y personal técnico a través de procesos fraudulentos de entrevistas de trabajo.
«Esta campaña 'Fake Font' ofrece un cargador de múltiples etapas que finalmente implementa la puerta trasera InvisibleFerret Python, diseñada para robar billeteras de criptomonedas, credenciales de navegador y establecer acceso persistente», dijo el investigador de seguridad Paul McCarty. anotado allá por enero. «Esta es la tercera subcampaña de la campaña 'Entrevista Contagiosa' que ha estado en curso desde 2023».
El archivo de fuente falso utiliza la infraestructura blockchain como un solucionador de entrega muerta, confiando en TronGrid y Aptos como mecanismo alternativo para recuperar una carga útil de JavaScript de la siguiente etapa de una manera que sea resistente a los esfuerzos de eliminación. La etapa de JavaScript repite el mismo patrón de recuperación de punto muerto para configurar un servidor de comando y control (C2) que permite la carga de archivos y la entrega de malware Python.
Esto incluye la configuración de una puerta trasera Socket.io que otorga al operador control remoto sobre el host infectado a través de funciones como ejecución de shell, recolección del portapapeles, operaciones del sistema de archivos, carga de archivos, gestión de procesos y ejecución arbitraria de JavaScript.
En paralelo, la cadena de infección lanza un componente del cargador de Python que es responsable de recuperar el ladrón de información de Python del servidor C2 e instalar las dependencias necesarias. El artefacto es un ladrón de credenciales, navegadores, billeteras y artefactos de desarrollador de amplio alcance que puede desviar datos almacenados en navegadores, administradores de contraseñas, autenticadores y billeteras de criptomonedas basados en Chromium y Mozilla Firefox.
También está equipado para recopilar información orientada al desarrollador, como credenciales de Git, GitHub CLI hosts.yml, registros de GitHub Desktop, VS Code y almacenamiento global, así como datos de Windows Credential Manager, Linux Secret Service, KDE Wallet, macOS Keychain y metadatos de almacenamiento en la nube para Dropbox, Google Drive, Microsoft OneDrive, Apple iCloud, Box, Mega y pCloud.
En la etapa final, los datos recopilados se empaquetan en archivos ZIP comprimidos y se cargan en el servidor C2 y en un bot de Telegram si el atacante proporciona un token de bot durante el tiempo de ejecución.
La campaña también se ha dirigido al ecosistema Go, con Nextron Systems descubriendo un conjunto de 16 paquetes Go que contienen el mismo malware. La lista es la siguiente:
- github.com/lambda-platform/lambda
- github.com/reauheau/goaubio
- github.com/glacialspring/go-winsparkle
- github.com/bm-197/chill
- github.com/naol7/dist-task-scheduler
- github.com/anatoli-derese/a2sv-excercise
- github.com/amantsehay/a2sv-go-course
- github.com/dexbotsdev/uniswap-v2-v3-arbitrage
- github.com/lambda-platform/ebarimt-rest-api
- github.com/lambda-platform/dan
- github.com/zainirfan13/graphql-client
- github.com/hngi/team-fierce-backend-golang
- github.com/glacialspring/static
- github.com/rickt/slack-weather-bot
- github.com/Barsu5489/commerce
- github.com/Setsu548/Logística
«La mayoría parecen ser paquetes legítimos cuya última versión lanzada incluía el malware junto con el contenido del paquete original, utilizando la misma estructura y el mismo archivo de fuente falso», añadió JFrog.
Se recomienda a los usuarios que hayan instalado los paquetes que los eliminen con efecto inmediato, busquen en las máquinas de los desarrolladores tareas ocultas de apertura de carpetas de VS Code y roten credenciales, tokens, credenciales de la nube, claves API, credenciales almacenadas en el navegador y credenciales de billetera.
«Las cargas útiles muestran que el atacante estaba interesado tanto en el robo inmediato como en el acceso interactivo», concluyó la empresa de ciberseguridad. «La puerta trasera basada en socket.io proporciona ejecución de comandos y recopilación de archivos, mientras que la etapa Python realiza una amplia recolección de credenciales y billeteras en navegadores, almacenes de credenciales de sistemas operativos, herramientas de desarrollo y aplicaciones de criptomonedas».





