Una versión troyanizada de la extensión Claude Code llegó al marketplace de Cursor con una puerta trasera SSH
Una compilación manipulada de la extensión oficial Claude Code para VS Code, desarrollada por Anthropic, se distribuyó a usuarios de Cursor IDE como una actualización rutinaria el 29 de octubre de 2026. El paquete llevaba el identificador legítimo de la extensión y el nombre del publicador real, y justamente por eso pasó desapercibido: para cualquiera con actualizaciones automáticas activadas, nada parecía fuera de lugar.
Qué ocurrió
La versión maliciosa se etiquetó como 2.1.313 y solo estuvo disponible a través del marketplace de extensiones de Cursor. Cursor afirma que como máximo 5.000 usuarios la instalaron durante una ventana de unas once horas el 29 de octubre, tras lo cual el paquete fue retirado y el marketplace se desconectó temporalmente para su limpieza. Cursor está contactando directamente a los usuarios afectados.
No hay indicios de que la compilación maliciosa llegara a Open VSX ni al Marketplace oficial de VS Code de Microsoft. Los usuarios que instalaron Claude Code desde cualquiera de esas fuentes no se consideran afectados. Anthropic ya ha publicado la versión 2.1.314 en ambos registros oficiales.
Todavía no se ha explicado cómo lograron los atacantes publicar bajo la identidad legítima. El comunicado de Cursor insiste en que la compilación no fue desarrollada por Anthropic, pero eso sirve de poco consuelo: el problema es precisamente que, en el momento de la instalación, era indistinguible de la auténtica.
Qué hace la versión manipulada
Se antepuso un pequeño cargador al bundle principal de JavaScript de la extensión. Se ejecuta en silencio cuando la extensión se activa, oculta sus propios errores y después deja que la extensión genuina se cargue, de modo que el usuario no nota nada.
Sus objetivos son simples y peligrosos:
- Acceso por puerta trasera. Planta una clave pública controlada por el atacante en el archivo de claves SSH autorizadas del usuario, disfrazada con una etiqueta que parece una cuenta de servicio de telemetría.
- Alcance remoto. Intenta habilitar el servicio SSH local y abrir un túnel saliente hacia la infraestructura del atacante, para que el operador llegue a la máquina incluso detrás de un NAT.
- Persistencia. Instala un mecanismo de arranque específico para Windows, Linux y macOS, de forma que el túnel vuelva tras un reinicio.
- Reconocimiento. Envía un perfil del equipo por HTTP sin cifrar: IP pública, nombre de host, usuario local, sistema operativo y CPU, directorios de trabajo, el correo global de Git y los nombres de hasta 40 variables de entorno que parecen credenciales (KEY, TOKEN, SECRET, PASS, AWS, GCP).
Los valores de las variables de entorno no se incluyen en ese primer beacon. Sin embargo, solo los nombres ya revelan qué proveedores cloud, sistemas de CI y tipos de credenciales están configurados en el equipo, y una sesión SSH operativa permitiría leerlo todo de todos modos.
En la mayoría de equipos macOS y Windows, el paso que activa el servicio SSH requiere permisos de administrador que la extensión no tiene, así que la vía de acceso interactivo falla ahí. La clave, la persistencia y el perfil del equipo se dejan igualmente. Hasta ahora no se ha observado ninguna carga de segunda etapa.
Por qué importa
Las estaciones de trabajo de los desarrolladores son el objetivo más blando y más valioso de la mayoría de organizaciones. Contienen credenciales cloud, claves de firma, código fuente y acceso SSH a producción. Una extensión de IDE se ejecuta con todos los permisos del desarrollador, y los marketplaces se consideran de confianza por defecto. Una actualización envenenada de una herramienta con decenas de millones de descargas es un mecanismo de entrega tan eficiente como un atacante pueda desear.
El incidente llega pocos días después de otro ataque a la cadena de suministro contra una herramienta de desarrollo, en el que los binarios ya publicados de una CLI cloud popular fueron sustituidos silenciosamente por un ladrón de credenciales. El patrón es claro: los atacantes apuntan a la infraestructura en la que confían los desarrolladores, no a las aplicaciones que construyen.
Qué hacer
Si usa Cursor y tenía Claude Code instalado el 29 de octubre de 2026, trate la máquina como comprometida hasta que se demuestre lo contrario:
- Compruebe la versión instalada. Cualquier instalación que indique 2.1.313 es maliciosa. Actualice a 2.1.314 o posterior desde una fuente oficial.
- Revise las claves SSH autorizadas de todos los usuarios del equipo y elimine cualquier entrada que no haya añadido usted, sobre todo si lleva un comentario de tipo telemetría.
- Busque persistencia: tareas programadas inesperadas en Windows, nuevas entradas de cron en Linux y LaunchAgents desconocidos en macOS. Elimine cualquier túnel SSH saliente que generen.
- Rote los secretos accesibles desde esa estación: claves cloud, tokens de API, credenciales de Git, cookies de sesión y cualquier cosa referenciada en variables de entorno.
- Revise las conexiones salientes del equipo afectado durante la ventana de exposición y busque tráfico SSH o HTTP inesperado hacia servidores desconocidos.
- Replantee las actualizaciones automáticas de extensiones de IDE en máquinas con acceso a sistemas de producción, o fije las versiones y revise los cambios antes de aplicarlos.
Las credenciales recolectadas en equipos de desarrolladores rara vez se quedan en privado. Se comercian, se empaquetan y se revenden, a menudo semanas después de la intrusión inicial. El servicio de monitorización de la Deep/Dark Web de 4tify vigila exactamente este tipo de identidades y material de acceso de desarrolladores filtrados, para que un token expuesto o un correo de Git aparezca como una alerta para su equipo y no como una sorpresa en manos ajenas.
