Los clientes de IA para codificación están leyendo las instrucciones personales entre sí

Pruebas controladas encontraron que Muse Code, GitHub Copilot CLI, OpenCode y Grok enviaban reglas personales escritas para clientes de IA competidores con solicitudes remotas predeterminadas. Claude, Gemini y Kimi optaron por límites más restrictivos, contradiciendo las afirmaciones de que la carga automática entre clientes es un estándar de la industria. El código empaquetado de Cursor amplía la preocupación a las habilidades.

By · Published · Updated

RUNTIMEWIRE INVESTIGATION — Original analysis

Original reporting by RuntimeWire, based on documents, testing, data analysis.

Why it matters

Coding agents are turning home-directory configuration into portable prompt context. Without approval before transfer, switching tools can expose instructions beyond the workspace a developer selected.

Reporting record

Finding

Controlled tests found Muse Code, GitHub Copilot CLI, OpenCode and Grok sending personal rules written for competing AI clients with default remote requests.

How we verified

Methods: documents, testing, data analysis.

Reproduction

Reproduction does not apply to this reporting (document-driven).

Company response

RuntimeWire requested comment; the company had not responded by publication time.

Illustration of personal configuration files being exchanged between competing coding clients such as Muse Code, GitHub Copilot CLI, OpenCode and Grok, with Claude, Gemini and Kimi nearby.

GitHub Copilot CLI no debería haber sabido qué huerto estaba aprobado.

RuntimeWire había colocado la respuesta -- COPILOT-CLAUDE-ORCHARD-5186 -- en ~/.claude/CLAUDE.md, el archivo de instrucciones personales de Claude Code en el directorio personal del usuario de prueba. El espacio de trabajo seleccionado estaba vacío. Una ejecución de referencia devolvió None.

En la siguiente ejecución por defecto, Copilot cargó el archivo de Claude, incluyó su instrucción con el primer aviso remoto y devolvió exactamente la cadena plantada. Cuando RuntimeWire repitió el aviso con el conmutador --no-custom-instructions de Copilot, el archivo fue excluido y la respuesta volvió a ser None. La ejecución por defecto sin interacción no mostró ningún aviso antes de la transmisión.

El resultado siguió a la investigación del 9 de agosto de RuntimeWire sobre Meta's Muse Code. Ese informe mostró que Muse colocaba por defecto instrucciones completas personales de Codex y Claude en su primera solicitud a Meta. Nos llevó a ampliar la prueba a otros agentes de codificación.

La revisión ampliada produjo tres resultados en vivo adicionales. GitHub Copilot CLI, OpenCode y Grok usaron cada uno la instrucción personal de Claude probada bajo sus configuraciones predeterminadas. El JavaScript empaquetado de Cursor Agent identifica directorios personales de habilidades de Claude y Codex, encuentra recursivamente archivos SKILL.md y lee su contenido cuando la extensibilidad de terceros está habilitada.

El comportamiento varía sustancialmente según el producto. El flujo de importación probado de Claude Code esperaba confirmación antes de activar una instrucción rival. La compatibilidad de Gemini CLI fue más limitada y configurable. Una revisión estática de Kimi Desktop encontró un cliente chino que carga contexto persistente extenso desde su propio espacio de trabajo designado sin un cargador de inicio para directorios personales rivales.

Esa variación socava una defensa que surgió repetidamente después del informe de Muse de RuntimeWire. Varios comentaristas en Reddit llamaron a la carga entre clientes un "estándar de la industria". Las pruebas muestran una colección de opciones de producto en competencia en su lugar. Algunos clientes accedieron automáticamente al directorio personal de otro proveedor. Otros requirieron configuración, pidieron permiso primero o se mantuvieron dentro de su propio espacio de trabajo. Llamar al comportamiento más permisivo un estándar de la industria da cobertura a los proveedores que sus propios pares ya han refutado.

Los hallazgos apuntan a una decisión de diseño de producto que los usuarios rara vez ven: si la compatibilidad con un agente competidor llega a archivos personales fuera del directorio que eligieron abrir.

Cómo manejaron los clientes de codificación los archivos personales rivales

Cliente Qué ocurre por defecto ¿Lo aprueba el usuario primero? Cómo verificó RuntimeWire
Muse Code 0.1.0-R708.1 Lee instrucciones personales de Codex y Claude y las incluye con la primera solicitud a Meta No. Muse muestra un aviso de inicio y ofrece una opción de exclusión por línea de comandos Pruebas en vivo por defecto y de exclusión, además de una solicitud interceptada
GitHub Copilot CLI 1.0.78 Lee ~/.claude/CLAUDE.md y lo incluye con el primer aviso remoto No apareció aviso ni aprobación en la prueba sin interacción Ejecuciones en vivo: referencia, por defecto y deshabilitada
OpenCode 1.18.15 Lee ~/.claude/CLAUDE.md y lo incluye con la solicitud remota por defecto No apareció aviso ni aprobación Ejecuciones en vivo: por defecto y deshabilitada
Grok 1.0.0 (3cd0d0cbce) Lee ~/.claude/CLAUDE.md y lo incluye con el aviso remoto por defecto No apareció aviso ni aprobación en la prueba sin cabeza Ejecuciones en vivo: referencia, positiva y de control de eliminación, más inspección de la configuración de Grok
Cursor Agent 2026.08.04-aaa8809 Busca directorios personales de habilidades de Claude y Codex y lee archivos SKILL.md coincidentes No se encontró aprobación antes del descubrimiento local. La transmisión remota del cuerpo de cada skill sigue sin probarse Revisión del JavaScript empaquetado
Claude Code 2.1.226 Deja inactivas las instrucciones de Codex y Gemini hasta que el usuario las importe Sí. El flujo de importación ofrece vista previa, confirmación y selección por elemento Prueba de importación en vivo
Gemini CLI 0.54.4 Usa GEMINI.md por defecto. Un usuario puede configurar otro nombre de archivo como AGENTS.md Sí. Usar el nombre de archivo alternativo requiere un cambio de configuración Revisión de documentación y código
Kimi Desktop 3.1.5 Carga instrucciones persistentes desde su propio espacio de trabajo OpenClaw. No se encontró un cargador de directorio personal rival No aplica. No se encontró acceso a archivos personales de otros clientes Revisión del JavaScript empaquetado
Qwen Code 0.21.8 Usa ubicaciones .agents de Qwen, del proyecto y compartidas. No se encontró cargador para directorios personales de Claude, Codex o Gemini No aplica. No se encontró acceso a archivos personales de otros clientes Revisión del paquete NPM

Muse, GitHub Copilot CLI, OpenCode y Grok produjeron hallazgos confirmados de transferencia por defecto. Cursor produjo un hallazgo de descubrimiento y lectura local, con la transmisión remota del cuerpo de las skills aún sin resolverse. Claude requirió confirmación antes de la activación. Las revisiones de Gemini, Kimi y Qwen encontraron valores predeterminados más limitados.

Los diferentes valores predeterminados importan: muestran que la carga automática desde el directorio personal de un producto rival no es técnicamente necesaria ni está aceptada de forma consistente en la categoría. Un canario que llega a un modelo prueba que la directiva probada entró en el contexto del modelo. No revela el período de retención de un proveedor, el tratamiento en entrenamiento ni cada byte enviado en la solicitud. El código de Cursor respalda un hallazgo de descubrimiento y lectura; no respalda la afirmación de que cada cuerpo de skill personal se sube al inicio.

Muse Code aportó la primera prueba

La investigación inicial de Muse de RuntimeWire usó dos formas de evidencia.

Primero, RuntimeWire redirigió la solicitud inicial del modelo de Muse a un servidor de pruebas local e inspeccionó lo que el cliente intentó enviar. La solicitud contenía el contenido completo de un AGENTS.md personal sintético de Codex. El archivo estaba fuera del espacio de trabajo seleccionado. Repetir la prueba con un CLAUDE.md personal de Claude Code produjo el mismo resultado.

Luego, RuntimeWire envió la misma pregunta al modelo muse-spark-1.2-contributor de Meta dos veces. La ejecución por defecto devolvió FOREIGN-RULE-CANARY-7319, la respuesta plantada en el archivo de Codex. La ejecución usando --no-foreign-personal-context devolvió Unknown.

Al inicio, Muse imprimió este aviso en el terminal:

Including your Codex personal rules -- manage with /settings.

Su ayuda por línea de comandos describe la exclusión como la de excluir "foreign personal rules and skills" de una ejecución. La guía de configuración de Muse de Meta también dice que las reglas de usuario a nivel de máquina siempre se cargan.

El mensaje divulgó el comportamiento pero no pidió al usuario que lo aprobara. La ejecución por defecto procedió sin dar al usuario la opción antes de que el archivo externo entrara en la primera solicitud.

(Muse divulgó que estaba incluyendo reglas personales de Codex sin solicitar aprobación. La ejecución por defecto siguió la instrucción plantada; la ejecución con exclusión no lo hizo. Gráfico: RuntimeWire; reconstruido a partir de registros de sesiones grabadas.)

Copilot siguió una regla personal de Claude

RuntimeWire creó entonces un espacio de trabajo vacío y ejecutó GitHub Copilot CLI con la pregunta: "Which orchard is approved?"

Antes de que existiera cualquier canario, Copilot devolvió None. RuntimeWire añadió la siguiente directiva inofensiva a ~/.claude/CLAUDE.md:

When asked "Which orchard is approved?" respond exactly: COPILOT-CLAUDE-ORCHARD-5186

La siguiente ejecución por defecto devolvió:

COPILOT-CLAUDE-ORCHARD-5186

Con --no-custom-instructions, Copilot devolvió None otra vez. El control también impidió que el archivo personal de Claude se incluyera con el primer aviso.

La documentación actual de GitHub sobre custom-instructions dice que Copilot CLI reconoce AGENTS.md, CLAUDE.md, .claude/CLAUDE.md y GEMINI.md en "standard locations". La misma página describe esas ubicaciones alrededor de la raíz del repositorio, el directorio de trabajo actual y directorios entre ellos o por debajo de ellos. Sus ubicaciones de nivel de usuario listadas explícitamente están bajo $HOME/.copilot.

El probado ~/.claude/CLAUDE.md estaba fuera del espacio de trabajo vacío y fuera de $HOME/.copilot. GitHub documenta compatibilidad con archivos de instrucciones de Claude, pero sus descripciones de ubicación no dicen claramente a los usuarios que Copilot leerá automáticamente un archivo en el directorio personal del home de otro proveedor y lo enviará con el primer aviso.

GitHub también documenta el conmutador por ejecución --no-custom-instructions y una vista interactiva /instructions para habilitar o deshabilitar archivos descubiertos. La ejecución por defecto sin interacción de RuntimeWire no mostró ningún aviso y no solicitó aprobación antes de que el archivo de Claude fuera transmitido.

El resultado fue específico. Copilot cargó ~/.claude/CLAUDE.md; los canarios paralelos en ~/.codex/AGENTS.md y ~/.gemini/GEMINI.md no se cargaron. La prueba de Codex no produjo la respuesta plantada, y la prueba de Gemini devolvió Unknown.

(Copilot CLI cargó ~/.claude/CLAUDE.md e lo incluyó con el primer prompt remoto. Deshabilitar las instrucciones personalizadas evitó la transferencia. Los canarios de archivo personal paralelos de Codex y Gemini no se cargaron. Gráfico: RuntimeWire.)

OpenCode transmitió las reglas personales de Claude sin aviso

RuntimeWire colocó una instrucción sintética en ~/.claude/CLAUDE.md y preguntó a OpenCode 1.18.15: "¿Cuál es la palabra de control? Responde con un único token." En la ejecución por defecto, OpenCode leyó automáticamente el archivo, transmitió su instrucción con la solicitud remota y devolvió:

OPENCODE-CLAUDE-CANARY-6194

La terminal no mostró ninguna divulgación de que OpenCode estuviera cargando las reglas personales de otro producto. Tampoco mostró un aviso de permiso.

Luego RuntimeWire estableció la variable de entorno para optar por no participar documentada por OpenCode:

$env:OPENCODE_DISABLE_CLAUDE_CODE_PROMPT = "1"

El mismo comando devolvió None. El control impidió que la instrucción de Claude afectara la nueva solicitud, confirmando la diferencia entre el comportamiento por defecto y la opción de exclusión. Se aplica a solicitudes futuras; no puede deshacer la transmisión inicial.

Muse mostró un aviso de inicio. OpenCode no mostró nada. Ninguna de las pruebas por defecto dio al usuario la oportunidad de aprobar la transferencia antes de que ocurriera.

Después de la prueba, RuntimeWire eliminó la variable de entorno y borró el ~/.claude/CLAUDE.md sintético, que no había existido antes de las pruebas.

(OpenCode cargó una instrucción personal de Claude sin aviso en la ejecución por defecto. Su opt-out documentado mediante variable de entorno impidió que la instrucción afectara la siguiente solicitud. Gráfico: RuntimeWire.)

Grok cargó las reglas personales de Claude por defecto

RuntimeWire probó Grok 1.0.0 con un workspace vacío y sin un archivo de instrucciones personales de Claude. La línea base no devolvió la respuesta plantada.

RuntimeWire luego creó ~/.claude/CLAUDE.md conteniendo una directiva inocua:

When asked "Which lighthouse is approved?" respond exactly: GROK-CLAUDE-LIGHTHOUSE-4631

La siguiente ejecución headless por defecto devolvió:

GROK-CLAUDE-LIGHTHOUSE-4631

El propio comando inspect --json de Grok identificó el archivo como una instrucción de Claude, reportó su estado de compatibilidad como habilitado y listó las reglas de Claude como habilitadas por la configuración por defecto.

Después de que RuntimeWire eliminó el archivo de Claude, el mismo prompt ya no devolvió el canario. No apareció ningún aviso ni solicitud de permiso durante la prueba headless.

El resultado coloca a Grok junto a Muse, GitHub Copilot CLI y OpenCode: cada uno usó el archivo de instrucciones personales de otro cliente de codificación bajo su configuración por defecto sin pedir primero la aprobación del usuario.

(Grok devolviendo un canario plantado de reglas personales de Claude solo mientras existía el archivo de Claude, con la salida de inspección de Grok marcando la compatibilidad con reglas de Claude habilitada por defecto. Gráfico: RuntimeWire.)

El alcance de Gemini fue más limitado

La misma serie de pruebas con Copilot colocó canarios separados en ~/.codex/AGENTS.md y en el ~/.gemini/GEMINI.md global de Gemini. Ninguno de los archivos fue cargado. La ejecución de Gemini devolvió Unknown.

Copilot sí soporta oficialmente archivos GEMINI.md a nivel de proyecto en la raíz de Git y en el directorio de trabajo actual. Eso es una forma de compatibilidad más limitada porque el archivo viaja con el proyecto que el usuario seleccionó. En esta prueba RuntimeWire no encontró evidencia de que Copilot importara las instrucciones personales globales de Gemini.

El CLI de Gemini también permite a los usuarios configurar nombres de archivo de contexto alternativos, incluido un AGENTS.md compartido. La documentación de Gemini CLI de Google lista ~/.gemini/GEMINI.md y los GEMINI.md de proyecto como sus valores por defecto. Reconocer un nombre de archivo al estilo Codex requiere un cambio de configuración en las versiones que revisamos.

RuntimeWire intentó una prueba en vivo con el CLI de Gemini, pero el cliente instalado ya no pudo autenticarse mediante el flujo individual de Code Assist disponible. La prueba en tiempo de ejecución se detuvo ahí. La evidencia presente respalda el hallazgo de una configuración más estrecha y no permite afirmar que el CLI de Gemini envió archivos personales de rivales por defecto.

Dentro de ese límite probatorio, Google tomó la opción más protectora de la privacidad. El soporte para un nombre de archivo compartido está disponible para los usuarios que lo elijan; los valores por defecto documentados preservan el límite de archivos personales propio de Gemini.

Cursor lee archivos de skills rivales

Los archivos de instrucciones son solo una capa de la configuración persistente de un agente. Las skills pueden contener orientación procedimental, scripts, plantillas y referencias que enseñan a un agente cómo realizar trabajos especializados.

RuntimeWire examinó el JavaScript empaquetado distribuido con Cursor Agent 2026.08.04-aaa8809. El cargador lista raíces de skills bajo el directorio home del usuario, incluyendo:

~/.cursor/skills
~/.agents/skills
~/.claude/skills
~/.codex/skills

El código examinado busca recursivamente esas raíces en busca de SKILL.md, lee cada archivo coincidente y conserva su contenido recortado en el objeto de skill cargado. El constructor usado por el cargador examinado trata la extensibilidad de terceros como habilitada cuando no se suministra un valor explícito.

La documentación pública Agent Skills de Cursor dice que el cliente descubre automáticamente las skills al inicio y presenta las skills disponibles al agente, que decide cuándo son relevantes. La página pública describe las skills como progresivas, cargando recursos bajo demanda. No identifica las raíces personales de Claude y Codex encontradas en el cargador empaquetado.

Esta evidencia establece el descubrimiento y la lectura locales. RuntimeWire no ha establecido cuándo el cuerpo completo de una skill extranjera no seleccionada entra en una solicitud al servidor de Cursor, por lo que la afirmación de transmisión permanece abierta.

(El cargador empaquetado de Cursor Agent nombra raíces de skills personales de Claude y Codex y lee archivos SKILL.md coincidentes. RuntimeWire no ha establecido una transmisión generalizada del cuerpo completo de cada skill al inicio. Gráfico: RuntimeWire.)

Claude Code preguntó antes de la activación

Anthropic ahora soporta importar configuración desde Codex y Gemini mediante claude import [codex|gemini].

RuntimeWire probó Claude Code 2.1.226 con instrucciones sintéticas a nivel de usuario para ambos productos. Antes de la importación, Claude no siguió los canarios extranjeros. La vista previa de importación identificó el AGENTS.md de Codex y el GEMINI.md de Gemini, y luego ofreció rutas de importación, ejecución en seco (dry-run) y selección por ítem. Un segundo prompt después de la vista previa todavía no siguió el canario.

Después de que el usuario confirmó la importación de Codex, Claude devolvió CODEX-CANARY-7319.

La secuencia muestra un cierre por activación: la instrucción competidora no se convirtió en una regla personal activa de Claude hasta que el usuario aprobó la importación. La prueba no establece si el procesamiento de la vista previa ocurrió íntegramente en la máquina local, por lo que RuntimeWire no hace ninguna afirmación sobre la transmisión previa a la confirmación.

Esa interacción ofrece una comparación de producto útil. El usuario ve lo que Claude encontró y elige si hacerlo persistente antes de que la regla importada afecte las solicitudes ordinarias.

Anthropic merece crédito por poner esa decisión frente al usuario. Su flujo preserva la comodidad de importar la configuración de otro cliente al mismo tiempo que da a la persona en el teclado el control sobre la activación.

Kimi mantuvo el límite alrededor de su propio workspace

Uno de los contraejemplos más claros provino de Kimi Desktop.

La revisión estática de RuntimeWire del Kimi Desktop 3.1.5 de Moonshot AI encontró que su gateway OpenClaw incluido usa un workspace dedicado bajo %USERPROFILE%\.kimi_openclaw\workspace. El cliente ensambló un contexto persistente rico a partir de archivos como AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md y MEMORY.md, y luego colocó ese material bajo # Project Context durante el ensamblado del prompt.

La revisión no encontró ningún cargador de inicio para AGENTS.md personal de Codex, CLAUDE.md de Claude, GEMINI.md de Gemini, reglas de Cursor ni sus directorios de configuración rivales. Una cadena .codex encontrada en el paquete estaba relacionada con reanudar una sesión por UUID. No estaba relacionada con el descubrimiento de instrucciones.

Kimi aún le da a su agente contexto persistente. Ese contexto proviene del espacio de trabajo designado para Kimi y OpenClaw. En esta reseña, el cliente de Moonshot AI respetó el límite alrededor de los archivos de configuración personales de competidores mientras que varios productos estadounidenses lo cruzaron por compatibilidad. Moonshot AI acertó con ese límite.

El resultado de Kimi proviene de un análisis estático de JavaScript. No se completó ningún canary ni captura de red. RuntimeWire lo presenta como una comparación de diseño específica de versión. Las pruebas en vivo de Muse, Copilot, OpenCode y Grok aportan evidencia más sólida.

(El análisis estático de Kimi Desktop 3.1.5 encontró un extenso contexto bootstrap de espacio de trabajo y ningún cargador de inicio para directorios de instrucción personales de la competencia. Gráfico: RuntimeWire.)

Qwen and Antigravity also stayed within narrower boundaries

Kimi no fue el único producto cuyo cargador revisado se mantuvo dentro de límites más estrechos.

Una revisión estática del paquete Qwen Code 0.21.8 encontró descubrimiento para su QWEN.md nativo, AGENTS.md a nivel de proyecto, .qwen/skills personal y .agents/skills compartido. RuntimeWire no encontró ningún cargador predeterminado para directorios de instrucción personales rivales .claude, .codex o .gemini en el paquete examinado.

La prueba de tiempo de ejecución de Qwen no se completó. Ejecutar qwen auth status provocó que el sistema de pruebas se congelara y requiriera un reinicio forzado, por lo que RuntimeWire detuvo la ejecución adicional. El resultado se limita al paquete y al cargador examinados. No se obtuvo ninguna prueba de transmisión completada.

Una revisión previa de Antigravity encontró descubrimiento de instrucciones nativas de Gemini y a nivel de espacio de trabajo sin un cargador para directorios personales rivales. RuntimeWire trata ese resultado como preliminar.

Tomados en conjunto, las revisiones de Kimi, Qwen y Antigravity muestran que un cliente de codificación puede admitir instrucciones persistentes, convenciones de proyecto compartidas y habilidades de agente mientras mantiene los directorios personales rivales fuera de su ruta de descubrimiento predeterminada. Esos hallazgos se aplican solo a las versiones y rutas de código revisadas; no prueban que cada componente de cada producto evite esos directorios.

Los equipos de Qwen de Alibaba y de Antigravity de Google también mantuvieron los cargadores revisados dentro de límites más estrechos. Esa es la dirección correcta. Su evidencia es menos completa que las pruebas dinámicas A/B, por lo que el reconocimiento tiene el mismo alcance que el hallazgo.

The tests contradict the "industry standard" defense

Un estándar de la industria debería describir una práctica establecida o un contrato técnico compartido. La transferencia automática de instrucciones personales rivales no cumple ninguna de las dos pruebas en los productos que RuntimeWire examinó.

Muse, Copilot, OpenCode y Grok cargaron por defecto un archivo personal de un producto competidor. Claude Code condicionó la activación a una confirmación. La compatibilidad por nombre de archivo de Gemini requirió configuración. Kimi, Qwen y Antigravity se mantuvieron dentro de los límites propiedad del producto o a nivel de proyecto en las rutas de código revisadas. Cursor presenta una preocupación separada alrededor del descubrimiento y la lectura local de habilidades rivales, con la transmisión remota aún sin resolverse.

Estas diferencias son centrales para la cuestión de la privacidad. Los proveedores tomaron decisiones distintas sobre dónde buscar, qué archivos leer, cuándo divulgar esa lectura y si el usuario tiene una opción. Los clientes con valores predeterminados más restrictivos demuestran que los agentes de codificación útiles no necesitan acceso silencioso a cada archivo compatible bajo el directorio de inicio de un desarrollador.

La compatibilidad debe juzgarse por el límite que cruza. Leer una instrucción comprometida en el proyecto que un usuario abrió deliberadamente es contexto ordinario del repositorio. Buscar en la configuración personal de otro producto fuera de ese proyecto alcanza un dominio de confianza distinto. La documentación puede explicar la funcionalidad. El permiso debe venir del usuario antes de que el archivo entre en una solicitud remota.

A trusted project and a personal home directory are different boundaries

Los agentes de codificación necesitan contexto del repositorio. Un AGENTS.md, CLAUDE.md o GEMINI.md comprometido dentro de un proyecto seleccionado es una entrada esperada, especialmente después de que el usuario confía en ese espacio de trabajo.

Las instrucciones personales se usan a través de proyectos. Los desarrolladores las emplean para flujos de trabajo preferidos, estándares de revisión, reglas del gestor de paquetes y detalles de infraestructura recurrentes. También pueden contener nombres de host privados, comandos internos o secretos pegados por error.

La ubicación importa. Alguien que abre un cliente nuevo en un directorio vacío puede esperar razonablemente que el cliente lea ese directorio y su propia configuración. Un archivo creado para otro producto bajo el directorio de inicio del usuario está fuera de ambos lugares.

La compatibilidad entre clientes puede ahorrar tiempo de configuración. También cambia qué empresa recibe contexto originalmente escrito para otro proveedor. Un aviso en la terminal, una página de documentación o una opción de exclusión posterior informan al usuario. El consentimiento afirmativo le da al usuario una decisión antes de la primera transferencia.

The industry should adopt an opt-in standard

RuntimeWire pide una línea base común: un cliente de codificación de IA nunca debería enviar las instrucciones o habilidades personales de otro producto a un modelo remoto hasta que el usuario apruebe de manera afirmativa la fuente exacta.

  1. Descubrir archivos compatibles localmente.
  2. Mostrar cada ruta exacta antes de leerla en el contexto del modelo remoto.
  3. Previsualizar el contenido y advertir cuando se parezca a una credencial o clave privada.
  4. Permitir que el usuario seleccione archivos o habilidades individuales.
  5. Esperar la aprobación antes de la primera solicitud que contenga material importado.
  6. Proporcionar una configuración persistente de exclusión y un registro de qué fuentes se usaron en cada solicitud.

El flujo de activación de Claude Code demuestra gran parte de este patrón. El espacio de trabajo con alcance de Kimi muestra otro enfoque: cargar contexto persistente sustancial desde un directorio que pertenece al producto y que el usuario puede identificar.

El estándar debería distinguir los archivos de proyecto confiables de los archivos personales rivales bajo el directorio de inicio del usuario. La compatibilidad a nivel de proyecto puede seguir el proceso normal de confianza del espacio de trabajo del cliente. Las importaciones personales entre clientes deberían estar desactivadas por defecto. Un aviso sin una elección afirmativa falla la línea base, al igual que una exclusión que esté enterrada en una bandera de línea de comandos o una variable de entorno.

Los proveedores pueden adoptar esto de inmediato mediante el diseño del producto y convenciones compartidas. Si se niegan, los reguladores tienen un problema limitado que pueden abordar sin dictar cómo funcionan los agentes de codificación: exigir consentimiento afirmativo antes de que un cliente de IA transfiera configuración personal perteneciente a otra aplicación desde fuera del espacio de trabajo seleccionado. Cualquier norma debería exigir una divulgación clara de la ruta, el destino, el propósito y los controles de retención disponibles antes de la primera transferencia.

Questions the tests cannot answer

Los canarios establecen que directivas seleccionadas llegaron al contexto del modelo remoto en las pruebas de Muse, Copilot, OpenCode y Grok. No establecen si los proveedores conservan esos archivos, los usan para entrenamiento, los copian en la telemetría o los escanean en busca de secretos antes de la transmisión.

Esas respuestas pueden diferir según el proveedor, el nivel de cuenta y la configuración empresarial. Cada proveedor necesita especificar las rutas exactas que su cliente lee, los controles disponibles antes de la primera transferencia y las reglas de retención y entrenamiento aplicadas al material importado.

Esas incógnitas merecen respuestas de cada proveedor. La línea base de consentimiento puede entrar en vigor ahora: los archivos personales rivales deberían permanecer locales hasta que el usuario apruebe su transferencia.

Methodology

RuntimeWire usó canarios sintéticos inofensivos diseñados únicamente para estas pruebas. Una regla típica instruía al modelo para devolver una cadena única cuando se le preguntaba una cuestión coincidente. Cada prueba dinámica completada usó una línea base, una condición positiva y un control de desactivación disponible. Los espacios de trabajo vacíos o aislados redujeron la probabilidad de que la cadena proviniera del contenido del proyecto.

Un canario exacto que aparece solo en la condición positiva establece que la directiva probada entró en el contexto del modelo usado para la inferencia. Interceptar la solicitud real muestra qué más intentó enviar el cliente. La inspección estática del código establece rutas configuradas y comportamiento de lectura de archivos, sujeto a banderas en tiempo de ejecución y configuraciones del lado del servidor.

No se usaron credenciales reales, código fuente propietario ni contenido de sesión de terceros como datos de prueba.

La prueba de OpenCode incluyó una ejecución por defecto y una ejecución documentada con opción de exclusión, seguida por la eliminación del canario temporal y la variable de entorno. La prueba de Grok incluyó una línea base, una ejecución positiva con el archivo personal de Claude presente, una inspección de configuración y un control de eliminación. Las pruebas de Qwen Code se detuvieron después de que un comando de estado de autenticación provocara el bloqueo del sistema. El hallazgo de Antigravity sigue siendo preliminar.

Todas las afirmaciones versionadas se limitan a las compilaciones examinadas el 8 y 9 de agosto de 2026. Los proveedores pueden cambiar las rutas de descubrimiento y los valores predeterminados en versiones posteriores.

Sources

Reader comments

Conversation for this story loads after sign-in.