La Amenaza que Explota las Tareas de Visual Studio Code para Ejecutar Código Remoto

Publicada 5 min de lectura 156 lecturas

Hace semanas que los investigadores de seguridad vienen observando una variación inquietante en las técnicas de los grupos ligados a Corea del Norte: en lugar de recurrir solo a correos de phishing clásicos o a exploits web, están explotando el flujo de trabajo cotidiano de los desarrolladores. La treta consiste en convencer a ingenieros —sobre todo los que trabajan en criptomoneda, blockchain y finanzas— de clonar un repositorio y abrir el proyecto en Visual Studio Code, con el gancho de un supuesto ejercicio técnico o una oferta laboral. Si la víctima confía en el repositorio y abre el proyecto, se activa una cadena que puede terminar entregando un backdoor con capacidades de ejecución remota.

El mecanismo central del ataque son los ficheros de configuración de tareas de VS Code (tasks.json), que pueden configurarse para ejecutarse automáticamente cuando se abre la carpeta del proyecto. Esa opción —usada legítimamente para automatizar tareas de desarrollo— está siendo abusada para orquestar descargas y ejecución de código JavaScript ofuscado alojado en servicios externos como dominios en Vercel. Investigaciones públicas y reportes técnicos han documentado cómo esa misma táctica ha servido para desplegar familias de malware como BeaverTail (capa Node.js) e InvisibleFerret (capa Python), además de mineros y backdoors conocidos por el ecosistema de amenazas.

La Amenaza que Explota las Tareas de Visual Studio Code para Ejecutar Código Remoto
Imagen generada con IA.

Los análisis iniciales, publicados por grupos como OpenSourceMalware y ampliados por firmas como Jamf, muestran una evolución constante: cuando el proyecto se abre en VS Code, la aplicación solicita al usuario que indique si confía en el autor del repositorio; si se concede esa confianza, VS Code procesa automáticamente tasks.json y puede ejecutar comandos arbitrarios en la máquina. En macOS, por ejemplo, se ha visto cómo la cadena de ejecución se lanza en segundo plano —empleando herramientas estándar del sistema— para recuperar y ejecutar un payload JavaScript con Node.js, permitiendo que el proceso continúe incluso si el editor se cierra.

El JavaScript remoto actúa como implante principal: crea un bucle persistente que recoge información básica del equipo, hace fingerprinting y mantiene comunicación continua con un servidor de comando y control, lo que habilita la ejecución remota de código. En algunos incidentes se detectó que minutos después de la infección inicial se descargaban instrucciones adicionales que beaconéan al servidor cada pocos segundos, ejecutan más código y, ante la orden del operador, limpian rastros para dificultar la investigación. Los investigadores incluso han apuntado a indicios de uso de herramientas de inteligencia artificial para generar partes del código, por la presencia de comentarios inline y cierto estilo de redacción en el JavaScript.

Además de la técnica principal, los actores han preparado rutas de reserva para maximizar su tasa de éxito. Si la tarea de VS Code no logra recuperar el payload desde Vercel, el repositorio puede ocultar droppers sofisticados dentro de archivos que aparentan ser inofensivos —por ejemplo, “diccionarios” para corrección ortográfica— que igualmente contienen JavaScript ofuscado. En otros casos se ofrece la instalación de una dependencia npm maliciosa (se ha identificado el paquete grayavatar en análisis públicos) o la descarga de un controlador Node.js que a su vez lanza módulos para registrar pulsaciones, capturar pantallas, buscar archivos sensibles en el directorio del usuario, suplantar direcciones de cartera copiadas al portapapeles y extraer credenciales de navegadores. Paralelamente, los atacantes preparan un entorno Python que facilita minería de criptomoneda con XMRig, despliegue de herramientas de acceso remoto y exfiltración de datos.

Investigaciones complementarias han documentado variantes con nombres y componentes distintos: equipos como Red Asgard han analizado repositorios que distribuyen un backdoor llamado Tsunami (también conocido como TsunamiKit) junto a un minero XMRig, mientras que otros informes técnicos han descrito cómo los atacantes abordan a víctimas vía redes profesionales como LinkedIn para enviar enlaces a pruebas técnicas que apuntan a repositorios maliciosos, explotando la confianza profesional.

Detrás de estas operaciones están actores vinculados al régimen norcoreano, que históricamente han puesto el foco en especialistas en software con acceso a infraestructuras financieras y claves digitales. El beneficio para el grupo atacante es claro: acceder a código fuente, secretos, cuentas y, en muchos casos, mover o robar activos digitales. La variación y multiplicidad de los vectores observados sugiere una estrategia deliberada de experimentar con distintas técnicas para aumentar la probabilidad de compromiso y, por ende, la capacidad de financiamiento de sus operaciones.

La Amenaza que Explota las Tareas de Visual Studio Code para Ejecutar Código Remoto
Imagen generada con IA.

Estas campañas son también una lección sobre cómo las herramientas legítimas para desarrolladores pueden convertirse en vectores de ataque cuando se confía ciegamente en contenido externo. Visual Studio Code ofrece funciones pensadas para ahorrar tiempo, pero esa automatización puede volverse peligrosa si no se aplican controles y buenas prácticas. Si quieres profundizar en cómo funcionan las tareas de VS Code, la documentación oficial es un buen punto de partida: Documentación de tasks en Visual Studio Code.

Para quienes trabajan en desarrollo o administran equipos técnicos, la recomendación es clara: no otorgar confianza automática a repositorios desconocidos, revisar cualquier tasks.json antes de permitir su ejecución y tratar con cautela dependencias externas. Las organizaciones deberían complementar estas medidas con controles de red que bloqueen dominios sospechosos, políticas de ejecución restrictivas para entornos de desarrollo y herramientas de detección que puedan identificar comportamientos de beaconing, persistencia y minería. Los informes y análisis públicos de grupos como Jamf, Red Asgard y Security Alliance ofrecen detalles técnicos útiles para defensores que quieran comprender y mitigar estas amenazas; puedes consultar sus publicaciones para ampliar la lectura: Jamf, Red Asgard y Security Alliance.

En definitiva, la amenaza no es solo técnica sino cultural: confiar en repositorios y ejercicios técnicos sin verificar su procedencia es una vulnerabilidad humana que los atacantes explotan con creatividad. La buena noticia es que, al contrario de las brechas por vulnerabilidades de día cero, este abuso se gestiona mejor con políticas y prácticas de higiene digital: inspeccionar, cuestionar y limitar la ejecución automática en el entorno de desarrollo puede evitar que una entrevista o un reto académico se conviertan en la puerta de entrada para un backdoor persistente.

Cobertura

Relacionadas

Mas noticias del mismo tema.