---
service: "Publicasta"
schema_version: "1.0"
article_id: 1069
title: "El incidente de la extensión Claude Code de Cursor muestra por qué las herramientas de desarrollo con IA necesitan verificación de paquetes"
language: "es"
default_language: "en"
canonical_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=es"
json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=es"
api_url: "https://publicasta.com/api/public/v1/channels/ai_practice/articles/cursor_claude_code_extension_supply_chain_response?lang=es"
channel_url: "https://publicasta.com/api/public/v1/channels/ai_practice"
channel_articles: "https://publicasta.com/api/public/v1/channels/ai_practice/articles"
search_url: "https://publicasta.com/api/public/v1/search"
documentation_url: "https://publicasta.com/api-docs#reading-publicasta"
openapi_url: "https://publicasta.com/api-docs/openapi.json"
published_at: "2026-11-01T10:11:03+00:00"
updated_at: "2026-11-01T10:11:03+00:00"
translations:
  - language: "ar"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=ar"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=ar"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=ar"
  - language: "de"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=de"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=de"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=de"
  - language: "en"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=en"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=en"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=en"
  - language: "es"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=es"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=es"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=es"
  - language: "fr"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=fr"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=fr"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=fr"
  - language: "pl"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=pl"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=pl"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=pl"
  - language: "ru"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=ru"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=ru"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=ru"
  - language: "zh"
    html_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response?lang=zh"
    markdown_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.md?lang=zh"
    json_url: "https://publicasta.com/ai_practice/cursor_claude_code_extension_supply_chain_response.json?lang=zh"
---

# El incidente de la extensión Claude Code de Cursor muestra por qué las herramientas de desarrollo con IA necesitan verificación de paquetes

> Una extensión manipulada de Claude Code llegó a usuarios de Cursor con código que recopilaba datos del equipo e intentaba establecer acceso SSH persistente. El incidente deja lecciones prácticas sobre confianza, contención, rotación de credenciales y flujos de desarrollo con IA más seguros.

Una extensión de asistente de programación es un software con privilegios inusualmente amplios. Puede inspeccionar un repositorio, iniciar herramientas, leer configuraciones y, en ocasiones, operar junto a credenciales mucho más valiosas que el proyecto abierto en ese momento en el editor. Por eso, una extensión comprometida no es simplemente una actualización defectuosa: puede convertirse en una vía de la cadena de suministro hacia la estación de trabajo de un desarrollador.

 ![Puesto de trabajo de un desarrollador con código, verificación de paquetes y telemetría de seguridad en una escena tecnológica editorial oscura.](https://publicasta.com/storage/projects/8/pages/1069/2026/11/31a317c3-32d2-40e6-a55b-17e34ce833e8.webp)

 Ese riesgo se hizo tangible el 29 de octubre, cuando una copia modificada de la extensión Claude Code de Anthropic apareció en el VS Code Extension Marketplace de Cursor. Cursor afirmó que las versiones 2.1.312 y 2.1.313 para macOS y Windows estuvieron disponibles durante unas once horas. La empresa estimó que como máximo 5.000 usuarios pudieron haber recibido el paquete. Cursor retiró las versiones, dejó el marketplace fuera de servicio mientras investigaba, rotó las claves y reconstruyó el marketplace.

 El incidente importa incluso para los equipos que nunca utilizan Claude Code. Pone al descubierto una debilidad en una suposición habitual: que una extensión con un nombre de editor conocido, una actualización de apariencia normal y una función de IA útil es segura porque llegó a través del marketplace del editor. Los marketplaces mejoran la distribución. No eliminan la necesidad de verificar qué se distribuye, qué puede hacer y qué debe ocurrir cuando se rompe la confianza en un paquete.

 ## Qué ocurrió en el marketplace de Cursor

 El [aviso de seguridad de Cursor](https://prod.cursor.com/blog/claude-code-extension-security-notice) indica que el paquete afectado era una versión modificada de forma maliciosa de `Anthropic.claude-code`, no una compilación desarrollada por Anthropic. El paquete estuvo disponible en el marketplace de Cursor aproximadamente entre las 2:27 a. m. y la 1:35 p. m., hora del Pacífico, del 29 de octubre de 2026. Posteriormente, Cursor aclaró que las versiones 2.1.312 y 2.1.313 estaban incluidas tanto en la distribución de su marketplace para Windows como para macOS.

 La extensión seguía presentándose como una integración de Claude Code, pero el código añadido intentaba realizar varias acciones que no tienen relación con una integración normal del editor. Cursor informó de la recopilación del nombre del equipo, el nombre de usuario, el sistema operativo, la arquitectura del sistema, la ruta del directorio personal, los nombres de las variables de entorno, los directorios de trabajo, el correo electrónico de Git configurado y la dirección IP pública. También intentó enviar información del equipo a un servidor controlado por el atacante.

 El paquete intentó añadir una clave pública controlada por el atacante al archivo SSH `authorized_keys`, activar el servicio SSH local y abrir un túnel SSH inverso. Después intentó hacer persistente ese túnel mediante un LaunchAgent de macOS o mecanismos de tareas programadas y scripts de inicio de Windows. Los scripts en segundo plano estaban diseñados para reintentar la conexión periódicamente.

 Cursor afirmó que el servidor del atacante había sido desconectado con ayuda de su proveedor de servicios en la nube. También señaló que el código malicioso contenía errores que normalmente impedirían activar el servicio SSH sin privilegios de administrador. Esto reduce la probabilidad de que se produjera un inicio de sesión remoto exitoso en muchas máquinas, pero no vuelve inofensivo el incidente. La extensión aún podía ejecutarse, recopilar información del equipo, añadir persistencia y dejar una máquina en un estado que requiere investigación.

 El [análisis de Microsoft Security](https://www.microsoft.com/en-us/security/blog/2026/10/30/inside-malicious-claude-code-branded-cursor-extension-persistent-ssh-backdoor/) describe el paquete como un ataque a la cadena de suministro distribuido a través del ecosistema de extensiones de Cursor. Su punto operativo más importante es sencillo: la extensión podía funcionar como se esperaba y, al mismo tiempo, realizar acciones maliciosas en segundo plano. Que una función visible opere con normalidad no demuestra que el paquete esté limpio.

 ## Por qué no bastaba con el nombre conocido del editor

 La identidad del paquete aportó la ventaja de la ingeniería social. Un desarrollador que busca Claude Code en el marketplace de un editor espera encontrar un paquete asociado con Anthropic. Un paquete que utiliza el nombre correcto y aparece durante una actualización rutinaria puede ganarse la confianza antes de que alguien examine su contenido.

 Esa confianza es especialmente peligrosa en el caso de las herramientas de programación con IA, porque ya están cerca de actividades sensibles. Una extensión de IA puede tener permiso para leer código fuente, inspeccionar archivos del proyecto, iniciar un proceso de terminal, acceder a servicios locales de desarrollo y observar la configuración necesaria para ejecutar pruebas o desplegar software. Incluso cuando el asistente pide confirmación antes de ejecutar un comando, el propio host de extensiones sigue formando parte de la base informática de confianza.

 La propia [documentación de seguridad de Cursor](https://www.cursor.com/security) aporta un contexto relevante. Según explica, Cursor no verifica de forma predeterminada las firmas de las extensiones descargadas de su marketplace y Workspace Trust no protege frente a extensiones maliciosas. Workspace Trust puede ayudar a limitar carpetas de proyectos riesgosas, pero no convierte una extensión que no es de confianza en software confiable.

 Esa diferencia puede pasar inadvertida en el trabajo diario. Los desarrolladores suelen pensar en términos de permisos del proyecto: si un asistente de IA puede editar un repositorio o ejecutar una prueba. El marketplace de extensiones plantea otra pregunta: si el código que implementa el asistente fue autenticado y revisado antes de obtener acceso al proceso del editor y al entorno del equipo.

 Ambas preguntas necesitan controles distintos. Un proyecto puede ser confiable mientras la extensión no lo es. Un editor puede ser legítimo aunque una de sus vías de distribución haya sido comprometida. Un paquete puede ser auténtico en una tienda y haber sido manipulado en otra. El incidente recuerda que «oficial» no es una propiedad única: depende del editor, la compilación, el registro, la ruta de transporte y el momento en que se recibió el paquete.

 ## Qué deben hacer los usuarios afectados

 Cualquiera que haya instalado o actualizado `Anthropic.claude-code` desde el marketplace de Cursor durante el periodo afectado debería considerar que el equipo necesita una validación. El aviso de Cursor es el punto de partida autorizado, porque incluye las versiones afectadas, el intervalo temporal, los indicadores y las medidas de corrección recomendadas.

 El primer paso consiste en conservar suficientes pruebas para investigar. Si el equipo se utiliza para acceder a sistemas de producción, alojar código fuente, administrar servicios en la nube, firmar artefactos o gestionar lanzamientos, puede ser conveniente desconectarlo de las redes sensibles mientras el equipo de seguridad revisa la telemetría del endpoint y de la red. No conviene borrar de inmediato todos los archivos sospechosos si la organización necesita determinar qué se ejecutó y qué datos pudieron quedar expuestos.

 Compruebe si la versión afectada de la extensión se instaló desde el marketplace de Cursor durante el periodo pertinente. Una versión limpia instalada mediante otro canal oficial de distribución es un caso distinto, y Cursor afirmó no tener pruebas de que otras versiones de la extensión o la distribución oficial de Anthropic se hubieran visto afectadas por este incidente. Esa afirmación no debe convertirse en una garantía general sobre todas las actualizaciones futuras ni sobre cualquier marketplace.

 El indicador específico que destacó Cursor es una clave SSH no autorizada, etiquetada como `svc-telemetry`, en un archivo `authorized_keys`. Los equipos también deberían buscar en la telemetría de los endpoints los mecanismos de persistencia y los procesos de túnel descritos en el aviso, incluidos LaunchAgents inesperados en macOS, tareas programadas o scripts de inicio en Windows y conexiones salientes hacia la infraestructura del atacante registrada entre los indicadores del incidente.

 Desinstalar la extensión no basta si su carga útil llegó a ejecutarse. El paquete intentó instalar mecanismos de persistencia independientes que podían continuar activos después de retirar la extensión del editor. Los hosts afectados deben aislarse, eliminar las claves y los mecanismos de persistencia no autorizados y evaluarse para decidir si es necesario reconstruirlos. Si el host contenía credenciales o sesiones activas, rótelas desde otro dispositivo separado y confiable una vez completada la contención. Esto incluye tokens de control de código fuente, credenciales de servicios en la nube, tokens de registros de paquetes, claves SSH, material de firma y sesiones del navegador o del editor que pudieran otorgar acceso a sistemas de la empresa.

 La rotación de credenciales debe basarse en la exposición, no en si el código malicioso mostró visiblemente un secreto. Cursor informó que el paquete recopilaba nombres de variables de entorno, sin describir un robo generalizado de credenciales, pero una puerta trasera persistente genera incertidumbre sobre lo que pudo haberse consultado después de la ejecución. La pregunta práctica no es «¿La carga útil afirmó haber robado este token?», sino «¿Podía el host comprometido acceder a este token o utilizarlo?».

 Las personas deben avisar a su empleador o al equipo de seguridad antes de intentar una limpieza improvisada en un equipo de trabajo. Los equipos pequeños que no dispongan de herramientas para endpoints aún pueden elaborar un registro útil: versiones del editor y de la extensión, hora de instalación, sistema operativo, claves SSH activas, conexiones de red recientes, ubicaciones de persistencia y credenciales disponibles para la cuenta del usuario. Ese registro ayuda a determinar si reconstruir el equipo es una medida proporcionada y evita que una limpieza borre la única evidencia disponible.

 ## El incidente trata de la distribución, no solo del malware

 Sería un error reducir este episodio a «no instales extensiones en Cursor». Los desarrolladores necesitan extensiones, y el mismo tipo de riesgo existe en VS Code, los productos de JetBrains, los complementos de navegador, los registros de paquetes, las imágenes de contenedor, las acciones de CI y los plugins para agentes de IA. Eliminar una integración útil no resuelve el problema de distribución subyacente.

 La lección más útil es hacer que la distribución sea observable y reversible. Las organizaciones deberían saber qué extensiones están aprobadas, qué versiones están instaladas, de dónde proceden y cómo desactivarlas de forma centralizada. Un desarrollador no debería tener que reconstruir esa información desde una estación de trabajo después de recibir un aviso de seguridad.

 Para los equipos gestionados, una base razonable incluye una lista de extensiones permitidas, fijar versiones para las herramientas críticas, un proceso de revisión de actualizaciones y un método probado para revocar o revertir un paquete. Las actualizaciones automáticas son cómodas, pero también reducen el tiempo disponible para revisarlas. La política adecuada puede variar según el puesto: el entorno aislado de prototipado de un diseñador no está tan expuesto como la estación de trabajo de un ingeniero de lanzamientos con acceso a la nube y a claves de firma.

 La procedencia del paquete debe comprobarse justo donde importa. Si una extensión está disponible en varias tiendas, compara la identidad del editor, el historial de versiones, las notas de lanzamiento, el hash del paquete cuando se proporcione y los enlaces oficiales de la documentación del proveedor. Que una versión aparezca en un marketplace y no en otro no significa automáticamente que sea maliciosa, pero sí es motivo para detenerse e investigar.

 Las organizaciones también deberían separar la comodidad del desarrollo de la autoridad sobre producción. Una herramienta de programación con IA puede ser útil en una estación de trabajo que tenga credenciales de corta duración, acceso de red limitado y ninguna clave de firma de producción. La misma extensión merece un nivel de exigencia mucho mayor en una máquina que pueda publicar paquetes, administrar infraestructura o aprobar despliegues.

 ## Cómo cambian las herramientas de programación con IA el perímetro de confianza

 El ataque no necesitó vulnerar el modelo de Claude ni convencer a un asistente de IA para que escribiera código peligroso. Se dirigió al software que rodea al modelo. Este cambio es importante para la forma en que los equipos deben evaluar los productos de IA.

 Las conversaciones sobre IA suelen centrarse en la inyección de prompts, las alucinaciones del modelo, la retención de datos y si el código generado es correcto. Siguen siendo preocupaciones válidas, pero un asistente de programación con IA también presenta un riesgo convencional de la cadena de suministro de software. Su extensión para el editor, cliente de línea de comandos, servidor de lenguaje, plugins, conectores MCP, servicio de actualización y auxiliares de credenciales pueden convertirse en superficies de ataque. El modelo puede ser el componente más visible, mientras que el host de extensiones concentra el acceso práctico.

 El plan de controles resultante debería abarcar tanto las cuestiones de comportamiento como las de integridad del software:

 - ¿Qué archivos puede leer la herramienta sin pedir autorización?
- ¿Qué procesos puede iniciar la extensión?
- ¿Hereda las variables de entorno y el acceso de red del editor?
- ¿Qué credenciales están presentes en la máquina durante el trabajo normal?
- ¿Puede la herramienta instalar plugins o invocar conectores externos?
- ¿Las versiones de las extensiones están fijadas, registradas y se pueden eliminar?
- ¿Puede un equipo de desarrollo comprometido llegar a los sistemas de producción?
- ¿Con qué rapidez se pueden revocar las credenciales y las sesiones?

 Estas preguntas son más útiles que preguntar si un producto es «seguro» en abstracto. La seguridad depende de la combinación de la integridad del paquete, los permisos del equipo, la accesibilidad de la red, el alcance de las credenciales y la capacidad del equipo para detectar y recuperarse de una actualización maliciosa.

 ## Un flujo de trabajo más seguro para el desarrollo asistido por IA

 La respuesta práctica no es abandonar las herramientas de programación con IA. Es colocarlas en un entorno donde una herramienta comprometida tenga menos cosas que robar y menos lugares a los que desplazarse.

 Empieza con un perfil o una máquina de desarrollo dedicada para las herramientas de IA de alta confianza. Mantén las credenciales de producción fuera de la estación de trabajo siempre que sea posible, utiliza tokens de corta duración y evita cargar claves de nube de larga duración en el entorno del editor. Cuando una herramienta necesite acceso a la nube, asígnale el rol más limitado que permita realizar la tarea y separa los permisos de lectura, escritura, despliegue y administración.

 Usa un entorno desechable o reconstruible para las extensiones y las integraciones con agentes que no conozcas. Un contenedor o una máquina virtual no constituyen una frontera de seguridad completa si comparten las credenciales, los sockets, los montajes del sistema de archivos o las sesiones del navegador del equipo anfitrión, pero pueden reducir el alcance del daño si se configuran con cuidado. No montes el directorio de SSH, el directorio de credenciales en la nube, los tokens del gestor de paquetes ni los sockets de despliegue en un entorno de prueba, salvo que la tarea realmente los requiera.

 Mantén la revisión del código y la autoridad de despliegue fuera de la ruta automática del agente. Una herramienta de IA puede proponer un cambio, ejecutar pruebas o preparar una rama. Aun así, la publicación de ese cambio debe requerir una revisión independiente y una credencial controlada por separado. Esto protege tanto frente a herramientas maliciosas como frente a errores ordinarios de un agente que actúe sobre el repositorio equivocado o interprete mal una solicitud.

 Trata las extensiones como dependencias de software. Registra sus versiones, revisa las actualizaciones relevantes y prefiere los canales oficiales de lanzamiento que publiquen avisos de seguridad e historial de versiones. Si el editor ofrece verificación de firmas, actívala cuando resulte viable en la operación y entiende qué es exactamente lo que verifica. Una firma puede establecer quién firmó un paquete; no demuestra que el código firmado sea adecuado, esté libre de vulnerabilidades o sea seguro para todas las estaciones de trabajo. Es un control dentro de una cadena, no un sustituto de la cadena completa.

 Por último, practica la respuesta antes de que ocurra el incidente. El equipo debe saber quién es responsable de la política de extensiones, quién puede desactivar una integración del marketplace, dónde se almacenan los registros de los dispositivos, cómo identificar las claves SSH activas y cómo rotar las credenciales desde un dispositivo limpio. La primera hora posterior a una alerta de la cadena de suministro es un mal momento para descubrir que la única cuenta de administrador está vinculada al equipo bajo investigación.

 ## Qué deberían aclarar Cursor y los proveedores

 La respuesta de Cursor incluyó los detalles que los equipos necesitaban: las versiones afectadas, el periodo de distribución, las acciones intentadas, el hecho de que desinstalar la extensión puede no ser suficiente y la necesidad de rotar las credenciales. Ese nivel de especificidad debería convertirse en el estándar de los marketplaces de editores y de los proveedores de herramientas de IA.

 Los operadores de marketplaces también pueden hacer más visible el modelo de confianza antes de la instalación. Los usuarios deberían poder ver si un paquete tiene la firma verificada, cuándo se subió, qué cuenta de editor lo envió, si el paquete se reconstruyó y si el marketplace realizó un análisis independiente de malware. Estas señales no impedirán todos los compromisos, pero ayudan a distinguir un artefacto verificado de un nombre que solo resulta familiar.

 El incidente también plantea una pregunta sobre las actualizaciones automáticas. Las actualizaciones silenciosas resultan atractivas en productos de IA que evolucionan con rapidez, pero una herramienta de desarrollo crítica puede necesitar despliegues graduales, compatibilidad con la reversión y controles de políticas que permitan a las organizaciones aplazar una actualización mientras la verifican. Si un paquete puede ejecutar código arbitrario con los privilegios del editor, su proceso de actualización merece el mismo cuidado que una actualización del sistema operativo o del navegador.

 Para Anthropic, Cursor y otros proveedores de herramientas de IA, la medida útil a largo plazo no consiste únicamente en saber con qué rapidez se elimina un paquete comprometido. Consiste en que los clientes puedan responder, con pruebas, qué artefacto recibieron, si se ejecutó, qué elementos tocó y cómo devolver el equipo a un estado conocido y seguro. Ese es el estándar que los compradores empresariales deberían exigir al evaluar herramientas de desarrollo basadas en agentes.

 ## La conclusión práctica

 El incidente de Cursor no demostró que los asistentes de programación con IA sean maliciosos por naturaleza. Demostró que tienen suficiente valor para heredar los riesgos de cualquier herramienta de desarrollo con privilegios, mientras a menudo se adoptan más rápido de lo que las organizaciones actualizan sus controles de la cadena de suministro de software.

 Por tanto, los equipos deberían evaluar una extensión de programación con IA como asistente y como dependencia de software. Verifica su ruta de distribución, restringe el equipo anfitrión a su alrededor, mantén las credenciales limitadas y temporales, registra lo que se instala y conserva un plan de recuperación que no dependa del equipo comprometido. Estas medidas hacen que el desarrollo asistido por IA sea menos cómodo en algunos aspectos, pero convierten un incidente de marketplace en un evento operativo contenido, en lugar de una crisis imposible de gestionar.
