Claude Code no es una web que se abre y se cierra. Es una herramienta de línea de comandos que puede leer un repositorio, editar archivos, invocar utilidades, ejecutar comandos shell y vivir en el mismo entorno donde un equipo guarda tokens, remotos de git, datos de prueba y scripts de despliegue. Por eso la polémica sobre una comprobación oculta relacionada con usuarios chinos importa incluso si la palabra spyware resulta demasiado fuerte.

Agente de IA de codificación en terminal conectado a código fuente, comandos shell, proxy, sandbox, registro de auditoría y repositorio protegido

La historia empezó el 30 de junio con un análisis de ingeniería inversa en Reddit. El usuario LegitMichel777 explicó que usaba Claude Code a través de un proxy y empezó a examinar la CLI después de que la versión 2.1.196 desactivara una función de control remoto cuando había un endpoint personalizado. Según su publicación, encontró lógica presente desde la versión 2.1.91, publicada el 2 de abril. Esa lógica miraba si el usuario usaba proxy, si la zona horaria coincidía con Asia/Shanghai o Asia/Urumqi y si la URL del proxy parecía un dominio chino o una dirección asociada a un laboratorio chino de IA.

Lo discutido no fue solo que la herramienta mirara metadatos locales o de red. Muchas plataformas cloud hacen comprobaciones parecidas. Lo discutido fue la forma de codificar el resultado. El post de Reddit y The Decoder describieron cambios mínimos en el system prompt enviado a Anthropic: formato de fecha y caracteres parecidos a un apóstrofo en una frase como "Today's date is". La acusación es que esos cambios eran casi invisibles para una persona, pero fáciles de leer para un servidor. The Decoder también informó de ofuscación XOR con clave 91 y de que las notas de versión no mencionaban el cambio.

La respuesta de Anthropic dejó la discusión en un terreno más difícil. Thariq Shihipar, ingeniero del equipo de Claude Code, escribió en X que era un experimento lanzado en marzo para combatir abuso de cuentas por revendedores no autorizados y protegerse frente a distillation. Añadió que el equipo ya tenía mitigaciones más fuertes y había fusionado el pull request para retirarlo. Eso no encaja con una caricatura simple de una herramienta espía. Pero sí deja una pregunta incómoda: ¿qué debe revelar un proveedor cuando un agente local con privilegios usa señales ocultas para aplicar una política antiabuso?

Lo confirmado y lo que conviene matizar

El post de Reddit existe y contiene una acusación técnica concreta sobre versiones de Claude Code, proxy, zona horaria y marcadores ocultos en el prompt. La discusión fue grande y dividida. Una parte lo vio como una ruptura seria de confianza; otra lo llamó una medida antiabuso bastante normal contra proxies, revendedores y extracción de modelos. The Decoder y TNW describieron el mecanismo. Slashdot recogió la parte relacionada con Alibaba y Reuters, lo que llevó el asunto a una audiencia de seguridad y tecnología más amplia.

Otros detalles necesitan cuidado. TNW y Slashdot dicen que Alibaba prohibirá Claude Code en entornos de trabajo a partir del 10 de julio, citando a Reuters y a una fuente familiarizada con el asunto. Eso no equivale a un informe técnico público completo de Alibaba. La formulación responsable es "según informes" o "según fuentes citadas por Reuters", no "Alibaba demostró un backdoor". Backdoor puede aparecer como alegación, pero no como conclusión técnica propia.

También importa que el mecanismo parece relacionado con proxies o endpoints personalizados, sobre todo ANTHROPIC_BASE_URL en las incidencias de GitHub. Eso no lo vuelve irrelevante. Muchos usuarios avanzados, gateways corporativos, proxies de control de costes y wrappers multimodelo usan endpoints personalizados. Pero el riesgo para quien usa directamente la API estándar de Anthropic no es el mismo. La lección práctica no es que Claude Code enviara repositorios completos en secreto. La lección es que un agente de programación ya es un componente de la cadena de suministro: actualizable, conectado a la red y con comportamiento controlado por el proveedor.

Por qué Anthropic pudo quererlo

Anthropic tiene motivos comprensibles para combatir revendedores, evasión regional y distillation. Los modelos frontier son caros de operar y sus salidas pueden usarse para entrenar modelos competidores. Si una empresa detecta reventa masiva a través de proxies o granjas de cuentas, buscará señales.

El motivo no es absurdo. Sistemas antifraude, pagos y SaaS usan zona horaria, endpoints, dominios e IPs todo el tiempo. El problema es que Claude Code no es una página de pago. Trabaja dentro del entorno de desarrollo. Puede ver archivos, comandos, historial de git, configuración local y a veces secretos. Un marcador oculto en el prompt de una herramienta así se percibe de otra manera que una comprobación visible de riesgo en una web.

Por qué molestó a los usuarios

La objeción principal no es que exista antiabuso. Es que la comprobación parecía oculta, ofuscada y fuera de las notas de versión. Si el objetivo era legítimo, ¿por qué no usar un campo de telemetría documentado? Los equipos de seguridad suelen aceptar controles incómodos si son visibles y gestionables. Les cuesta más aceptar controles que parecen diseñados para no verse.

La segunda objeción es el nivel de permisos. Un navegador y un agente de terminal no viven en el mismo modelo de amenazas. Aunque no tenga root, una CLI de este tipo puede ver el árbol de trabajo, scripts de paquetes, variables de entorno, documentación interna y nombres de servicios privados. Si el proveedor cambia cómo codifica señales locales, una empresa quiere enterarse antes, no después.

La tercera objeción es el canal. Un campo de telemetría normal puede documentarse, bloquearse o discutirse en un contrato enterprise. Una variación invisible dentro del system prompt es difícil de auditar y explicar. Puede ser ingeniosa, pero la confianza no se gana con trucos ingeniosos.

Por qué otros lo vieron como una exageración

La posición contraria también merece espacio. Muchos comentaristas dijeron que el hallazgo no probaba una subida secreta de código fuente ni un segundo canal clandestino. El marcador viajaba, según la descripción, por la ruta normal de la petición. Las entradas eran proxy y zona horaria, no el contenido del repositorio. Si alguien usa un endpoint personalizado de una forma que puede parecer reventa, no sorprende que el proveedor quiera detectar patrones.

También está el contexto de política y negocio. Anthropic no ofrece Claude en todos los territorios y ha hablado de riesgos de distillation. Una compañía bajo esa presión no tratará todos los accesos como inocentes. Desde esta perspectiva, el fallo principal fue de comunicación, no la existencia de una señal antiabuso.

La lectura útil queda en medio: Claude Code no queda demostrado como malware, pero tampoco puede tratarse como un simple chat. Las herramientas agentic de desarrollo ya necesitan transparencia sobre telemetría, controles antiabuso, actualizaciones y permisos locales.

El aviso empresarial de Alibaba

El ángulo Alibaba importa porque muestra cómo una disputa técnica se convierte rápido en política corporativa. Según informes vinculados a Reuters recogidos por TNW y Slashdot, Alibaba prohibirá Claude Code en entornos de trabajo desde el 10 de julio y recomendará su propio Qoder. Los motivos pueden mezclar seguridad, competencia y política. El resultado es claro: las herramientas de programación con IA entran en listas de permitidos y prohibidos.

Las empresas ya no preguntan solo si el agente escribe buen código. Preguntan quién lo opera, adónde van las peticiones, qué puede leer, qué puede ejecutar, cómo se actualiza, qué endpoints toca y qué pasa si el proveedor marca una cuenta, región o proxy como riesgoso.

En 2026, los agentes de código forman parte de la cadena de suministro de software. Son binarios o paquetes, servicios cloud, automatización local y superficie de política al mismo tiempo. Deben controlarse con la misma sobriedad que gestores de paquetes, runners de CI, extensiones de navegador y bots de despliegue.

Qué deberían hacer los equipos

La primera regla es dejar de tratar un agente de código como una ventana de chat inocua. Si puede leer código y ejecutar comandos, debe vivir en un entorno controlado. Un contenedor, VM o sandbox por repositorio es un buen punto de partida. El agente no debe heredar todo el directorio personal del desarrollador, claves SSH, kubeconfig de producción, tokens cloud de administrador o exportaciones de un gestor de contraseñas.

Aplique mínimo privilegio a los archivos. Dé al agente el repositorio que necesita, no toda la máquina. Mantenga .env, datos de clientes, volcados de producción y credenciales de larga duración fuera del árbol accesible. Si hace falta un token, cree uno limitado para esa tarea y rótelo.

Controle la red. Decida si la herramienta puede hablar directamente con la API del proveedor, pasar por un gateway interno, usar un proxy o salir solo por una red concreta. Registre dominios de salida. Documente ajustes como ANTHROPIC_BASE_URL. Un proxy no es solo una comodidad; cambia lo que la organización y el proveedor pueden inferir.

Fije versiones cuando pueda. Los agentes cambian rápido. El auto-update sirve para experimentos personales, pero es delicado en una herramienta que toca código y secretos. Las versiones nuevas deben probarse en staging, con notas de versión revisadas y una ruta de rollback.

Mantenga aprobaciones explícitas para acciones peligrosas. El agente puede sugerir comandos, pero no debería ejecutar operaciones destructivas por defecto. Revise git diff, resultados de tests y archivos modificados antes de commit. Evite SSH agent forwarding salvo necesidad revisada. No dé sudo ni acceso a despliegue de producción porque una demo salió bien.

Conserve auditoría. Logs de terminal, historial de tmux, registros de tool calls y diffs no son burocracia. Son la forma de saber qué hizo el agente en una sesión larga.

Para desarrolladores individuales

La versión personal es más simple. Ejecute agentes en un usuario separado, contenedor o checkout desechable cuando pueda. No los arranque desde un directorio con todos sus proyectos. No deje tokens cloud ni claves privadas junto al working tree. Revise el diff antes de commit. Use una clave API separada para pruebas. Si usa proxy o gateway de terceros, asuma que hay metadatos suficientes para clasificar el tráfico.

Para trabajo sensible, el proceso aburrido suele ser el mejor: el agente razona, busca, redacta parches y ejecuta tests en un repo acotado; las credenciales de producción y los despliegues quedan fuera; el patch review se hace como si el código lo hubiera traído un contratista muy rápido. No suena futurista, pero reduce daños.

Preguntas para proveedores

La polémica de Claude Code deja un cuestionario útil. ¿Qué metadatos recoge la CLI? ¿Cómo elige archivos locales para el contexto? ¿Puede el prompt contener marcadores ocultos del proveedor? ¿Cómo se desactiva telemetría en enterprise? ¿Qué endpoints contacta? ¿Se usan prompts o fragmentos de código para entrenamiento? ¿Los cambios relevantes de seguridad aparecen en changelogs?

Pregunte también por actualizaciones. ¿Puede la organización fijar versión? ¿Puede espejar el paquete? ¿Existe un modo de red restringida? ¿Los MCP servers y plugins están aislados? ¿Hay audit log de llamadas a herramientas, escrituras de archivos y shell execution? ¿Qué ocurre si el proveedor clasifica como riesgoso un proxy, endpoint o account?

Open source no significa automáticamente seguro. Un agente local también puede filtrar datos por una API de modelo, un plugin, una dependencia o un comando mal planteado. Pero el código abierto y builds reproducibles facilitan la auditoría. Una herramienta cerrada también puede ser aceptable si ofrece controles claros y transparencia suficiente.

Conclusión

La historia de Claude Code puede acabar recordándose como un experimento antiabuso mal comunicado, no como una fuga catastrófica. Aun así, ya mostró el problema correcto: los agentes de programación son demasiado útiles para ignorarlos y demasiado privilegiados para confiar en ellos por marca.

Una buena política no tiene que prohibir todos los agentes. Tiene que tratarlos como participantes de la cadena de suministro: acceso estrecho, red controlada, versiones fijadas, logs, revisión de parches y controles del proveedor documentados. Cuando un agente de IA entra en la terminal, la confianza deja de ser una sensación. Se convierte en una configuración de ingeniería.