Un backdoor SSH en Claude Code expone hasta 5.000 usuarios de Cursor

Un backdoor SSH en Claude Code expone hasta 5.000 usuarios de Cursor

Incluso tras eliminar la versión infectada, pueden quedar en el equipo tareas maliciosas en segundo plano.

image

Una extensión para programación con IA se convirtió durante unas horas en una herramienta para instalar una puerta trasera. El 29 de octubre, en la tienda de Cursor se distribuía una versión suplantada de Anthropic.claude-code 2.1.313, que intentaba abrir acceso remoto a los equipos de los desarrolladores. La empresa confirmó que no más de 5000 usuarios estuvieron en riesgo. Anthropic no publicó la compilación maliciosa.

El paquete infectado estuvo disponible aproximadamente desde las 09:27 hasta las 20:35 UTC. Especialistas de StepSecurity detectaron en el archivo extension.js un cargador adicional integrado antes del código habitual de Claude Code. El script malicioso se ejecutaba al cargar la extensión, sin una orden adicional del usuario ni interacción con la IA. Aún no se ha establecido la causa de la suplantación del paquete oficial.

Al principio, el código recopilaba el nombre del equipo y del usuario, información sobre el sistema operativo, la arquitectura del procesador, las rutas de los directorios de trabajo, la dirección de correo electrónico de Git y la dirección IP externa. El informe también incluía los nombres de las variables de entorno, pero no sus valores. La información recopilada se enviaba al servidor del atacante mediante una solicitud HTTP por el puerto 8099.

La etapa siguiente consistía en añadir una clave SSH ajena a authorized_keys, iniciar un servidor SSH y crear un túnel inverso hacia el atacante. Tal túnel permitiría conectarse al equipo desde el exterior. Sin embargo, en la mayoría de los equipos con macOS y Windows el intento de habilitar SSH fallaba por falta de privilegios administrativos y errores en el código.

Un intento fallido de abrir el túnel no significaba que el programa malicioso no hubiera hecho nada. La clave ajena permanecía en la configuración de SSH, y para reconexiones se creaban tareas en segundo plano. En macOS se usaba LaunchAgent; en Windows, el programador de tareas o un script de inicio automático. Los intentos de conectarse al servidor se repetían aproximadamente una vez por minuto.

Cursor eliminó la versión peligrosa y desactivó temporalmente toda la tienda de extensiones. Tras comprobar el acceso, la empresa no encontró indicios de que otros paquetes hubieran sido modificados, cambió las claves, reconstruyó la plataforma y restauró su funcionamiento. Junto con el proveedor en la nube consiguieron desconectar el servidor del atacante, por lo que el túnel inverso y el envío de datos a la dirección anterior ya no funcionan.

Para comprobar la infección, Cursor recomienda buscar en el archivo authorized_keys una clave ajena con la etiqueta svc-telemetry. Eliminar la extensión por sí sola no es suficiente, ya que los scripts en segundo plano pueden continuar funcionando por sí mismos. La empresa publicó scripts de limpieza para macOS y Windows, y en caso de detectar indicios de ataque recomienda aislar el equipo y cambiar las credenciales accesibles desde él.

Anteriormente, el peligro de la suplantación de extensiones se había discutido en relación con las recomendaciones dentro de Cursor, pero entonces se hablaba de un escenario posible. En mayo ya se produjo otro compromiso de la extensión Nx Console en la tienda de VS Code. El caso actual afectó a una versión concreta de Claude Code y confirma el riesgo de un ataque a través de la cadena de suministro, aunque hasta ahora no hay información sobre conexiones SSH exitosas ni sobre una posterior compromisión.