Ir al contenido

IA

Una versión maliciosa de la extensión de Claude Code estuvo 11 horas en Cursor: cómo saber si te afecta

Entre la mañana y la noche del jueves 29, la tienda de extensiones de Cursor sirvió una versión manipulada de la extensión oficial de Claude Code que intentaba abrir una puerta trasera en el ordenador. Afecta a Windows y macOS. Te contamos cómo comprobarlo en un minuto y qué hacer si das positivo.

Por Redacción 4 min de lectura

Cursor, el editor de código con IA basado en VS Code, ha publicado un aviso de seguridad: su tienda de extensiones distribuyó durante unas once horas una versión manipulada de la extensión de Claude Code, el asistente de programación de Anthropic. Cursor dice que esas versiones no las hizo Anthropic. Según Ars Technica, se publicaron desde la cuenta oficial de Anthropic en la tienda de Cursor, y Cursor calcula que afectó a como mucho 5.000 usuarios.

Lo que no ha explicado nadie es cómo consiguieron publicar con esa cuenta. El viernes por la tarde, según Ars Technica, Anthropic todavía no había avisado a sus clientes.

A quién afecta

Según Cursor, te afecta si instalaste o actualizaste Anthropic.claude-code a las versiones 2.1.312 o 2.1.313, desde la tienda de extensiones de Cursor, en Windows o macOS, entre las 2:27 y las 13:35 hora del Pacífico del 29 de octubre. En hora peninsular española, de 10:27 a 21:35 del jueves.

Hay un detalle que lo hace más serio: las extensiones de Cursor se actualizan solas por defecto, como explica a Ars el cofundador de Phorion, una de las empresas que analizaron el código. O sea, puedes estar afectado sin haber tocado nada. Si tenías Cursor abierto ese jueves con la extensión de Claude Code, compruébalo.

Según BleepingComputer, la versión maliciosa solo la sirvió Cursor: ni el Marketplace de VS Code, ni Open VSX, ni npm. Cursor dice que no tiene pruebas de que otras versiones de la extensión ni la distribución oficial de Claude Code estén afectadas.

Qué hacía

La extensión llevaba un trozo de código añadido al principio que se ejecutaba al cargarse, sin que usaras Claude Code. Según Cursor:

  • Enviaba al atacante datos del equipo: nombre del ordenador, usuario, sistema, carpetas de trabajo, el correo configurado en Git, la IP pública y los nombres de las variables de entorno (no su contenido).
  • Añadía una clave SSH del atacante, etiquetada svc-telemetry, a tus claves autorizadas, e intentaba encender el servicio SSH y abrir un túnel hacia su servidor.
  • Se quedaba instalada para arrancar sola (un LaunchAgent en macOS, una tarea programada o un script de inicio en Windows) y reintentaba el túnel cada minuto más o menos.

La parte de abrir el acceso falló casi siempre: encender SSH necesita permisos de administrador y, por errores en el propio código, no lo conseguía salvo que Cursor se hubiera abierto como administrador. Además, el servidor del atacante ya está apagado. Pero la clave sí se queda puesta y los scripts siguen ahí aunque desinstales la extensión, así que no basta con actualizarla.

Cómo comprobarlo

Cursor da una línea para cada sistema. Solo busca la clave del atacante en tus claves SSH autorizadas, no cambia nada.

En macOS, en el Terminal:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

En Windows, en PowerShell:

$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }; if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }

Si sale «No key found», estás fuera. Si sale «svc-telemetry key found», el equipo está afectado.

Si das positivo

  1. Desconecta el equipo de la red mientras lo limpias.
  2. Descarga y ejecuta el script de limpieza de Cursor para tu sistema, que está en su aviso: en macOS se ejecuta como tu usuario, no como root; en Windows, desde PowerShell abierto como administrador. Quita la extensión, la clave, los arranques automáticos y los túneles. Si queda algo, termina con error.
  3. Desde otro ordenador de confianza, cambia las contraseñas, claves de API y tokens que hubiera en ese equipo, y cierra las sesiones abiertas. Que el código solo enviara los nombres de las variables no quita que el atacante pudiera entrar después.
  4. Valora reinstalar el equipo desde una copia de seguridad limpia, sobre todo si es de trabajo.

Lo que nos deja

No es la primera vez que una extensión de editor se convierte en la puerta de entrada, y no será la última: corren con los permisos del editor, que tiene acceso a tu código, tus claves y tu terminal. Lo nuevo aquí es que llegó por la cuenta oficial de una empresa grande y por actualización automática, que es justo lo que solemos recomendar tener activado.

No vamos a decir que apagues las actualizaciones automáticas: en general protegen más de lo que exponen. Pero en un equipo de trabajo con claves de producción sí tiene sentido revisar qué extensiones tienes, quitar las que no usas y, si te lo puedes permitir, actualizar las críticas a mano unos días después. En VS Code se cambia con la opción extensions.autoUpdate; Cursor, al estar basado en él, tiene un ajuste equivalente.

Hace unos días contamos otro caso de ataque contra programadores que usan IA: el del archivo AGENTS.md en la carpeta de descargas.

Sigue leyendo