Extensión Claude Code en Cursor: detectar y eliminar el backdoor

Determina si tu equipo recibió la extensión Claude Code modificada desde el catálogo de Cursor. Revisa las versiones, el periodo de instalación, las claves SSH y la persistencia. Ejecuta los scripts oficiales con los permisos correctos, comprueba sus resultados y revoca las credenciales accesibles antes de reinstalar desde una fuente verificada.

Índice
Extensión Claude Code en Cursor: detectar y eliminar el backdoor

Si instalaste la extensión Claude Code 2.1.312 o 2.1.313 mediante Cursor durante el periodo afectado, revisa el equipo antes de seguir trabajando. Aísla los equipos con indicadores maliciosos y elimina los componentes del backdoor. Desde un dispositivo de confianza, revoca y reemplaza las credenciales accesibles desde los equipos afectados. Actualizar la extensión no elimina los mecanismos que permiten que el backdoor vuelva a iniciarse.

¿Está afectado mi equipo? Comprueba origen, versión, plataforma y fecha

Investiga si tu instalación coincide con estos datos o si encuentras un indicador, independientemente de cuándo se instaló. A fecha de 2026-11-02, el aviso de seguridad de Cursor delimita así el incidente:

Qué comprobarAlcance comunicado
ExtensiónAnthropic.claude-code, distribuida mediante Cursor VS Code Extension Marketplace
VersionesCopias modificadas de 2.1.312 y 2.1.313
PlataformasmacOS y Windows
Periodo de instalación o actualizaciónAproximadamente 02:27–13:35 PDT del 2026-10-29
Mismo periodo en UTCAproximadamente 09:27–20:35 UTC del 2026-10-29

Cursor afirma que Anthropic no desarrolló estos paquetes modificados. Incluye las actualizaciones automáticas en la revisión. La versión instalada ahora puede ser distinta de la que había durante el incidente.

Mantén cerrada cualquier instalación de Cursor sospechosa. Consulta los registros de instalación o inspecciona los metadatos de la extensión en el disco, incluido package.json, sin cargarla. Anota la versión, la plataforma, el origen y la hora de instalación.

No uses claude --version para comprobar la extensión. La documentación de Anthropic explica que esta incluye su propia CLI, o interfaz de línea de comandos. El terminal puede ejecutar otra instalación independiente.

El análisis independiente de Microsoft confirma que las distribuciones de Microsoft Visual Studio Marketplace y npm no se vieron afectadas por este incidente. El número de versión no basta para distinguir un paquete auténtico de una copia modificada.

Linux requiere una evaluación aparte. El análisis de Phorion identifica código para Linux, pero Cursor solo confirma la distribución afectada para macOS y Windows. Investiga los componentes coincidentes en Linux. No des por confirmada su distribución allí ni ejecutes el script de limpieza de macOS.

Ejecuta las comprobaciones oficiales de claves SSH

Ejecuta la comprobación para la cuenta afectada y contrasta el resultado con las pruebas de instalación y persistencia. El mensaje que indica una coincidencia es svc-telemetry key found.

Estos son los comandos publicados por Cursor. Su mensaje negativo no demuestra que el equipo nunca estuviera afectado.

macOS: Bash

Ejecuta este comando en un terminal como el usuario afectado:

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

El comando busca un comentario concreto en un único archivo. Su opción -s también oculta los mensajes de archivos inexistentes y errores de lectura. Si no puedes leer el archivo, investiga la causa antes de interpretar el resultado negativo como prueba de seguridad.

Windows: PowerShell

Ejecuta la comprobación de Cursor sobre el perfil del usuario afectado:

$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" }

Resuelve los errores de acceso al comprobar el archivo compartido de administradores. Si elevas los permisos con otra cuenta, el valor de $HOME será distinto. Comprueba también el perfil afectado original.

Si encuentras el marcador, aísla el equipo y verifica la clave. Cursor publica esta huella de la clave que autoriza el acceso del atacante:

SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk

En macOS, este comando de OpenSSH para consultar huellas permite comparar las entradas sin modificar el archivo:

ssh-keygen -lf "$HOME/.ssh/authorized_keys" -E sha256

Compara el contenido de la clave con el aviso si falla el análisis del archivo o los comentarios son distintos. Los scripts de limpieza contemplan que la clave maliciosa se haya añadido a una línea existente. No borres toda la línea coincidente sin revisarla: también puede contener una clave legítima.

Comprueba la persistencia y conserva las pruebas

Revisa los archivos y las acciones de inicio siguientes antes de considerar limpio el equipo. Son indicadores que debes investigar, no nombres que debas borrar indiscriminadamente.

ÁreaIndicadores del aviso de Cursor
Archivos de macOS~/.config/.smt, ~/.config/.smtk, ~/Library/LaunchAgents/com.apple.sysmond.plist
Inicio en macOSLaunchAgent con la etiqueta com.apple.sysmond
Archivos de Windows%USERPROFILE%\.config\smt.cmd, %USERPROFILE%\.config\smtk
Inicio en WindowsTarea programada SysMon; alternativa: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
Archivos temporales$TMPDIR/.stk_<10 hex> en macOS; %TEMP%\.stk_<10 hex> en Windows
RedConexiones a 134[.]209[.]82[.]225, incluido SSH por TCP 22 y HTTP /beacon en el puerto 8099

El sufijo <10 hex> describe un patrón de nombre de archivo; los signos de ángulo no forman parte del nombre. Antes de eliminar un elemento de inicio, inspecciona la acción que tiene configurada y sus archivos asociados.

En los equipos de una organización, conserva el paquete de la extensión, los archivos de claves relevantes, la configuración de inicio y los registros del equipo. Sigue el procedimiento de respuesta a incidentes. Aísla los equipos con pruebas de ejecución del código malicioso o instalación del backdoor; cerrar el editor no elimina los scripts independientes.

Phorion descubrió que el código inyectado se ejecuta cuando Node carga el módulo, antes de la función activate habitual de la extensión. No hace falta enviar una petición a Claude para que se ejecute.

Cursor informa de que el servidor del atacante fue desconectado. Eso interrumpe la conexión descrita, pero no elimina los componentes locales. Que no se haya podido habilitar SSH tampoco descarta la clave añadida, los archivos de persistencia o la recopilación de información del equipo.

Ejecuta el script de limpieza de Cursor y comprueba sus límites

Usa el script enlazado desde el aviso de Cursor después de conservar las pruebas necesarias. Revisa el archivo descargado antes de ejecutarlo y cierra primero los editores.

Los scripts actúan sobre los directorios modificados de la extensión, los procesos del túnel, los archivos creados, la persistencia y la clave del atacante. Revoca las credenciales API por separado y revisa la actividad del equipo más allá de los resultados de limpieza.

Limpieza en macOS

Descarga el script de limpieza de Cursor para macOS. Ejecútalo desde la carpeta donde lo guardaste, con cada usuario afectado y sin sudo:

bash remediate-macos.sh
echo "Exit status: $?"

El script rechaza la ejecución como root. Actúa sobre el LaunchAgent com.apple.sysmond, los procesos y archivos coincidentes, y los paquetes de la extensión que contienen svc-telemetry. Elimina el texto exacto de la clave del atacante.

Limpieza en Windows

Descarga el script de limpieza de Cursor para Windows. Abre PowerShell con permisos de administrador mediante Run as Administrator y ejecútalo desde la carpeta donde lo guardaste:

powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1
$LASTEXITCODE

El script recorre los perfiles de usuario registrados. Actúa sobre la acción maliciosa de la tarea, los procesos coincidentes, los directorios de extensiones, los archivos creados y las claves autorizadas de esos perfiles.

Tras la limpieza, vuelve a comprobar por separado C:\ProgramData\ssh\administrators_authorized_keys, si existe. Si contiene la clave del atacante, pide a un administrador que elimine la entrada no autorizada exacta y conserve las claves legítimas.

Un código de salida distinto de cero o un mensaje incomplete requieren seguimiento. Resuelve los fallos indicados y repite la comprobación correspondiente.

El código 0 significa que el script no comunicó ninguna condición pendiente entre las que comprueba. Revisa las ubicaciones personalizadas de extensiones con los indicadores publicados. Comprueba por separado la configuración del servicio SSH local y confirma que coincide con la que necesitas.

Mantén el equipo aislado si reaparecen los componentes, detectas accesos SSH inesperados o no puedes explicar la actividad posterior. Antes de devolverle credenciales, pide al equipo de respuesta a incidentes que valore si es necesario reconstruir el sistema.

Revoca y reemplaza las credenciales accesibles desde el equipo afectado

Revoca las credenciales expuestas desde un dispositivo de confianza, incluidas las que no estén relacionadas con Claude Code. No guardes las nuevas en el equipo afectado hasta terminar la limpieza o reconstrucción.

Cursor describe la recopilación de nombres de variables de entorno. Eso no demuestra el robo de sus valores. La recomendación de cambiar credenciales también contempla un posible acceso posterior mediante el backdoor.

Usa este inventario para asignar responsables y registrar qué se ha completado:

CredencialAcción necesaria
Claves API de AnthropicEn la página de claves API de Claude Console, abre el menú de la clave afectada, selecciona Delete API key y crea otra.
Claves API de OpenAIElimina las claves afectadas desde el panel de claves API, crea otras y revisa el uso en busca de actividad inesperada.
Tokens de plataformas GitRevoca los tokens de acceso personal y otras credenciales accesibles en el servicio que los emitió. Actualiza las automatizaciones legítimas con las nuevas credenciales.
Claves SSH del clienteReemplaza las claves privadas potencialmente expuestas y elimina las autorizaciones de sus antiguas claves públicas en las plataformas Git y demás servidores.
Credenciales de servicios en la nubeRevoca las claves de acceso expuestas y atiende por separado las sesiones temporales. Revisa los recursos no autorizados, los cambios de acceso y el uso.
Sesiones de cuentasRevoca las sesiones afectadas del navegador, CLI e inicio de sesión único (SSO) mediante el servicio correspondiente o su administrador de identidad.

Las instrucciones de Anthropic para claves comprometidas documentan los controles de eliminación y creación de claves. La guía de seguridad de OpenAI explica la eliminación de claves API y la revisión del uso.

En GitHub, elimina los tokens afectados desde la configuración de tokens de acceso personal. Revisa por separado las claves SSH y las sesiones activas.

Para AWS, sigue la respuesta ante una clave de acceso expuesta. Para las sesiones de roles, consulta las instrucciones específicas sobre credenciales temporales.

Incluye las claves de las pasarelas API en el mismo inventario. Si usaste BetterToken, incluye su clave API. Su consola permite crear claves; crear una sustituta no revoca por sí solo la credencial expuesta. Confirma la revocación con el servicio emisor antes de dar por completado el cambio.

Eliminar svc-telemetry del equipo no revoca tus propias claves privadas SSH en los servicios remotos. Borrar un valor de la configuración local tampoco invalida la clave API original.

Para una recuperación más amplia, sigue la lista de revocación de credenciales y auditoría. Verifica la revocación en el servicio emisor, actualiza las aplicaciones legítimas y confirma que las peticiones previstas funcionan desde un entorno de confianza.

Reinstala desde una fuente verificada después de la recuperación

Instala una versión actual de una fuente fiable después de la limpieza o en un equipo reconstruido. En su anuncio del incidente, Cursor pidió actualizar a 2.1.314. Esa es la versión indicada en la recomendación de este incidente.

Accede a la ficha correcta de la extensión desde la página de instalación de Anthropic. Confirma el publicador, el identificador Anthropic.claude-code, el registro de origen y la versión instalada. La vista Extensions muestra la versión de la extensión después de instalarla.

Vuelve a comprobar los indicadores publicados tras iniciar sesión o reiniciar. Si reaparece la persistencia, deja de usar el equipo y reabre la investigación.

La instalación para el terminal utiliza un paquete separado. La guía de instalación y primer uso de Claude Code ayuda a verificar esa instalación, pero no limpia un equipo ya afectado.

Verifica el origen de las extensiones antes de volver a instalarlas

Comprueba el enlace de instalación del proveedor y el registro real antes de confiar en un nombre conocido. Anota el publicador, el identificador, la versión, la plataforma y el origen de descarga de los paquetes aprobados.

La documentación de extensiones de Cursor advierte de que un mismo nombre publisher.extension puede corresponder a publicadores distintos o a código diferente según el registro.

Al comparar hashes, usa el mismo tipo de archivo, plataforma y versión. No puedes comparar el hash de un paquete VSIX con el de extension.js. Que no coincida con un hash malicioso conocido no demuestra su autenticidad.

A fecha de 2026-11-02, Cursor documenta Marketplace Install Cooldown (hours) para propietarios y administradores de equipos. Los equipos Enterprise también pueden exigir firmas válidas de extensiones Open VSX antes de la instalación.

Combina estos controles con la revisión de las instrucciones de los agentes y la configuración descargada. La auditoría de AGENTS.md y la configuración de Claude Code aborda esa otra fuente de instrucciones que pueden ejecutarse.

¿Quieres optimizar tu flujo de trabajo con LLM?

Conecta modelos mediante una API, gestiona claves y controla el gasto en IA.

Empezar gratis