Apéndice — Ubicaciones de archivos, puertos y entorno

Este apéndice reúne en tablas de referencia los datos concretos repartidos por el resto del manual: ubicaciones en disco, puertos de red, variables de entorno y argumentos de inicio, y una hoja de referencia rápida de la VM invitada. Todo lo aquí recogido corresponde a la versión distribuida (versión 4.3.0, ID de paquete io.bromure.agentic-coding). Para los comandos que leen y escriben estos valores, consulta Automatización y la CLI; para lo que se crea en el momento de la instalación, consulta Instalación.

Marcadores de posición usados a continuación: <uuid> es el identificador de un espacio de trabajo, <version> una versión fijada de una herramienta, <org>--<name> un repositorio de modelos, y <host-UUID> un anfitrión remoto guardado.

Ubicaciones en disco

Todo lo que posee la app reside bajo un único directorio de soporte, más un puñado de archivos fuera de él y unos pocos elementos del Keychain. Las tablas siguientes están sin duplicados y agrupadas; una ruta que termina en / es un directorio.

El directorio de soporte

La raíz de soporte de la app es ~/Library/Application Support/BromureAC/. Las rutas siguientes son relativas a ella.

RutaContiene
base.imgLa imagen base de Ubuntu 24.04 que clona cada espacio de trabajo (24 GB lógicos, ~6–8 GB físicos).
efivars.binAlmacén de variables EFI con el que arranca la imagen base.
base.versionSello de versión de la imagen instalada, p. ej. 200 o 200.1.
image-state.jsonProcedencia de la imagen y los UUID de los pasos de posinstalación aplicados.
img-catalog.jsonCopia en caché del catálogo de imágenes descargado.
browser-img-catalog.jsonCatálogo en caché de la imagen del navegador integrado.
catalog.jsonManifiesto en caché del catálogo remoto para modelos de inferencia locales.
base.img.partial, base.img.gz.partial, efivars.partialArchivos de instalación transitorios; su presencia significa que una instalación está en curso o fue interrumpida.
alpine-vmlinuz, alpine-initramfs, alpine-initramfs-shimmedArchivos del instalador de arranque en red de Alpine en caché, usados por la compilación local.
browser/La copia propia de AC de la imagen del navegador Alpine/Chromium (linux-base.img, vmlinuz, initrd) cuando la copia de Bromure Web no está presente.
browser-profiles/<uuid>/image/profile.imgDisco de perfil de Chromium persistente y cifrado ("Mantener sesión iniciada en los sitios web").
ca/cert.pem, ca/key.pemLa CA raíz de Bromure Agentic Coding por instalación (modo de clave 0600). Elimina el directorio ca/ para rotarla.
control.sockSocket de control Unix exclusivo del propietario (0600) sobre el que la CLI y el plano de control hablan HTTP.
profile-macs.jsonVinculaciones de MAC deterministas por espacio de trabajo.
dhcp-leases.sqliteConcesiones DHCP persistentes para el conmutador NAT compartido.
default-ssh/id_ed25519.raw, default-ssh/id_ed25519.pubPar de claves SSH predeterminado compartido, copiado en cada nuevo espacio de trabajo.
profile-template.json, profile-template.encLa plantilla de "Valores predeterminados" de Preferencias que heredan los nuevos espacios de trabajo (mantenida fuera de profiles/ para que nunca aparezca en el selector).
automations.jsonAutomatizaciones programadas más el historial de ejecuciones (máx. 1000 registros), próximos disparos y marcas de nivel máximo del sondeo de eventos.
grid-layout.jsonPertenencia a la cuadrícula de Terminal.
engine-master.keySecreto maestro de 32 bytes para las claves del motor de inferencia local por VM.
engine-spawn.jsonConfiguración de generación del proceso hijo del motor de inferencia local (modelos, presupuesto de memoria, puerto).
fake-salt.binSal de 32 bytes por instalación para derivar tokens falsos (0600). Eliminarla rota cada falso en este Mac.
secrets-master.keyClave maestra AES-256 de reserva 0600, usada solo cuando el Keychain de Protección de Datos no es accesible.
claude-subscription.enc, codex-subscription.enc, grok-subscription.encAlmacenes OAuth de suscripción propiedad del anfitrión, cifrados con AES-GCM (predeterminado compartido más anulaciones por espacio de trabajo), 0600.
cloudflared/<version>/cloudflaredBinario cloudflared fijado y verificado por suma de comprobación, con un enlace simbólico current al lado.
ghostty/Configuraciones de terminal generadas (base más por espacio de trabajo).

Almacenamiento por espacio de trabajo

Cada espacio de trabajo es un directorio autónomo en profiles/<uuid>/ bajo la raíz de soporte. Consulta Espacios de trabajo y Conceptos para saber cómo se usan.

Ruta (bajo profiles/<uuid>/)Contiene
profile.jsonDefinición del espacio de trabajo, incluido el bloque de política supplyChain; las claves de API de socket.dev y Delpi se almacenan aquí en el lado del anfitrión y nunca se copian dentro de la VM. Solo se escriben los campos que no son predeterminados.
secrets.encSecretos del espacio de trabajo cifrados con AES-GCM (chmod 600).
disk.imgDisco del sistema — un clon copia-en-escritura APFS de base.img.
home.imgImagen ext4 dispersa que aloja /home/ubuntu (modelo de home moderno).
home/Directorio home virtiofs heredado (espacios de trabajo previos a la actualización).
boot-home/Home de arranque mínimo compartido en los arranques con modelo ext4.
home.pre-ext4/Copia de seguridad del home conservada tras la actualización del almacenamiento.
checkpoints/, checkpoints/home/Clones de reversión de disco y de home comprobados en el arranque.
vm.stateInstantánea de la RAM de la VM suspendida.
tabs.jsonDistribución de pestañas guardada, respetada solo cuando existe vm.state.
machine-identifier.binIdentidad de máquina VZ persistente (necesaria para restaurar una VM suspendida).
compromised.flagMarcador de borrado en el próximo inicio, establecido tras detectar una fuga de credencial.
meta-share/Compartición de configuración de solo lectura del invitado por inicio (api_key.env, proxy.env, el certificado de la CA, agentes, configuraciones de MCP).
outbox/Compartición de eventos invitado→anfitrión con permiso de escritura por inicio.
agent/ (y agent/imported/), ssh/Material de claves SSH por espacio de trabajo; las claves importadas residen en agent/imported/, ssh/ es el directorio heredado.

Modelos y detectores

Ruta (bajo la raíz de soporte)Contiene
models/<org>--<name>/Pesos de modelos de inferencia MLX descargados (disposición plana por repositorio).
models/<org>--<name>/.incompleteCentinela de descarga en curso o interrumpida.
Models/prompt-injection/Recursos del detector PromptGuard (model.onnx, archivos del tokenizador, anulaciones opcionales bromure-injection.json).
Models/claudemd-guard/Recursos del detector de archivos de reglas ModernBERT.
traces/YYYY-MM-DD/<sessionID>.jsonlMetadatos de traza por sesión, un registro JSON por línea.
traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc, .res.encCuerpos de petición/respuesta capturados, cifrados con AES-GCM (0600).

Inscripción, acceso remoto y el cliente enriquecido

Ruta (bajo la raíz de soporte)Contiene
managed/install.jsonIdentidad de inscripción: ID de instalación, slug del espacio de trabajo, usuario, URL del servidor, nombre del dispositivo, fecha de inscripción.
managed/leaf.crtCertificado de hoja mTLS (PEM, inspeccionable).
managed/leaf.serialPuntero a la entrada del Keychain que contiene la clave privada de la hoja actual.
managed/ca.crtCertificado de CA de la organización del espacio de trabajo (PEM).
managed/healthEstado de inscripción persistido (ok / tokenRejected / revoked).
remote/hostkey_ed25519, remote/hostkey_ed25519.pubClave de anfitrión del servidor SSH integrado (modo de directorio 0700, clave 0600).
remote/authorized_keysClaves públicas admitidas a través de la puerta de entrada SSH (0600).
remote/overlay-keyAnulación opcional de combinación de teclas superpuesta para el menú remoto SSH.
remote-client/id_ed25519, .pubEl par de claves de cliente SSH del cliente enriquecido (comentario bromure-ac-fatclient).
remote-client/known_hostsFijaciones de confianza en el primer uso de las claves de anfitrión remoto.
remote-client/hosts.jsonServidores remotos guardados ("Servidores recientes").
remote-client/hosts/<host-UUID>/grid-layout.json, automations.jsonPersistencia de réplica por anfitrión para que una cuadrícula remota nunca sobrescriba la local.

Nota: El subárbol remote-client/ se reubica con CFFIXED_USER_HOME, que es la forma en que se pueden ejecutar dos instancias aisladas en paralelo para pruebas.

Fuera del directorio de soporte

RutaContiene
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plistLaunchAgent de arranque al iniciar sesión, escrito cuando cualquier espacio de trabajo activa "Iniciar esta VM al iniciar sesión".
<app>/Contents/Library/LaunchDaemons/io.bromure.fatclient-tunnel.plistDemonio de túnel privilegiado integrado, registrado bajo demanda mediante SMAppService.
/var/run/io.bromure.fatclient-tunnel.sockSocket del demonio de túnel privilegiado (creado por root, chmod 600, con propietario cambiado al usuario de consola).
/tmp/bromure-ac-cm-<first-12-of-host-UUID>Socket ControlMaster de SSH por anfitrión (mantenido en /tmp porque la ruta de soporte excede el límite de longitud de AF_UNIX).
/tmp/bromure-repair.logRegistro de depuración del proxy de reparación de inferencia local (solo con BROMURE_REPAIR_DEBUG).
/usr/local/bin/bromure-cliEnlace simbólico opcional de la CLI al binario de la app, ofrecido una vez en el primer inicio.
<NSTemporaryDirectory>/bromure-ac-agent-<pid>.sockEl socket privado de ssh-agent del lado del anfitrión de Bromure.
$TMPDIR/bromure/session-<uuid>.img (y -aux.img)Clones copia-en-escritura efímeros de la VM del navegador, eliminados al desmontar.
<app temp dir>/bromure-files/<profile-id>/Caché de descargas de los archivos del invitado abiertos desde el explorador de archivos.
~/Library/Application Support/Bromure/Directorio de soporte de Bromure Web; AC lee su imagen de navegador desde aquí cuando está presente.
~/.cache/bromure-ghosttyCaché de la cadena de herramientas Zig usada solo al compilar el framework de terminal desde el código fuente.

Elementos del Keychain y dominio de defaults

Los secretos que deben persistir con protección a nivel del sistema operativo residen en el Keychain de macOS, no en el disco.

Servicio del KeychainCuentaContiene
io.bromure.agentic-coding.master-keyv1La clave maestra AES-256 de la bóveda de secretos (Keychain de Protección de Datos).
io.bromure.agentic-coding.ssh-key-passphrases<profileUUID>/<filename>Frases de contraseña para claves SSH importadas.
io.bromure.agentic-coding.managed-installinstall-token, leaf-cert-key-<serial>Token portador de inscripción y claves privadas de hoja por número de serie.

Todos los UserDefaults de la app residen en el dominio io.bromure.agentic-coding (se leen y escriben con defaults read/defaults write).

Puertos de red y subredes

Puertos TCP y de bucle invertido

Bromure Agentic Coding no abre puertos de entrada fijos de forma predeterminada. Los dos servicios opcionales siguientes están desactivados hasta que los actives; el resto son exclusivos de bucle invertido y o bien dinámicos o bien internos.

PuertoPropósitoEnlazado en
9223 (predeterminado)API HTTP de automatización y backend de bromure-cli mcp. Desactivado de forma predeterminada (automation.enabled); elegido uno por encima del 9222 del producto de navegador para que ambas apps puedan ejecutarse en paralelo. Sirve GET /health.127.0.0.1 (configurable mediante automation.bindAddress; los enlaces que no son de bucle invertido carecen de autenticación y se desaconsejan).
2222 (predeterminado)Puerta de entrada de acceso remoto SSH opcional. Desactivada de forma predeterminada; configurable a cualquier puerto ≥ 1024.0.0.0.0 de forma predeterminada (configurable mediante remoteAccess.bindAddress).
2850028599Escucha de devolución de llamada OAuth de MCP (http://127.0.0.1:<port>/callback).127.0.0.1.
dinámicoMotor de inferencia local, asignado en la primera generación para evitar colisiones con Ollama/LM Studio en el 11434.127.0.0.1 (nunca 0.0.0.0).
dinámicoProxy de reparación de llamadas a herramientas de inferencia local.127.0.0.1.
efímeroReenviador SOCKS5 por anfitrión remoto usado por el panel del navegador del cliente enriquecido.Enlazado a 0.0.0.0 pero filtrado por par a bucle invertido más 192.168.127.x.

Existen dos extremos de bucle invertido dentro del invitado, no en el Mac: 127.0.0.1:8080 (el proxy HTTP(S) dentro de la VM que cada shell exporta como HTTPS_PROXY) y 127.0.0.1:11434 (donde aparece el motor de inferencia local en el anfitrión, mediante un puente vsock).

La instalación en sí no abre puertos TCP; el proxy de paquetes de la compilación de la imagen base enlaza un puerto efímero de localhost por compilación.

Subredes de red virtual

SubredPropósito
192.168.64.0/24Subred NAT predeterminada para las VM de espacios de trabajo (puerta de enlace .1, grupo DHCP .2.254, concesiones de 24 h). Reubicada automáticamente si la LAN del Mac ya la usa.
192.168.65.0/24192.168.126.0/24Rango al que se reubican las instancias de Bromure Web, evitando que AC y Web colisionen.
192.168.127.0/24La subred local fijada de la VM del navegador del cliente enriquecido (puerta de enlace .127.1), para que la puerta de enlace sea predecible.
100.64.<n>.0/24Subredes de alias CGNAT para colisiones de subredes de flota — implementadas y probadas pero aún no conectadas a la ruta de ejecución (un único anfitrión remoto es la configuración admitida).
10.98.<unit>.0/30Redes de enlace punto a punto usadas por el demonio de túnel utun privilegiado.

Puentes vsock anfitrión↔invitado

El anfitrión y el invitado se comunican a través de sockets virtio (vsock), que no tienen vinculación de IP — son canales numerados entre el anfitrión (CID 2) y cada invitado. Son fontanería interna, listada aquí para diagnósticos.

Puerto vsockPuente
5800Agente de ejecución de shell — impulsa bromure-cli exec, la ruta de ejecución del socket de control y el panel del explorador de archivos.
5010Relé de devolución de llamada OAuth de bucle invertido (entrega las redirecciones OAuth de vuelta a las CLI dentro de la VM).
5830Lado del anfitrión del servidor MCP del navegador integrado (el shim stdio del invitado se conecta hacia fuera).
8443Proxy HTTPS MITM — la salida del invitado.
8444Puente de ssh-agent (respalda SSH_AUTH_SOCK).
8445Ayudante de credential_process de AWS.
8446Agente de token de suscripción de Claude, y el puente de inferencia local en el anfitrión (invitado 127.0.0.1:11434).
8447Agente de token de suscripción de Codex/ChatGPT.
5000Agente de configuración de la VM del navegador (configuración JSON anfitrión→invitado al reclamar).
5100Puente de transferencia de archivos de la VM del navegador (marco máximo de 16 MB, archivo máximo de 10 GB).
5200Puente del Protocolo de DevTools de Chrome de la VM del navegador (capturas de pantalla, evaluación).
5300 / 5400Emisor de enlaces / cámara web de la VM del navegador.
5810Puente de pestañas nativas de la VM del navegador.
5900Puente de traza de red de la VM del navegador.

Variables de entorno y argumentos de inicio

Estas influyen en la app en el inicio. La mayoría son para depuración, pruebas o compilación desde el código fuente; la columna Audiencia indica a quién va dirigida cada una. Establece una variable de entorno antes de iniciar el binario, o pasa un argumento de inicio después de él.

NombreEfectoAudiencia
-AppleLanguages "(fr)" (arg. de inicio)Anulación estándar de configuración regional de macOS; fuerza el idioma de la interfaz. Se elimina antes del análisis de argumentos para que los reinicios que fuerzan la configuración regional funcionen.Usuario final
BROMURE_DEBUG_CLAUDEDesbloquea los extremos de depuración en la API de automatización TCP (/app/state, exec, /vms, /debug/ui-shot, /detect/prompt-injection), permite que los secretos viajen por los puentes de perfil-JSON de AppleScript/MCP, y es necesaria para las herramientas de VM de bromure-cli mcp --debug.Usuario avanzado / depuración
BROMURE_AC_DEBUG=1Depuración con marca de tiempo en stderr para el motor de automatización, los clasificadores de inyección, el escáner de reglas y la canalización de trazas.Depuración
BROMURE_CLI_DEBUGDiagnósticos detallados de la conexión del socket de control en stderr para los comandos de la CLI.Depuración (CLI)
BROMURE_REPAIR_DEBUGDiagnósticos de petición/respuesta del proxy de reparación de inferencia local, añadidos a /tmp/bromure-repair.log.Depuración (modelos locales)
BROMURE_INFER_DEBUGEstadísticas del motor por petición (slot, tokens precargados, TTFT, tok/s) en stderr.Depuración (modelos locales)
BROMURE_FATCLIENT_LOGRegistro sin búfer en stderr del cliente enriquecido.Depuración (remoto)
BROMURE_ATTACH_DEBUG=<path>También añade el registro del cliente enriquecido a un archivo.Depuración (remoto)
BROMURE_INJECTION_COREML=1Ejecuta los clasificadores de inyección en el proveedor CoreML/Neural Engine (predeterminado a CPU; CoreML aproximadamente 5× la memoria residente con la misma precisión).Usuario avanzado
BROMURE_NO_COREMLDesactiva por la fuerza CoreML para los clasificadores incluso si BROMURE_INJECTION_COREML está establecida.Usuario avanzado
BROMURE_GPU_CACHE_GBLímite de caché de búfer de GPU de MLX en GB (predeterminado 4).Usuario avanzado (modelos locales)
BROMURE_KVBITS, BROMURE_KVBITS_START, BROMURE_CACHE_SLOTS, BROMURE_THINKINGAjuste de inferencia local: bits de cuantización de la caché KV y umbral, slots de sesión de la caché KV (1–8, predeterminado 4), y desactivación del pensamiento silencioso. Consulta Modelos locales.Usuario avanzado (modelos locales)
VISUAL / EDITOREditor usado por bromure-cli workspaces edit (recurre a vi).Usuario final (CLI)
BROMURE_MANAGED_URLAnula la base de la API de bromure.io usada para la inscripción, el latido y la emisión de certificados.Administrador de empresa
BROMURE_FATCLIENT_OPENInicio de cliente enriquecido puro: omite la ventana de configuración del primer uso (no se necesita imagen base local) y suprime el aviso del enlace simbólico bromure-cli.Avanzado / pruebas
BROMURE_IMAGE_CATALOG_BASEApunta las descargas de imágenes a un catálogo local/de preproducción; también desactiva la verificación de firma del catálogo. Solo para uso en pruebas y canalizaciones.Pruebas / CI
BROMURE_INSTALL_BROWSER_IMAGE=1Descarga automáticamente la copia de AC de la imagen del navegador integrado en el inicio (el disparador normal es el panel del navegador o AjustesNavegador).Pruebas / depuración
CODESIGN_IDENTITYIdentidad de firma de build.sh; sin establecer recurre a - ad-hoc (sin Gatekeeper, iCloud ni vmnet).Desarrollador (compilación)
DEVELOPER_ID, APPLE_ID, TEAM_ID, APP_PASSWORDFirma con Developer ID y notarización de package.sh. DEVELOPER_ID es obligatorio; el trío de notarización es opcional (sin él resulta un DMG firmado pero sin notarizar).Desarrollador / publicador
DRY_RUN=1, KEEP_PREVIOUS=1, KEEP_STAGING=1Interruptores de la canalización de publicación/ensayo de imágenes.Publicador

El motor también establece variables internas para sus propios procesos hijos (BROMURE_ENGINE_KEY, BROMURE_ENGINE_MASTER) y la VM de registro desechable establece BROMURE_AC_REGISTER; no están pensadas para establecerse a mano.

Claves de UserDefaults (defaults write)

Ajustes persistentes en el dominio io.bromure.agentic-coding. La mayoría tienen equivalentes en la interfaz; las claves vm.* y los controles de desarrollador se establecen con defaults write.

ClaveEfectoPredeterminado
automation.enabledActiva la API HTTP de automatización de bucle invertido.false
automation.portPuerto de la API de automatización.9223
automation.bindAddressDirección de enlace de la API de automatización.127.0.0.1
remoteAccess.enabledActiva la puerta de entrada de acceso remoto SSH.false
remoteAccess.portPuerto de la puerta de entrada SSH (≥ 1024).2222
remoteAccess.bindAddressDirección de enlace de la puerta de entrada SSH.0.0.0.0
remoteAccess.passwordAuth, remoteAccess.pubkeyAuthMétodos de autenticación SSH.ambos activados
vm.homeImageGBTamaño aparente (visible para el invitado) de una nueva imagen de home ext4, en GiB (8–1024; dispersa, así que no cuesta nada por adelantado).64
vm.mtuLímite de MTU de la NIC del invitado — redúcelo en anfitriones VPN que descartan silenciosamente las descargas del instalador.1280
vm.networkMode, vm.bridgedInterface, vm.dnsServersModo de red del grupo de navegadores, interfaz en puente y anulación de DNS de DHCP.modo NAT; los demás sin establecer
vm.extraChromeFlags, vm.chromeEnvExtraControles de desarrollador añadidos al inicio de Chromium de la VM del navegador.sin establecer
cloudflareTunnel.consentedConsentimiento único para exponer servicios HTTP mediante túneles rápidos de Cloudflare.false
cliSymlinkDeclinedSe establece cuando eliges "No volver a preguntar" en la oferta del enlace simbólico bromure-cli.false
ac.sidebarWidth, ac.filePaneOpenAncho de la barra lateral y estado de apertura del panel de archivos persistidos.fijado por la app

Hoja de referencia rápida de la VM invitada

Dentro de una VM de espacio de trabajo en ejecución eres ubuntu, un usuario ordinario (con capacidad de sudo) cuyo home es /home/ubuntu. El anfitrión conecta los montajes y el entorno para que los gestores de paquetes, los agentes y Git funcionen sin ninguna configuración dentro del invitado. Consulta Conceptos para los mecanismos.

Puntos de montaje

RutaQué es
/home/ubuntuTu home — el home.img ext4 (moderno) o una compartición virtiofs (heredada).
/mnt/bromure-metaCompartición de configuración de solo lectura por inicio: api_key.env, proxy.env, el certificado de la CA, agentes del invitado, configuraciones de MCP, pistas de nombre de host/MTU.
/mnt/bromure-outboxCompartición de eventos invitado→anfitrión con permiso de escritura (archivos de evento de un solo uso que lee el anfitrión).
/mnt/bromure-share-NCarpetas de proyecto compartidas (hasta 8), también enlazadas simbólicamente en tu home como ~/<basename>.
/mnt/bromure-meta/bromure-browser-mcp.pyEl shim stdio↔vsock de MCP del navegador generado, preparado en solo lectura en cada espacio de trabajo.
~/.bromure/pastes/Pegados de imágenes soltados en la terminal (limpiados automáticamente tras 7 días).

Entorno establecido por el anfitrión

VariableValor / efecto
http_proxy, https_proxy, HTTPS_PROXYhttp://127.0.0.1:8080 — el puente dentro de la VM que transporta todo el HTTPS del invitado al proxy MITM del anfitrión.
NO_PROXYlocalhost,127.0.0.1,::1.
SSH_AUTH_SOCK/tmp/bromure-agent.sock — puenteado sobre vsock al ssh-agent del anfitrión (solo son accesibles las claves por espacio de trabajo y las importadas explícitamente; tu agente de inicio de sesión de macOS nunca queda expuesto).
Variables del paquete de CALa CA raíz de refirma es de confianza a través de las variables estándar del paquete para node, python, go, rust, curl, deno y el SDK de AWS.
Claves de API de agentesANTHROPIC_API_KEY, OPENAI_API_KEY, XAI_API_KEY, GH_TOKEN, GITLAB_TOKEN, DIGITALOCEAN_ACCESS_TOKEN, LINEAR_API_KEY, las variables de AWS, y cualquier variable manual/de base de datos — todos valores de marcador de posición; el anfitrión intercambia el secreto real en la red.
Variables de agente en modo localCuando un espacio de trabajo enruta a un modelo local, Claude Code ve ANTHROPIC_BASE_URL=https://bromure.llm, un ANTHROPIC_AUTH_TOKEN por VM, alias de modelo establecidos al centinela bromure-local, y CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1.

Advertencia: Cada credencial que el invitado puede leer es un señuelo. Un token falso limitado a un anfitrión que aparece en una petición destinada a un anfitrión diferente es la firma de la exfiltración y activa la detección de compromiso — nunca autentica nada.