← Blog

Modo Encubierto de Claude Code: Lo que Realmente Revela el Código Fuente Filtrado

El código fuente filtrado de Claude Code reveló un Modo Encubierto que le indica a Claude: 'No reveles tu identidad. Nunca menciones que eres una IA.' Esto es lo que realmente hace, y por qué les importa a los desarrolladores.

11 min read
Modo Encubierto de Claude Code: Lo que Realmente Revela el Código Fuente Filtrado

Hola, ¿cómo están? Soy Dora. He estado leyendo la filtración de Claude Code desde que salió a la luz en marzo de 2026. La mayor parte de la cobertura se ha centrado en las mascotas BUDDY y los demonios KAIROS — genuinamente interesantes, pero yo seguía quedándome atascada en algo más pequeño y específico.

Un archivo llamado utils/undercover.ts. Y un prompt del sistema que comienza con: “Do not blow your cover.” (“No te descubras.”)

Esa frase me detuvo. No porque sea obviamente siniestra. Sino porque es el tipo de cosa que suena completamente razonable en un contexto y profundamente extraña en otro — y el código fuente filtrado no te dice en cuál de los dos estás.

Esto es lo que realmente encontré.

Lo que el Código Fuente Filtrado Dice en Realidad — El Prompt del Sistema Completo

Según el análisis del desglose de GitHub de Kuberwastaken — una de las primeras lecturas detalladas del código expuesto — el modo undercover de Claude Code se activa automáticamente cuando se identifica a un usuario como empleado de Anthropic (USER_TYPE === 'ant') trabajando en un repositorio público o de código abierto.

Cuando se cumple esa condición, el sistema inyecta lo siguiente en el prompt del sistema de Claude:

MODO UNDERCOVER — CRÍTICOEstás operando ENCUBIERTO en un repositorio PÚBLICO/DE CÓDIGO ABIERTO.Tus mensajes de commit, títulos de PR y cuerpos de PR NO DEBEN contener NINGUNA información interna de Anthropic.No te descubras.

Las cosas específicas que elimina de los commits y pull requests: nombres en clave internos de modelos (nombres de animales como Capybara, Tengu), números de versión de modelos no publicados, canales internos de Slack y enlaces cortos (p. ej., go/cc), nombres de repositorios o proyectos internos, la frase “Claude Code”, y cualquier mención de que el autor es una IA — incluyendo las líneas Co-Authored-By.

Un detalle que vale la pena señalar del análisis técnico de Alex Kim: puedes forzar el Modo Undercover con CLAUDE_CODE_UNDERCOVER=1, pero no hay interruptor para desactivarlo. En las compilaciones externas, la función entera se elimina como código muerto. Una vez que se cumple la condición de activación en una compilación interna, el modo es una puerta de un solo sentido.

Para Qué Está Diseñado Realmente el Modo Undercover

Seamos justos sobre la intención original, porque importa.

Los ingenieros de Anthropic usan Claude Code cuando contribuyen a proyectos de código abierto. Eso es un flujo de trabajo legítimo y cada vez más común. El problema es real: una IA que trabaja con contexto interno puede filtrar accidentalmente identificadores internos. Un mensaje de commit que menciona un número de versión de modelo no publicado, una descripción de PR que hace referencia a un canal interno de Slack — estos son el tipo de revelaciones que exponen información de hoja de ruta que nadie tenía intención de hacer pública.

El Modo Undercover es, en su lectura más estricta, una herramienta de higiene de datos para prevenir la exposición accidental de información interna. ¿Eliminar nombres en clave internos de los mensajes de commit públicos? Razonable. ¿Evitar que las referencias a los enlaces cortos go/cc aparezcan en un PR público? Razonable.

La frase “No te descubras” es lo que hace más difícil leer esto con benevolencia. Enmarca la situación no como “evitar filtrar datos internos” sino como “mantener una historia de cobertura”. Esas son orientaciones significativamente diferentes. Una es sobre higiene de información; la otra suena más a ocultamiento activo.

Por Qué la Reacción de la Comunidad de Desarrolladores Ha Sido Mixta

Tres grupos surgieron casi de inmediato en el hilo de Hacker News y en X.

El grupo del schadenfreude señaló lo obvio: Anthropic construyó un subsistema completo para evitar que la información interna se filtrara — y luego entregó ese subsistema, junto con 512.000 líneas de código fuente propietario, en un archivo .map que cualquiera podía descargar. El sistema diseñado para prevenir filtraciones es en sí mismo el detalle más memorable de la filtración más grande. La cobertura de VentureBeat confirmó que Anthropic reconoció el incidente, describiéndolo como “un problema de empaquetado de lanzamiento causado por error humano, no una brecha de seguridad.”

El grupo preocupado se centró en la supresión de Co-Authored-By. La mayoría de las principales herramientas de codificación con IA — incluido GitHub Copilot — dejan señales de atribución en los metadatos de los commits cuando asisten con código. Eliminar activamente esas señales, específicamente de repositorios públicos de código abierto, pone a Claude Code en una categoría diferente. Esto importa porque las normas de contribución al código abierto dependen de saber quién — o qué — contribuyó con qué. El Developer Certificate of Origin, que muchos proyectos de código abierto usan como un marco de certificación ligero, requiere que los contribuyentes certifiquen que tienen el derecho de enviar su trabajo. Un contribuyente de IA al que se le ha instruido eliminar toda evidencia de ser una IA crea una tensión con ese marco que no se resuelve con buenas intenciones.

El grupo pragmático contraatacó: todas las empresas tienen herramientas internas con propiedades inusuales; las de Claude Code simplemente resultan ser inusualmente visibles ahora. Y para ser claros — no hay evidencia de que el Modo Undercover afecte a los usuarios regulares de Claude Code. El disparador es USER_TYPE === 'ant': solo empleados de Anthropic, solo en repositorios públicos.

Esa es una aclaración importante que parte de la cobertura ha oscurecido.

La Pregunta Más Amplia que Plantea para el Desarrollo Asistido por IA

La revelación del Modo Undercover llegó en medio de un debate en curso que ya se estaba intensificando.

Red Hat publicó un análisis exhaustivo del desarrollo asistido por IA y las normas de código abierto a finales de 2025, argumentando que la divulgación transparente de la asistencia de IA se trata cada vez más como una norma cultural en las comunidades de código abierto — incluso cuando aún no está legalmente mandatada. Proyectos como QEMU han adoptado políticas explícitas que prohíben totalmente las contribuciones generadas por IA, en gran parte debido a la incertidumbre sobre el cumplimiento del DCO. Fedora ha ido en la dirección opuesta, exigiendo divulgación mediante etiquetas “Assisted-by:” pero sin prohibir la participación de IA.

La posición de la Linux Foundation — que sustenta el DCO que rige los estándares de contribución para miles de proyectos importantes — es que el marco fue diseñado en torno a la autoría humana y no se ha puesto al día completamente con los flujos de trabajo asistidos por IA. Esa ambigüedad crea un riesgo real para los proyectos donde la claridad legal importa.

Lo que hace el Modo Undercover es optar por salir de esa norma emergente exactamente en el punto donde podría crear más fricción: contribuciones de una empresa de IA a proyectos públicos de código abierto. Eso no es lo mismo que un desarrollador individual que usa Copilot en silencio para código repetitivo. La asimetría de información es significativamente diferente cuando la parte que hace contribuciones ha construido la herramienta de IA, emplea a los ingenieros que la usan, y ha diseñado el sistema para suprimir la divulgación.

No creo que sea una decisión cínica. Creo que es una decisión práctica que probablemente no fue examinada cuidadosamente desde una perspectiva de transparencia. Pero esa brecha entre intención y apariencia es exactamente a lo que está reaccionando la comunidad de desarrolladores.

Qué Más Se Encontró Junto al Modo Undercover

El hallazgo del Modo Undercover no llegó solo. El mismo código fuente filtrado contenía 108 módulos con control de características eliminados de las compilaciones externas mediante la eliminación de código muerto en tiempo de compilación de Bun. KAIROS — un agente autónomo de fondo persistente que observa tu entorno de trabajo y actúa sin prompts. ULTRAPLAN. VOICE_MODE. Un sistema de mascotas virtuales llamado BUDDY con 18 especies, semilla determinista por usuario y un 1% de probabilidad de variante brillante.

Todos estos son genuinamente interesantes por sí mismos. Pero el Modo Undercover se ganó su propia conversación porque no es una característica futura — es comportamiento actual y activo en una herramienta de producción utilizada por las personas que construyen Claude.

La ironía central permanece: el Modo Undercover fue construido para prevenir filtraciones. El archivo .map que lo expuso fue, según el informe de Decrypt sobre el incidente, probablemente enviado como resultado de error humano en el pipeline de compilación. Anthropic desde entonces ha retirado la versión del paquete y se ha comprometido a cambios en el proceso.

Qué Significa Esto para los Equipos que Evalúan Herramientas de Codificación con IA

Si estás tomando decisiones sobre herramientas para un equipo que contribuye al código abierto, algunas preguntas que vale la pena hacer sobre cualquier asistente de codificación con IA:

¿Atribuye la asistencia de IA en los metadatos de commits por defecto? Algunas herramientas lo hacen, otras no, y algunas eliminan activamente la atribución dependiendo de la configuración. Saber en qué categoría cae tu herramienta antes de que sea relevante.

¿Qué telemetría se ejecuta en segundo plano? El código fuente filtrado mostró que Claude Code consulta un endpoint de configuración remota cada hora y lleva interruptores de características que pueden activarse remotamente. Eso no es inusual para software empresarial, pero vale la pena ser explícito al respecto en revisiones de seguridad internas y evaluaciones de proveedores.

¿Hay una diferencia significativa entre el comportamiento del CLI y el comportamiento de la API? Los equipos que construyen sobre las API del modelo a través de capas de agregación tienen una relación diferente con estas preguntas que los equipos que usan herramientas CLI empaquetadas con sus propios valores predeterminados opinionados. Los valores predeterminados son donde viven las decisiones interesantes, y rara vez se publicitan de manera prominente.

Nada de esto es un argumento a favor o en contra de ninguna herramienta específica. Es un recordatorio de que “asistido por IA” no es una categoría monolítica — los comportamientos específicos integrados en las herramientas importan, y vale la pena examinarlos con el mismo rigor que aplicarías a cualquier sistema de terceros que se ejecuta en tu entorno de desarrollo.

Preguntas Frecuentes

¿Qué es el modo undercover de Claude Code?

Un subsistema en Claude Code (utils/undercover.ts) que inyecta un prompt del sistema instruyendo a la IA para eliminar toda la información interna de Anthropic — incluyendo la atribución de IA — de los commits de git y pull requests cuando un empleado de Anthropic está trabajando en un repositorio público o de código abierto.

¿Afecta el Modo Undercover a los usuarios regulares de Claude Code?

No. La condición de activación es USER_TYPE === 'ant' — solo empleados de Anthropic. Los usuarios externos en compilaciones estándar de Claude Code tienen la función completa eliminada como código muerto de su instalación.

¿Está Claude Code ocultando la participación de IA en commits de código abierto?

Para los empleados de Anthropic que trabajan en repositorios públicos con la compilación interna: sí, por diseño. Para todos los demás: no hay evidencia de ese comportamiento. La distinción importa.

¿Dónde puedo leer el código fuente filtrado de Claude Code por mí mismo?

Anthropic retiró la versión del paquete npm y ha perseguido solicitudes de DMCA contra los espejos de GitHub. El análisis archivado de investigadores como Kuberwastaken y Alex Kim documenta lo que se encontró.

¿Ha comentado Anthropic sobre el Modo Undercover?

El portavoz de Anthropic confirmó que la filtración más amplia fue “un problema de empaquetado de lanzamiento causado por error humano, no una brecha de seguridad.” No se ha emitido ninguna declaración específica sobre el Modo Undercover en el momento de escribir esto.

Lo que sigo recordando es cuánto de esto habría permanecido invisible sin la filtración. El comportamiento en sí puede ser defendible. Pero “defendible si se examina” y “examinado” son dos cosas diferentes. Las comunidades de código abierto generalmente han decidido que prefieren lo segundo.

Anthropic probablemente también lo prefiere, en principio. Simplemente no aplicó ese principio aquí.

Artículos Anteriores: