El 30 de junio de 2026, un desarrollador que firma como Thereallo hizo lo que tantos programadores hacen cuando un software les inquieta: abrió su código fuente para ver qué demonios estaba pasando dentro.
El software en cuestión era Claude Code, el asistente de programación de Anthropic: un compañero de IA que escribe código, ejecuta comandos, modifica archivos y convive a diario en el ordenador del desarrollador con permisos que asustan. Puede leer tus carpetas, ejecutar comandos en tu terminal e incluso controlar tu navegador.
Thereallo estaba inspeccionando el código fuente de la versión 2.1.196 de Claude Code. Y entonces su mano se detuvo.
El programa tenía incrustada una función: cada vez que envía una solicitud a la IA, esconde en el texto marcas invisibles al ojo humano. En lenguaje llano: tinta invisible. Camuflada en una frase del prompt del sistema, sin pasar por ningún canal oficial de divulgación.
Escribió una entrada de blog contándolo. Seis horas después, el artículo acumulaba 1.284 puntos y 362 comentarios en Hacker News, y 31 votos en Lobsters. La comunidad técnica entera estalló.
¿Cómo se esconde la tinta invisible?
Para entender por qué esto puso a tanta gente en alerta, primero hay que comprender cómo funciona aquí la “tinta invisible”.
Cuando Claude Code se pone a trabajar, envía a la IA información de contexto, como “la fecha de hoy es 2026-06-30”. Hasta aquí, normal: la IA necesita saber en qué día vive para responder preguntas que dependen del tiempo.
Pero Thereallo descubrió que, justo antes de enviar esa frase, el programa ejecuta una serie de “comprobaciones de seguridad”. Primero mira si la zona horaria de tu ordenador es “Shanghái” u “Urumqi”. Si no lo es, comprueba si tus peticiones de red van dirigidas a una URL concreta.
Según el resultado de esas comprobaciones, el programa modifica sigilosamente dos elementos de la cadena de la fecha:
Primero, cambia los guiones ’-’ por barras ’/’. “2026-06-30” se convierte en “2026/06/30”.
Segundo, reemplaza las comillas simples del texto en inglés por cuatro variantes Unicode distintas. En pantalla, estas comillas parecen exactamente iguales: el ojo humano no puede distinguirlas. Pero para un ordenador son cuatro caracteres diferentes, como cuatro sellos distintos.
Combinando el resultado de la comprobación de zona horaria, la comprobación de URL y el emparejamiento de palabras clave, el sistema genera hasta cuatro “firmas invisibles” diferentes. Cuando el servidor de Anthropic recibe la petición, puede leer esos caracteres ocultos y deducir por qué canal llegó la solicitud.
Más inquietante aún: la lista de objetivos del sistema está cifrada. Los dominios y las palabras clave no aparecen en claro en el código, sino ofuscados mediante cifrado XOR (un método básico) combinado con codificación Base64. Thereallo los descifró y encontró lo siguiente:
Palabras clave de laboratorios de IA: deepseek, moonshot, minimax, zhipu, bigmodel, baichuan, stepfun, 01ai, dashscope (Alibaba Bailian), volces (Volcano Engine).
Lista de dominios, aún más amplia: además de laboratorios de IA, incluye Baidu, Alibaba, Ant Group, ByteDance, Kuaishou, Xiaohongshu, JD.com, Bilibili, iFlytek y un buen número de portales que revenden acceso a APIs.
Dicho de otro modo: este sistema de marcas de agua invisibles está apuntando, sobre todo, a peticiones originadas en China.
¿Por qué hace esto Anthropic?
Antes de colgarle a Anthropic la etiqueta de “sibilino”, conviene entender su lógica. Y su lógica es bastante transparente.
Los modelos Claude de Anthropic no están oficialmente disponibles en China continental. Pero la realidad es que una cantidad masiva de usuarios chinos acceden a Claude indirectamente: mediante proxies, servidores puente, cuentas compartidas y revendedores de API. Se ha formado un mercado gris de tamaño considerable. Algunos medios han informado de que el precio de reventa de la API de Claude en el mercado chino puede llegar a ser una décima parte del precio oficial.
Lo que más preocupa a Anthropic es la “destilación de modelos”. El término suena técnico pero el concepto es simple: usar millones de pares pregunta-respuesta de Claude para entrenar otro modelo de IA. Es como coger las obras completas de un maestro para formar a un aprendiz. A finales de junio de 2026, Anthropic acababa de acusar públicamente a Alibaba de haber destilado sistemáticamente sus modelos mediante 25.000 cuentas falsas y 28,8 millones de intercambios de conversación.
Ponte en el lugar de Anthropic: tu modelo está siendo usado por un competidor como material de entrenamiento, tu servicio de pago está siendo revendido a precio de saldo por intermediarios, ¿y no vas a intentar detectar esas conductas?
Ese es exactamente el propósito declarado del sistema de marcas invisibles: poner un “código de identificación” en las peticiones que circulan por canales no oficiales, para que el backend pueda separar el tráfico legítimo del sospechoso.
”Si lo revelo, deja de funcionar”: ¿sirve como excusa?
Ahí está justo el problema.
El razonamiento de Anthropic sigue esta cadena: necesitamos detectar abusos → pero si decimos públicamente que estamos detectando abusos, quienes hacen trampas buscarán formas de esquivarlo → así que tenemos que hacerlo en secreto.
Suena razonable. Pero uno de los comentarios más votados en Hacker News, del usuario civet_java, golpeó exactamente en el punto débil de esa lógica:
“Que un proveedor de servicios necesite hacer esto por razones de negocio no significa que pueda saltarse la divulgación transparente. Si contar la verdad inutiliza tu solución, el problema es tu solución, no el usuario.”
El comentario recibió un alud de votos. Señala una contradicción fundamental: un sistema antitrampas que solo funciona si el usuario no sabe que existe es un sistema cuya eficacia depende de la ignorancia del usuario. Es como si un supermercado instalara cámaras ocultas en los probadores para pillar a ladrones. Pillar ladrones es legítimo, pero una cámara oculta es, en sí misma, una erosión de la confianza.
Más afilado fue el aviso de kiproping sobre la pendiente resbaladiza. Su comentario destacó entre más de trescientos:
“Primero usan la ‘amenaza china’ como justificación. Luego vendrán los que hacen jailbreak, luego los ‘enemigos de Dario (CEO de Anthropic)’. La pendiente ya ha empezado.”
Los hilos de respuesta se encadenaron enseguida:
- “Te olvidas de ‘para proteger a los niños’.”
- “¡Que alguien proteja a los niños de internet en China!” (con ironía)
Esta cadena de comentarios, que parece de broma, da justo en el blanco del malestar que muchos sintieron sin expresar: una vez que una empresa acepta la premisa “el fin justifica la opacidad”, el ámbito de aplicación solo puede expandirse, nunca contraerse automáticamente. Hoy escondo código de vigilancia porque “nuestros competidores chinos están destilando nuestros modelos”. Mañana esconderé más código porque “hay usuarios usando prompts de jailbreak para saltarse nuestras restricciones de seguridad”. ¿Y pasado mañana?
¿Quién tiene razón?
Seamos justos: Anthropic no se enfrenta a un enemigo imaginario.
He revisado la información pública disponible: Anthropic está sufriendo un abuso sistemático a gran escala. La cadena de reventa de API en el mercado chino es real. La destilación de modelos ha pasado de la teoría a la práctica y se está utilizando como arma de competencia comercial. Si tienes una tienda y descubres que alguien entra cada día por la puerta de atrás, carga con tu mercancía y monta una sucursal en la acera de enfrente, las ganas de poner un marcador en tus productos son comprensibles.
Pero en Lobsters, un usuario llamado bitshift ofreció una perspectiva más templada:
“No creo que esto erosione la confianza tanto como dice el autor del artículo. Si ya has aceptado ejecutar en tu ordenador un programa de código cerrado que ejecuta comandos por ti… no sé qué decirte. Anthropic no se pasará demasiado por pura reputación, pero usar Claude es aceptar ese trato desde el minuto uno.”
Este argumento tiene su parte de razón: cuando le das las llaves de tu casa a un software de código cerrado, la exigencia de “transparencia” ya viene con descuento. Anthropic, efectivamente, no ha hecho nada malicioso aquí: solo ha puesto una “marca antitrampas”. No ha robado tu código, no ha subido tus archivos, no ha monitorizado tu comportamiento.
Pero la réplica es igual de sólida: la confianza no es una tarjeta de crédito infinita con el saldo de “total, ya confiaste en mí”. Precisamente porque el usuario ha delegado permisos enormes en esta herramienta —leer archivos, ejecutar comandos, modificar código, conectarse a internet—, la transparencia debería ser mayor, no menor. La confianza se acumula en los detalles más aburridos, y en los detalles más aburridos también se pierde.
La pregunta de fondo: ¿quién dicta las reglas?
El núcleo de esta controversia toca un vacío de gobernanza propio de la era de la IA:
Cuando una empresa de IA necesita proteger sus intereses comerciales, ¿hasta dónde puede permitirse ser opaca con sus usuarios? ¿Quién traza esa frontera?
A día de hoy, la respuesta es: la propia empresa de IA. Anthropic decide por sí misma que “detectar los canales de distribución chinos” es un objetivo suficientemente importante. Decide por sí misma que “las marcas invisibles no perjudican al usuario”. Decide por sí misma que “no hace falta mencionarlo en el changelog”. En todo este proceso no ha habido supervisión externa, ni estándar sectorial, ni consentimiento del usuario.
Pero el usuario es la persona que ejecuta ese programa en su propio ordenador.
Escribo esto sin intención de emitir un veredicto binario de “Anthropic mala” o “los usuarios exageran”. Si esta controversia ha alcanzado 1.284 puntos en Hacker News es justamente porque ambas partes tienen argumentos que se sostienen. Anthropic sufre pérdidas comerciales reales que necesita prevenir. Los usuarios tienen motivos reales para exigir transparencia.
Lo que de verdad merece nuestra atención es otra cosa: si “la honestidad inutilizaría mi solución” se convierte en justificación aceptable para la opacidad, entonces cualquier empresa de IA, en el futuro, podrá usar la misma lógica para hacer cualquier cosa que considere “necesaria” sin que el usuario lo sepa. No es alarmismo: el siglo pasado, las tecnológicas convirtieron “para mejorar tu experiencia de usuario” en la coartada universal para recolectar datos privados. Esa frase nos suena demasiado familiar.
La tinta invisible no es el problema. El problema es que nadie sepa que existe.
Imagen de portada del artículo de Thereallo que ilustra el principio técnico: Claude Code incrusta marcas invisibles en el prompt del sistema mediante la sustitución de caracteres Unicode. Fuente: thereallo.dev
Enlaces de referencia:
- https://thereallo.dev/blog/claude-code-prompt-steganography
- https://news.ycombinator.com/item?id=48734373
- https://lobste.rs/s/qs2sxd/claude_code_is_steganographically
- https://www.anthropic.com/news/detecting-and-preventing-distillation-attacks
- https://www.tomshardware.com/tech-industry/artificial-intelligence/anthropic-claims-that-chinas-alibaba-illicitly-distilled-its-models-from-april-to-june-2026-says-effort-involved-25-000-fake-accounts-and-28-8-million-exchanges-on-claude