Una extensión falsa de Claude Code se cuela en Cursor, hasta 5.000 instalaciones

Una extensión falsa de Claude Code se cuela en Cursor, hasta 5.000 instalaciones

El 29 de octubre, Cursor publicó un aviso de seguridad: en su mercado de extensiones de VS Code apareció una versión manipulada, la Anthropic.claude-code 2.1.313. No fue desarrollada por Anthropic y la descargaron como máximo unos 5.000 usuarios. Cursor ha retirado esa versión, llegó a cerrar todo el mercado de extensiones, rotó sus propias claves, lo reconstruyó y lo volvió a poner en línea, y dice que contactará uno por uno con los usuarios afectados.

Según los horarios del aviso, la versión maliciosa se podía descargar desde alrededor de las 2:27 de la madrugada (hora del Pacífico) de ese día y no se retiró hasta las 13:35, es decir, unas 11 horas después. Cursor afirma que, por ahora, no hay indicios de que se haya alterado la versión oficial ni otras extensiones del mercado.

Qué hace tras instalarse

Primero, la extensión recopila una tanda de datos del equipo: nombre del host, nombre de usuario, sistema operativo y arquitectura, ruta del directorio personal, nombres de las variables de entorno, directorio de trabajo actual, correo de Git e IP pública. Luego los envía mediante HTTP POST a la interfaz /beacon del puerto 8099 del servidor del atacante.

A continuación intenta dejar una puerta trasera duradera: escribe la clave pública SSH del atacante en authorized_keys, activa el servicio SSH local y levanta un túnel SSH inverso hacia el exterior. En macOS usa un LaunchAgent para la persistencia; en Windows intenta registrar una tarea programada como SYSTEM y, si falla, recurre a un script de inicio. Un script en segundo plano reintenta el túnel aproximadamente cada 60 segundos.

El código del atacante tiene defectos. A menos que Cursor se haya iniciado con permisos de administrador, el paso de crear el túnel suele fallar. Además, el proveedor de alojamiento ya ha dado de baja el servidor del atacante, por lo que ni el túnel ni el envío de datos pueden conectarse ahora. Cursor advierte de que un túnel que no se estableció no equivale a estar a salvo: la clave pública, los scripts de persistencia y los datos del equipo ya enviados pueden haber llegado a su destino.

"Uninstalling the extension may not be sufficient — the payload drops standalone persistence scripts that keep running." (Desinstalar la extensión puede no bastar: la carga deja scripts de persistencia independientes que siguen ejecutándose.)

Qué deben revisar los usuarios

El método de comprobación del aviso es bastante directo: mirar en la lista de claves SSH autorizadas si hay una clave pública llamada svc-telemetry; buscar en los registros de terminal, de red y de instalación de extensiones las IP, el puerto y los hashes de los dos archivos VSIX que indica (uno para macOS arm64 y otro para Windows x64). Los equipos con rastros de ejecución deben aislarse primero; después se usa el script oficial para eliminar claves, elementos de persistencia y procesos de túnel y, si hace falta, reinstalar.

El último paso es el que más fácilmente se pasa por alto: hay que cambiar todas las credenciales y sesiones a las que ese equipo tenía acceso, y hacerlo desde un ordenador limpio. Según Cursor, la extensión solo leyó los nombres de las variables de entorno, no sus valores, pero una vez abierta la puerta trasera, el atacante podría volver a por ellos más adelante.

Las herramientas de programación, en el punto de mira de la cadena de suministro

Si se mira el último año, los incidentes de cadena de suministro en torno a las herramientas de programación con IA no han cesado. Hemos informado del envenenamiento de LiteLLM 1.107.0, diseñado para robar claves de servicios de IA, y de una vulnerabilidad en un plugin de VS Code que provocó el robo de 3.800 repositorios de GitHub. Esta vez el atacante eligió el nombre Claude Code: tiene una base instalada enorme y los usuarios están acostumbrados a darle permisos de terminal y de archivos, de modo que suplantarlo resulta muy rentable.

Los editores derivados de VS Code, como Cursor y Windsurf, no pueden usar directamente el mercado oficial de extensiones de Microsoft; solo pueden conectarse a Open VSX o montar su propio canal de distribución, y los mecanismos de revisión y firma varían de una empresa a otra. Anthropic no ha respondido públicamente por ahora, y Cursor tampoco ha explicado cómo se publicó la versión falsa con la identidad del editor oficial. Mientras ese eslabón no se repare, otras extensiones populares podrían ser suplantadas de la misma manera.

Para los desarrolladores de China, hay bastantes usuarios de Cursor y también muchos equipos de redes internas de empresas con este tipo de editor instalado. Si actualizaste la extensión de Claude Code en torno al 29 de octubre, revisar los pasos anteriores cuesta muy poco.

Fuentes: aviso de seguridad de Cursor (para verificar el número de versión afectado, el periodo de descarga y el tope de 5.000 usuarios), CocoLoop, lista de indicadores de compromiso adjunta al aviso de Cursor (para verificar el puerto, el intervalo de reintento y los dos hashes de VSIX).