
Los investigadores de ciberseguridad descubrieron dos paquetes npm secuestrados y un grupo de paquetes Go diseñados para implementar un ladrón de información basado en Python en hosts comprometidos de Windows, Linux y macOS.
«Este ataque elude la ruta de ejecución de npm más común a través de scripts de ciclo de vida, presumiblemente para mantener la ‘compatibilidad’ con las mejoras de seguridad de npm v12», dijo JFrog en un análisis técnico.
«El paquete oculta su ejecución dentro de una tarea de VS Code y está configurado para ejecutarse automáticamente cuando se abre la carpeta del proyecto en VS Code. A partir de ahí, el malware obtiene JavaScript cifrado de los datos de transacciones de blockchain, se conecta a la infraestructura controlada por el atacante, inicia la 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-to-gutenberg fetch-page-assets (enumera html-to-gutenberg como una dependencia)
Los dos paquetes se cargaron en npm el 25 de mayo de 2026, pero actualmente 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’. Esta tarea está configurada con la opción «runOn: ‘folderOpen'», que desencadena la ejecución de código arbitrario cuando se abre una carpeta como una carpeta de espacio de trabajo en un IDE como VS Code o Cursor.
«No todos los .vscode/tasks.jsons anidados se ejecutan recursivamente; en este caso, el disparador se activa cuando el directorio del paquete malicioso se abre como un espacio de trabajo y se marca como confiable, o cuando el desarrollador permite explícitamente tareas automatizadas», dijo JFrog. «Este comando disfraza la carga útil como el archivo de fuente public/fonts/fa-solid-400.woff2, aunque el archivo solo contiene código JavaScript».
Vale la pena señalar que se cree que Corea del Norte es responsable de explotar las tareas de ejecución automática de VS Code y disfrazar el malware JavaScript como archivos de fuentes. El equipo de OpenSourceMalware, que rastrea la actividad bajo el sobrenombre de Fake Font, la describe como una variante de Contagious Interview, una campaña de larga duración dirigida a desarrolladores e ingenieros de software a través de procesos fraudulentos de entrevistas de trabajo.

«Esta campaña de ‘fuentes falsas’ proporciona en última instancia un cargador de múltiples etapas que implementa la puerta trasera InvisibleFerret Python diseñada para robar billeteras de criptomonedas y credenciales de navegador y establecer un acceso persistente», señaló el investigador de seguridad Paul McCarty en enero. “Esta es la tercera subcampaña de la campaña ‘Entrevistas Contagiosas’, que se lleva a cabo desde 2023”.
El archivo de fuente falso utiliza la infraestructura blockchain como un solucionador de caídas muertas y se basa en TronGrid y Aptos como mecanismos alternativos para recuperar la carga útil de JavaScript de la siguiente etapa de una manera que sobreviva 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 permite a los operadores controlar de forma remota los hosts infectados a través de funciones como ejecución de shell, recopilación del portapapeles, manipulación del sistema de archivos, carga de archivos, gestión de procesos y ejecución arbitraria de JavaScript.
Paralelamente, 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. Este artefacto roba una amplia gama de credenciales, navegadores, billeteras y artefactos de desarrollador, y puede desviar datos almacenados en navegadores, administradores de contraseñas, autenticadores y billeteras de criptomonedas basados en Chromium y Mozilla Firefox.
También tiene la capacidad de recopilar información del desarrollador, como credenciales de Git, hosts.yml de la CLI de GitHub, registros de escritorio de GitHub, código VS y almacenamiento global. También puede recopilar datos de Windows Credential Manager, Linux Secret Service, KDE Wallet, macOS Keychain y metadatos de almacenamiento en la nube de Dropbox, Google Drive, Microsoft OneDrive, Apple iCloud, Box, Mega y pCloud.
En la etapa final, los datos recopilados se empaquetan en un archivo ZIP comprimido y se cargan en el servidor C2. También se cargará en el bot de Telegram si el atacante proporciona un token de bot en tiempo de ejecución.
La campaña también se centró en el ecosistema Go y Nextron Systems descubrió un conjunto de 16 paquetes Go que contenían 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/Logistic
«La mayoría parecían ser paquetes legítimos, y sus últimas versiones lanzadas contenían malware junto con el contenido del paquete original, utilizando la misma estructura y archivos de fuentes falsos», añadió JFrog.
Recomendamos que los usuarios que instalaron el paquete lo eliminen inmediatamente, busquen la tarea Abrir carpeta de código VS oculta en la máquina del desarrollador y roten las credenciales, tokens, credenciales de la nube, claves API, credenciales guardadas en el navegador y credenciales de billetera.
«La carga útil indica que los atacantes estaban interesados tanto en el robo instantáneo como en el acceso interactivo», concluyó la firma 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 extensa recopilación de credenciales y billeteras en navegadores, almacenes de credenciales de sistemas operativos, herramientas de desarrollo y aplicaciones de criptomonedas».
Source link
