Instaló un complemento y perdió todas sus criptomonedas; una sola casilla en la tienda de extensiones puede arruinar una carrera.

Instaló un complemento y perdió todas sus criptomonedas; una sola casilla en la tienda de extensiones puede arruinar una carrera.

Cibercriminales aprovecharon extensiones obsoletas de VS Code para instalar software espía

image

Una actualización silenciosa de una extensión antigua para Visual Studio Code resultó en un ataque contra desarrolladores de proyectos blockchain. De forma simultánea, tres extensiones de IoliteLabs para trabajar con Solidity recibieron de repente código malicioso y empezaron a descargar archivos externos en Windows y macOS sin que se notara. Para muchos usuarios la trampa parecía convincente: las extensiones existían desde 2018, llevaban tiempo en la tienda y ya acumulaban decenas de miles de instalaciones.

Especialistas de StepSecurity descubrieron que el 25 de marzo de 2026 las extensiones solidity-macos, solidity-windows y solidity-linux se actualizaron simultáneamente a la versión 0.1.8. Hasta ese momento los proyectos no habían cambiado en casi ocho años. En conjunto las tres extensiones sumaban alrededor de 27 500 instalaciones, por lo que los desarrolladores no sospecharon. La suplantación parecía una actualización habitual de un editor conocido, aunque todo indica que la cuenta de IoliteLabs fue comprometida.

El ataque se dirigió sobre todo a desarrolladores de contratos inteligentes y proyectos Web3. La razón es simple: en los ordenadores de trabajo de esos especialistas suelen guardarse claves privadas, frases semilla, datos de monederos, claves de acceso a servicios en la nube y tokens para despliegues automáticos. El robo de esos datos puede provocar pérdidas financieras directas.

El código malicioso no estaba en el archivo principal de la extensión, sino dentro de una copia modificada de la biblioteca pako, que se usa normalmente para comprimir datos. Ese recurso dificulta la verificación, porque a primera vista el archivo principal parece inofensivo. Los atacantes además ofuscaron el código de varias maneras: ocultaron cadenas en hexadecimal, dividieron comandos en partes, añadieron cálculos sin sentido y suprimieron señales evidentes de lógica maliciosa.

Tras iniciar Visual Studio Code la extensión infectada se ejecutaba automáticamente en cada arranque del editor. No era necesario abrir un archivo Solidity para que se activara. En Windows la extensión descargaba un archivo por lotes desde el dominio rraghh.com y luego obtenía un instalador desde otro dominio, oortt.com. En macOS se usó la dirección cdn.rraghh.com, desde donde se descargaban scripts y archivos binarios separados para equipos Intel y Apple Silicon.

En Windows la cadena terminaba con la instalación de una biblioteca disfrazada de actualización de Chrome. En el sistema aparecían rastros con los nombres ChromeUpdate y ntuser, y para la ejecución se empleaba regsvr32, la utilidad estándar de Windows. Por los nombres de las funciones exportadas, los especialistas sospechan que la biblioteca podría espiar la entrada del teclado, el portapapeles y otras acciones del usuario.

En macOS el esquema era aún más complejo. El script malicioso creaba un archivo oculto .system_updater, registraba un arranque persistente mediante LaunchAgent con el nombre com.apple.system.updater y quitaba la etiqueta de cuarentena a los archivos descargados. Esa medida permitía eludir la comprobación integrada de Gatekeeper y ejecutar binarios sin advertencias. Tras iniciar sesión en el sistema el componente malicioso se ejecutaba de nuevo.

Los nombres de las extensiones sugerían una separación por plataformas, pero la carga maliciosa real funcionaba solo en Windows y macOS. En la versión para Linux los especialistas no encontraron código que ejecutara un proceso malicioso separado. Aun así, la extensión contenía la biblioteca modificada y parecía parte de la misma campaña.

Otro signo preocupante está en el código fuente. El repositorio público de GitHub asociado con la extensión no contiene cambios nuevos para la versión 0.1.8. Los últimos commits allí datan de 2018. Resulta que la actualización llegó a la tienda de Visual Studio Code directamente, sin cambios visibles en el repositorio abierto. Esa brecha entre la tienda y las fuentes suelen indicar no una actualización legítima, sino el compromiso de la cuenta del desarrollador.

Según StepSecurity, la versión maliciosa convirtió esencialmente las extensiones antiguas en una carcasa vacía. Se eliminaron las funciones previas para trabajar con Solidity y en su lugar dejaron varios fragmentos de código que solo mostraban mensajes emergentes. La verdadera tarea de las extensiones era una: descargar y ejecutar de forma silenciosa componentes maliciosos.

A los usuarios que tuvieran instaladas las extensiones de IoliteLabs se les recomienda eliminar de inmediato las versiones 0.1.8, comprobar el sistema en busca de rastros de infección y considerar la máquina de trabajo comprometida si la extensión se ejecutó después del 25 de marzo de 2026. Tras la revisión es urgente cambiar todas las credenciales que pudieran almacenarse en el dispositivo: claves de monedero, datos de acceso a GitHub, npm, plataformas en la nube y otros servicios.