Extensiones maliciosas de VS Code con 1,5 millones de descargas roban código …
Publicado el
Extensiones maliciosas de VS Code
Recientemente, se han identificado dos extensiones maliciosas para Microsoft Visual Studio Code (VS Code) que se presentan como asistentes de codificación impulsados por inteligencia artificial. Sin embargo, detrás de esta fachada se oculta una funcionalidad que permite el robo de datos de desarrolladores, dirigiendo la información a servidores ubicados en China.
Las extensiones en cuestión, que acumulan un total de 1,5 millones de instalaciones, son: - ChatGPT - 中文版 (ID: whensunset.chatgpt-china) - 1.340.869 instalaciones - ChatGPT - ChatMoss (CodeMoss) (ID: zhukunpeng.chat-moss) - 151.751 instalaciones
Según Koi Security, estas extensiones funcionan correctamente y ofrecen funcionalidades como autocompletado y explicaciones de errores de codificación. Sin embargo, también están diseñadas para capturar cada archivo abierto y cada modificación de código fuente, enviando esta información a servidores en China sin el conocimiento ni el consentimiento de los usuarios. Esta campaña ha recibido el nombre en clave de MaliciousCorgi.
El investigador de seguridad Tuval Admoni ha señalado que ambas extensiones contienen el mismo código malicioso, funcionando bajo diferentes nombres de publicador. La capacidad de estas herramientas para operar como se esperaría, sin levantar sospechas, constituye un riesgo considerable para los desarrolladores.
Mecanismo de exfiltración de datos
El código malicioso incrustado en las extensiones está diseñado para leer el contenido de cada archivo abierto, codificarlo en formato Base64 y enviarlo a un servidor en China, específicamente aihao123[.]cn. Esta actividad se activa con cada edición realizada por el usuario. Además, las extensiones poseen una característica de monitoreo en tiempo real, que puede ser activada de forma remota, permitiendo la exfiltración de hasta 50 archivos de trabajo.
El análisis de las extensiones revela la presencia de un iframe oculto de cero píxeles que carga cuatro kits de desarrollo de software (SDKs) de análisis comercial: Zhuge.io, GrowingIO, TalkingData y Baidu Analytics. Estas plataformas, todas de origen chino, son utilizadas para recopilar perfiles extensos de los usuarios.
Vulnerabilidades en gestores de paquetes JavaScript
La alerta sobre estas extensiones maliciosas coincide con el descubrimiento de seis vulnerabilidades de día cero en gestores de paquetes de JavaScript como npm, pnpm, vlt y Bun. Estas fallas, denominadas PackageGate, podrían ser explotadas para omitir controles de seguridad que impiden la ejecución automática de scripts durante la instalación de paquetes.
Defensas como la desactivación de scripts de ciclo de vida y el uso de archivos de bloqueo se han vuelto cruciales para combatir ataques a la cadena de suministro. Sin embargo, Koi Security ha encontrado formas de eludir la ejecución de scripts y las comprobaciones de integridad de los archivos de bloqueo en estos gestores.
Tras una divulgación responsable, se han abordado estos problemas en las versiones actualizadas de pnpm, vlt y Bun. No obstante, npm ha optado por no corregir la vulnerabilidad, alegando que los usuarios son responsables de verificar el contenido de los paquetes que instalan.
GitHub, por su parte, ha indicado que está trabajando activamente para gestionar esta nueva amenaza y recomendó a los proyectos adoptar la publicación confiable y tokens de acceso granulares con autenticación de dos factores (2FA) para asegurar la cadena de suministro de software.
En conclusión, el uso de extensiones y paquetes no verificados puede suponer un grave riesgo para la seguridad de los desarrolladores. Se aconseja a los usuarios que mantengan la precaución y sigan las mejores prácticas para proteger su código y datos.