Claude Code inserta marcadores esteganográficos ocultos en sus peticiones al modelo

Fuentes: Claude Code Is Steganographically Marking Requests

Un análisis del código binario de Claude Code (versión 2.1.196) revela que la herramienta de programación basada en IA de Anthropic modifica de forma silenciosa partes del texto del prompt que envía al modelo para clasificar el entorno del usuario. Los cambios son casi imperibles: sustituye el apóstrofe de la palabra "Today's" por variantes Unicode distintas (’, ʼ, ʹ) y reemplaza el guion del formato de fecha AAAA-MM-DD por una barra.

La función responsable, identificada como Crt(), sólo se activa si existe la variable de entorno ANTHROPIC_BASE_URL, es decir, cuando el usuario enruta Claude Code por un punto de acceso distinto al oficial. En ese caso, el código evalúa la zona horaria (Asia/Shanghai o Asia/Urumqi), el nombre de host y palabras clave de laboratorios de inteligencia artificial (deepseek, zhipu, entre otros) para decidir qué marcador insertar. Las listas de dominios y palabras clave están almacenadas como cadenas en base64 y descodificadas con una clave XOR embebida en el propio binario.

Según el autor del análisis, el objetivo probable de Anthropic es detectar revendedores no autorizados, gateways internos y posibles pipelines de destilación de modelos. Sin embargo, considera problemática la implementación: un cliente que solicita acceso al sistema de archivos y al shell del desarrollador esconde señales de clasificación en el prompt mediante esteganografía, en lugar de comunicarlas de forma explícita. El bypass del sistema es trivial, por lo que la señal sólo identifica a usuarios legítimos con configuraciones poco habituales.

El binario analizado estaba firmado digitalmente por Anthropic, lo que descarta una versión manipulada.