El 29 de octubre, el marketplace de extensiones de Cursor distribuyó copias manipuladas de la extensión de Claude Code. El código añadido intentaba instalar una puerta trasera SSH persistente en el equipo del desarrollador. Cursor identifica las versiones 2.1.312 y 2.1.313 para macOS y Windows como afectadas en su aviso actualizado.
La noticia acumulaba 876 puntos y 514 comentarios en la portada de Hacker News del 30 de octubre, consultada el 31. Para quien utilice asistentes de programación, la pregunta importante no es si usa Claude en general: es de dónde se instaló la extensión, qué paquete se recibió y cuándo.
Qué se distribuyó
Cursor sitúa la ventana conocida aproximadamente entre las 09:27 y las 20:35 UTC del 29 de octubre de 2026. Durante ese intervalo, una copia modificada de anthropic.claude-code estuvo disponible en su marketplace de extensiones. Cursor afirma que retiró las versiones maliciosas, reconstruyó el marketplace y colaboró para desconectar el servidor utilizado por el atacante.
La versión actual del aviso de Cursor concreta el alcance a los paquetes mencionados para macOS y Windows. Microsoft dice que los paquetes maliciosos analizados no se distribuyeron desde Microsoft Visual Studio Marketplace ni desde el paquete npm de Claude Code. Anthropic indicó a Microsoft que sus sistemas no fueron comprometidos y que no desarrolló esos paquetes. Esto acota la evidencia disponible; tener el mismo número de versión en otro canal no demuestra por sí solo que se trate del mismo archivo malicioso.
Qué intentaba hacer
Según los análisis de Microsoft y Phorion, el código inyectado se ejecutaba al cargar la extensión. Intentaba añadir una clave SSH controlada por el atacante, preparar un túnel SSH inverso y crear mecanismos de persistencia para volver a ejecutarse. También enviaba información del equipo, como el nombre de usuario y del dispositivo, el sistema operativo, el correo configurado en Git y nombres de variables de entorno relacionadas con credenciales.
Los investigadores indican que el informe recogía nombres de variables, no sus valores. Eso no descarta un acceso posterior a credenciales si la puerta trasera llegó a funcionar. Phorion y Microsoft describen además lógica para Linux en la muestra analizada; el aviso de Cursor identifica los paquetes distribuidos para macOS y Windows. Conviene consultar ambos análisis para distinguir el comportamiento del código del alcance confirmado por el distribuidor.
El acceso remoto dependía de permisos y configuración. Los investigadores detectaron errores que podían impedir activar SSH en determinados equipos. Aun así, una clave o mecanismo de persistencia podía quedar instalado aunque el acceso no llegase a funcionar. Que falle una fase no demuestra que el equipo esté limpio.
Cómo revisar la exposición
Si usaste Cursor con Claude Code, revisa el origen de la extensión, la versión instalada o actualizada y los registros de instalación de ese intervalo. Las actualizaciones automáticas también cuentan. Si no conservas esos datos, trata la exposición como incierta y sigue investigando, en lugar de asumir que no ocurrió.
Cursor publica en su aviso indicadores de compromiso y herramientas de comprobación. Microsoft añade pautas para revisar actividad de procesos, conexiones, claves autorizadas y mecanismos de inicio. Contrasta los indicadores con el contexto del equipo: un nombre de archivo o servicio por sí solo no siempre prueba que sea malicioso.
Si hay indicios de ejecución o instalación de la puerta trasera:
- Aísla el equipo y avisa al responsable de seguridad si trabajas en una organización.
- Conserva los registros y archivos relevantes antes de limpiar, para poder investigar qué ocurrió.
- Revisa y elimina solo la clave y los mecanismos de persistencia confirmados como maliciosos. Cursor ofrece procedimientos para macOS y Windows; Microsoft documenta indicadores y revisión para otros entornos.
- Desde un equipo de confianza, rota las credenciales y revoca sesiones accesibles desde el equipo afectado según el alcance de la investigación. Valora reconstruirlo si no puedes recuperar la confianza en él.
Desinstalar la extensión no es suficiente por sí solo: el código podía dejar procesos y mecanismos de persistencia fuera de ella. Los pasos concretos y los indicadores actualizados están en el aviso de Cursor; revisa las herramientas antes de ejecutarlas y conserva las claves SSH legítimas.
La lección para el editor
Una extensión de desarrollo se ejecuta con los permisos del usuario y puede acceder al código y las herramientas del entorno. Por eso, el nombre conocido de un proveedor no basta para determinar qué paquete se ejecutó: también importan el marketplace, la versión, la plataforma y el momento de instalación.
Mantener un inventario de extensiones y registrar sus actualizaciones ayuda a responder a incidentes como este. El aviso sigue evolucionando: comprueba la versión más reciente de las fuentes antes de dar una investigación por cerrada.
