Anhang — Dateispeicherorte, Ports & Umgebung

Dieser Anhang fasst die konkreten Fakten, die über den Rest des Handbuchs verstreut sind, in Referenztabellen zusammen: Speicherorte auf der Festplatte, Netzwerk-Ports, Umgebungsvariablen und Startargumente sowie einen Spickzettel für die Gast-VM. Alles hier bezieht sich auf den ausgelieferten Build (Version 4.3.0, Bundle-ID io.bromure.agentic-coding). Für die Befehle, die diese lesen und schreiben, siehe Automatisierung & die CLI; für das, was zum Installationszeitpunkt erstellt wird, siehe Installation.

Nachfolgend verwendete Platzhalter: <uuid> ist die Kennung eines Arbeitsbereichs, <version> eine gepinnte Werkzeugversion, <org>--<name> ein Modell-Repository und <host-UUID> ein gespeicherter Remote-Host.

Speicherorte auf der Festplatte

Alles, was der App gehört, liegt unter einem einzigen Support-Verzeichnis, dazu einige wenige Dateien außerhalb davon und ein paar Keychain-Einträge. Die folgenden Tabellen sind entdupliziert und gruppiert; ein Pfad, der auf / endet, ist ein Verzeichnis.

Das Support-Verzeichnis

Das Support-Stammverzeichnis der App ist ~/Library/Application Support/BromureAC/. Die folgenden Pfade sind relativ dazu.

PfadEnthält
base.imgDas Ubuntu-24.04-Base-Image, von dem jeder Arbeitsbereich klont (24 GB logisch, ~6–8 GB physisch).
efivars.binEFI-Variablenspeicher, mit dem das Base-Image bootet.
base.versionVersionsstempel des installierten Images, z. B. 200 oder 200.1.
image-state.jsonHerkunft des Images und die UUIDs der angewandten Postinstall-Schritte.
img-catalog.jsonZwischengespeicherte Kopie des heruntergeladenen Image-Katalogs.
browser-img-catalog.jsonZwischengespeicherter Katalog für das eingebettete Browser-Image.
catalog.jsonZwischengespeichertes Remote-Katalog-Manifest für lokale Inferenzmodelle.
base.img.partial, base.img.gz.partial, efivars.partialTransiente Installationsdateien; ihr Vorhandensein bedeutet, dass eine Installation läuft oder unterbrochen wurde.
alpine-vmlinuz, alpine-initramfs, alpine-initramfs-shimmedZwischengespeicherte Alpine-Netboot-Installer-Dateien, die vom lokalen Build verwendet werden.
browser/ACs eigene Kopie des Alpine/Chromium-Browser-Images (linux-base.img, vmlinuz, initrd), wenn die Kopie von Bromure Web fehlt.
browser-profiles/<uuid>/image/profile.imgVerschlüsseltes persistentes Chromium-Profillaufwerk („Auf Websites angemeldet bleiben").
ca/cert.pem, ca/key.pemDie Bromure Agentic Coding Root CA pro Installation (Schlüsselmodus 0600). Löschen Sie das Verzeichnis ca/, um sie zu rotieren.
control.sockNur für den Eigentümer zugänglicher (0600) Unix-Steuersocket, über den die CLI und die Steuerebene HTTP sprechen.
profile-macs.jsonDeterministische MAC-Bindungen pro Arbeitsbereich.
dhcp-leases.sqlitePersistente DHCP-Leases für den gemeinsamen NAT-Switch.
default-ssh/id_ed25519.raw, default-ssh/id_ed25519.pubGemeinsames Standard-SSH-Schlüsselpaar, das in jeden neuen Arbeitsbereich kopiert wird.
profile-template.json, profile-template.encDie Einstellungs-Vorlage „Standardwerte", die neue Arbeitsbereiche erben (außerhalb von profiles/ gehalten, damit sie nie im Auswahlmenü erscheint).
automations.jsonGeplante Automatisierungen sowie Ausführungsverlauf (max. 1000 Datensätze), nächste Auslösezeiten und Hochwassermarken der Ereignisabfrage.
grid-layout.jsonTerminal-Grid-Mitgliedschaft.
engine-master.key32-Byte-Master-Geheimnis für lokale Inferenz-Engine-Schlüssel pro VM.
engine-spawn.jsonSpawn-Konfiguration der lokalen Inferenz-Engine-Kindprozesse (Modelle, Speicherbudget, Port).
fake-salt.bin32-Byte-Salt pro Installation zum Ableiten gefälschter Tokens (0600). Das Löschen rotiert jede Fälschung auf diesem Mac.
secrets-master.key0600 AES-256-Fallback-Masterschlüssel, nur verwendet, wenn die Data Protection Keychain nicht erreichbar ist.
claude-subscription.enc, codex-subscription.enc, grok-subscription.encAES-GCM-verschlüsselte, Host-eigene Abonnement-OAuth-Speicher (gemeinsamer Standard plus Überschreibungen pro Arbeitsbereich), 0600.
cloudflared/<version>/cloudflaredGepinntes, per Prüfsumme verifiziertes cloudflared-Binary, mit einem current-Symlink daneben.
ghostty/Generierte Terminal-Konfigurationen (Basis plus pro Arbeitsbereich).

Speicher pro Arbeitsbereich

Jeder Arbeitsbereich ist ein eigenständiges Verzeichnis unter profiles/<uuid>/ im Support-Stammverzeichnis. Siehe Arbeitsbereiche und Konzepte dafür, wie diese verwendet werden.

Pfad (unter profiles/<uuid>/)Enthält
profile.jsonArbeitsbereich-Definition, einschließlich des Richtlinienblocks supplyChain; socket.dev- und Delpi-API-Schlüssel werden hier host-seitig gespeichert und nie in die VM kopiert. Nur Felder, die vom Standard abweichen, werden geschrieben.
secrets.encAES-GCM-verschlüsselte Arbeitsbereich-Geheimnisse (chmod 600).
disk.imgSystemlaufwerk — ein APFS-Copy-on-Write-Klon von base.img.
home.imgSparse-ext4-Image, das /home/ubuntu enthält (modernes Home-Modell).
home/Legacy-virtiofs-Home-Verzeichnis (Arbeitsbereiche vor dem Upgrade).
boot-home/Winziges Bootstrap-Home, das bei ext4-Modell-Boots geteilt wird.
home.pre-ext4/Backup des Home, das nach dem Speicher-Upgrade aufbewahrt wird.
checkpoints/, checkpoints/home/Boot-erprobte Disk- und Home-Rollback-Klone.
vm.stateRAM-Snapshot der ausgesetzten VM.
tabs.jsonGespeichertes Tab-Layout, nur berücksichtigt, wenn vm.state existiert.
machine-identifier.binPersistente VZ-Maschinenidentität (erforderlich zum Wiederherstellen einer ausgesetzten VM).
compromised.flagMarkierung zum Löschen beim nächsten Start, gesetzt nach einem erkannten Leck von Zugangsdaten.
meta-share/Schreibgeschützte Gast-Konfigurationsfreigabe pro Start (api_key.env, proxy.env, das CA-Zertifikat, Agenten, MCP-Konfigurationen).
outbox/Schreibbare Gast→Host-Ereignisfreigabe pro Start.
agent/ (und agent/imported/), ssh/SSH-Schlüsselmaterial pro Arbeitsbereich; importierte Schlüssel liegen unter agent/imported/, ssh/ ist das Legacy-Verzeichnis.

Modelle und Detektoren

Pfad (unter dem Support-Stammverzeichnis)Enthält
models/<org>--<name>/Heruntergeladene MLX-Inferenzmodell-Gewichte (flaches Layout pro Repo).
models/<org>--<name>/.incompleteSentinel für laufende oder unterbrochene Downloads.
Models/prompt-injection/PromptGuard-Detektor-Assets (model.onnx, Tokenizer-Dateien, optionale bromure-injection.json-Überschreibungen).
Models/claudemd-guard/ModernBERT-Regeldatei-Detektor-Assets.
traces/YYYY-MM-DD/<sessionID>.jsonlTrace-Metadaten pro Sitzung, ein JSON-Datensatz pro Zeile.
traces/YYYY-MM-DD/<sessionID>/<recordID>.req.enc, .res.encErfasste Anfrage-/Antwort-Bodys, AES-GCM-verschlüsselt (0600).

Registrierung, Fernzugriff und der Rich Client

Pfad (unter dem Support-Stammverzeichnis)Enthält
managed/install.jsonRegistrierungsidentität: Installations-ID, Arbeitsbereich-Slug, Benutzer, Server-URL, Gerätename, Registrierungszeitpunkt.
managed/leaf.crtmTLS-Leaf-Zertifikat (PEM, inspizierbar).
managed/leaf.serialVerweis auf den Keychain-Eintrag, der den privaten Schlüssel des aktuellen Leafs enthält.
managed/ca.crtCA-Zertifikat der Arbeitsbereich-Organisation (PEM).
managed/healthPersistierter Registrierungszustand (ok / tokenRejected / revoked).
remote/hostkey_ed25519, remote/hostkey_ed25519.pubHost-Schlüssel des eingebetteten SSH-Servers (Verzeichnismodus 0700, Schlüssel 0600).
remote/authorized_keysÖffentliche Schlüssel, die durch die SSH-Eingangstür zugelassen sind (0600).
remote/overlay-keyOptionale Overlay-Tastenkombinations-Überschreibung für das SSH-Remote-Menü.
remote-client/id_ed25519, .pubSSH-Client-Schlüsselpaar des Rich Clients (Kommentar bromure-ac-fatclient).
remote-client/known_hostsTrust-on-First-Use-Pins von Remote-Host-Schlüsseln.
remote-client/hosts.jsonGespeicherte Remote-Server („Zuletzt verwendete Server").
remote-client/hosts/<host-UUID>/grid-layout.json, automations.jsonPersistenz der Spiegelung pro Host, damit ein Remote-Grid nie das lokale überschreibt.

Hinweis: Der Teilbaum remote-client/ wird mit CFFIXED_USER_HOME verschoben, wodurch zwei isolierte Instanzen zum Testen nebeneinander ausgeführt werden können.

Außerhalb des Support-Verzeichnisses

PfadEnthält
~/Library/LaunchAgents/io.bromure.agentic-coding.boot.plistBoot-bei-Anmeldung-LaunchAgent, geschrieben, wenn ein Arbeitsbereich „Diese VM bei der Anmeldung starten" aktiviert.
<app>/Contents/Library/LaunchDaemons/io.bromure.fatclient-tunnel.plistEingebetteter privilegierter Tunnel-Daemon, bei Bedarf über SMAppService registriert.
/var/run/io.bromure.fatclient-tunnel.sockSocket des privilegierten Tunnel-Daemons (root-erstellt, chmod 600, an den Konsolenbenutzer gechownt).
/tmp/bromure-ac-cm-<first-12-of-host-UUID>SSH-ControlMaster-Socket pro Host (in /tmp gehalten, weil der Support-Pfad das AF_UNIX-Längenlimit überschreitet).
/tmp/bromure-repair.logDebug-Log des lokalen Inferenz-Reparatur-Proxys (nur mit BROMURE_REPAIR_DEBUG).
/usr/local/bin/bromure-cliOptionaler CLI-Symlink zum App-Binary, einmalig beim ersten Start angeboten.
<NSTemporaryDirectory>/bromure-ac-agent-<pid>.sockBromures privater host-seitiger ssh-agent-Socket.
$TMPDIR/bromure/session-<uuid>.img (und -aux.img)Ephemere Copy-on-Write-Klone der Browser-VM, beim Abbau gelöscht.
<app temp dir>/bromure-files/<profile-id>/Download-Cache für Gast-Dateien, die aus dem Dateibrowser geöffnet werden.
~/Library/Application Support/Bromure/Support-Verzeichnis von Bromure Web; AC liest sein Browser-Image von hier, wenn vorhanden.
~/.cache/bromure-ghosttyZig-Toolchain-Cache, nur verwendet, wenn das Terminal-Framework aus dem Quellcode gebaut wird.

Keychain-Einträge und Defaults-Domain

Geheimnisse, die mit Schutz auf Betriebssystemebene erhalten bleiben müssen, liegen in der macOS-Keychain, nicht auf der Festplatte.

Keychain-DienstKontoEnthält
io.bromure.agentic-coding.master-keyv1Der AES-256-Masterschlüssel des Geheimnis-Tresors (Data Protection Keychain).
io.bromure.agentic-coding.ssh-key-passphrases<profileUUID>/<filename>Passphrasen für importierte SSH-Schlüssel.
io.bromure.agentic-coding.managed-installinstall-token, leaf-cert-key-<serial>Registrierungs-Bearer-Token und private Leaf-Schlüssel pro Seriennummer.

Alle UserDefaults der App liegen in der Domain io.bromure.agentic-coding (gelesen und geschrieben mit defaults read/defaults write).

Netzwerk-Ports und Subnetze

TCP- und Loopback-Ports

Bromure Agentic Coding öffnet standardmäßig keine festen eingehenden Ports. Die beiden optionalen Dienste unten sind aus, bis Sie sie aktivieren; der Rest ist nur Loopback und entweder dynamisch oder intern.

PortZweckGebunden wo
9223 (Standard)Automatisierungs-HTTP-API und bromure-cli mcp-Backend. Standardmäßig aus (automation.enabled); um eins vom 9222 des Browser-Produkts versetzt gewählt, damit beide Apps nebeneinander laufen können. Liefert GET /health.127.0.0.1 (konfigurierbar über automation.bindAddress; Nicht-Loopback-Bindungen sind nicht authentifiziert, und es wird davor gewarnt).
2222 (Standard)Optionale SSH-Fernzugriff-Eingangstür. Standardmäßig deaktiviert; auf einen beliebigen Port ≥ 1024 konfigurierbar.Standardmäßig 0.0.0.0 (konfigurierbar über remoteAccess.bindAddress).
2850028599MCP-OAuth-Callback-Listener (http://127.0.0.1:<port>/callback).127.0.0.1.
dynamischLokale Inferenz-Engine, beim ersten Spawn zugewiesen, um Kollisionen mit Ollama/LM Studio auf 11434 zu vermeiden.127.0.0.1 (nie 0.0.0.0).
dynamischReparatur-Proxy für Tool-Aufrufe der lokalen Inferenz.127.0.0.1.
ephemerSOCKS5-Forwarder pro Remote-Host, verwendet vom Browser-Bereich des Rich Clients.An 0.0.0.0 gebunden, aber peer-gefiltert auf Loopback plus 192.168.127.x.

Zwei Loopback-Endpunkte existieren innerhalb des Gasts, nicht auf dem Mac: 127.0.0.1:8080 (der In-VM-HTTP(S)-Proxy, den jede Shell als HTTPS_PROXY exportiert) und 127.0.0.1:11434 (wo die On-Host-lokale-Inferenz-Engine über eine vsock-Brücke erscheint).

Die Installation selbst öffnet keine TCP-Ports; der Paket-Proxy des Base-Image-Builds bindet pro Build einen ephemeren localhost-Port.

Virtuelle Netzwerk-Subnetze

SubnetzZweck
192.168.64.0/24Standard-NAT-Subnetz für Arbeitsbereich-VMs (Gateway .1, DHCP-Pool .2.254, 24-h-Leases). Automatisch verschoben, wenn das LAN des Macs es bereits verwendet.
192.168.65.0/24192.168.126.0/24Bereich, in den Bromure-Web-Instanzen verschoben werden, damit AC und Web nicht kollidieren.
192.168.127.0/24Das gepinnte lokale Browser-VM-Subnetz des Rich Clients (Gateway .127.1), damit das Gateway vorhersehbar ist.
100.64.<n>.0/24CGNAT-Alias-Subnetze für Flotten-Subnetz-Kollisionen — implementiert und getestet, aber noch nicht in den Laufzeitpfad eingebunden (ein einzelner Remote-Host ist die unterstützte Konfiguration).
10.98.<unit>.0/30Punkt-zu-Punkt-Link-Netzwerke, verwendet vom privilegierten utun-Tunnel-Daemon.

Host↔Gast-vsock-Brücken

Host und Gast kommunizieren über Virtio-Sockets (vsock), die keine IP-Bindung haben — es sind nummerierte Kanäle zwischen dem Host (CID 2) und jedem Gast. Sie sind interne Verkabelung, hier zur Diagnose aufgeführt.

vsock-PortBrücke
5800Shell-Exec-Agent — treibt bromure-cli exec, die Exec-Route des Steuersockets und den Datei-Explorer-Bereich an.
5010Loopback-OAuth-Callback-Relais (liefert OAuth-Weiterleitungen zurück in die In-VM-CLIs).
5830Host-Seite des eingebauten Browser-MCP-Servers (der Gast-stdio-Shim verbindet sich nach außen).
8443HTTPS-MITM-Proxy — der Ausgang des Gasts.
8444ssh-agent-Brücke (unterstützt SSH_AUTH_SOCK).
8445AWS-credential_process-Helfer.
8446Claude-Abonnement-Token-Agent und die On-Host-lokale-Inferenz-Brücke (Gast 127.0.0.1:11434).
8447Codex/ChatGPT-Abonnement-Token-Agent.
5000Browser-VM-Konfigurationsagent (Host→Gast-JSON-Konfiguration bei Anforderung).
5100Browser-VM-Dateiübertragungsbrücke (16 MB max. Frame, 10 GB max. Datei).
5200Browser-VM-Chrome-DevTools-Protocol-Brücke (Screenshots, Eval).
5300 / 5400Browser-VM-Link-Sender / Webcam.
5810Browser-VM-Native-Tabs-Brücke.
5900Browser-VM-Netzwerk-Trace-Brücke.

Umgebungsvariablen und Startargumente

Diese beeinflussen die App beim Start. Die meisten dienen dem Debugging, dem Testen oder dem Bauen aus dem Quellcode; die Spalte Zielgruppe kennzeichnet, für wen jede gedacht ist. Setzen Sie eine Umgebungsvariable vor dem Starten des Binarys oder übergeben Sie ein Startargument danach.

NameEffektZielgruppe
-AppleLanguages "(fr)" (Startargument)Standard-macOS-Locale-Überschreibung; erzwingt die UI-Sprache. Wird vor der Argument-Analyse entfernt, damit Locale-erzwingende Neustarts funktionieren.Endbenutzer
BROMURE_DEBUG_CLAUDESchaltet die Debug-Endpunkte der TCP-Automatisierungs-API frei (/app/state, exec, /vms, /debug/ui-shot, /detect/prompt-injection), lässt Geheimnisse durch die AppleScript/MCP-Profil-JSON-Brücken reisen und ist für die VM-Werkzeuge von bromure-cli mcp --debug erforderlich.Power-User / Debugging
BROMURE_AC_DEBUG=1Zeitgestempeltes stderr-Debug für die Automatisierungs-Engine, Injection-Klassifikatoren, Regel-Scanner und Trace-Pipeline.Debugging
BROMURE_CLI_DEBUGAusführliche Diagnose der Steuersocket-Verbindung auf stderr für CLI-Befehle.Debugging (CLI)
BROMURE_REPAIR_DEBUGAnfrage-/Antwort-Diagnose des lokalen Inferenz-Reparatur-Proxys, angehängt an /tmp/bromure-repair.log.Debugging (lokale Modelle)
BROMURE_INFER_DEBUGEngine-Statistiken pro Anfrage (Slot, vorbefüllte Tokens, TTFT, tok/s) auf stderr.Debugging (lokale Modelle)
BROMURE_FATCLIENT_LOGUngepuffertes stderr-Logging des Rich Clients.Debugging (Remote)
BROMURE_ATTACH_DEBUG=<path>Hängt das Rich-Client-Log zusätzlich an eine Datei an.Debugging (Remote)
BROMURE_INJECTION_COREML=1Führt die Injection-Klassifikatoren auf dem CoreML/Neural-Engine-Anbieter aus (Standard ist CPU; CoreML benötigt bei identischer Genauigkeit etwa das 5-Fache des residenten Speichers).Power-User
BROMURE_NO_COREMLDeaktiviert CoreML für die Klassifikatoren zwangsweise, selbst wenn BROMURE_INJECTION_COREML gesetzt ist.Power-User
BROMURE_GPU_CACHE_GBObergrenze des MLX-GPU-Puffer-Caches in GB (Standard 4).Power-User (lokale Modelle)
BROMURE_KVBITS, BROMURE_KVBITS_START, BROMURE_CACHE_SLOTS, BROMURE_THINKINGLokale-Inferenz-Tuning: KV-Cache-Quantisierungsbits und -Schwellenwert, KV-Cache-Sitzungsslots (1–8, Standard 4) und Deaktivierung des stillen Denkens. Siehe Lokale Modelle.Power-User (lokale Modelle)
VISUAL / EDITOREditor, der von bromure-cli workspaces edit verwendet wird (fällt auf vi zurück).Endbenutzer (CLI)
BROMURE_MANAGED_URLÜberschreibt die bromure.io-API-Basis, die für Registrierung, Heartbeat und Zertifikatsausstellung verwendet wird.Enterprise-Administrator
BROMURE_FATCLIENT_OPENReiner Rich-Client-Start: überspringt das Ersteinrichtungsfenster (kein lokales Base-Image nötig) und unterdrückt die bromure-cli-Symlink-Aufforderung.Fortgeschritten / Testen
BROMURE_IMAGE_CATALOG_BASERichtet Image-Downloads auf einen lokalen/Staging-Katalog; deaktiviert außerdem die Katalog-Signaturprüfung. Nur für Test- und Pipeline-Nutzung.Test / CI
BROMURE_INSTALL_BROWSER_IMAGE=1Lädt ACs Kopie des eingebetteten Browser-Images beim Start automatisch herunter (der normale Auslöser ist der Browser-Bereich oder EinstellungenBrowser).Test / Debug
CODESIGN_IDENTITYSignatur-Identität von build.sh; nicht gesetzt fällt auf ad-hoc - zurück (kein Gatekeeper, iCloud oder vmnet).Entwickler (Build)
DEVELOPER_ID, APPLE_ID, TEAM_ID, APP_PASSWORDDeveloper-ID-Signierung und Notarisierung von package.sh. DEVELOPER_ID ist erforderlich; das Notarisierungs-Trio ist optional (ohne es entsteht ein signiertes, aber nicht notarisiertes DMG).Entwickler / Herausgeber
DRY_RUN=1, KEEP_PREVIOUS=1, KEEP_STAGING=1Schalter der Image-Veröffentlichungs-/Probelauf-Pipeline.Herausgeber

Die Engine setzt außerdem interne Variablen für ihre eigenen Kindprozesse (BROMURE_ENGINE_KEY, BROMURE_ENGINE_MASTER), und die Wegwerf-Registrierungs-VM setzt BROMURE_AC_REGISTER; diese sind nicht dafür gedacht, von Hand gesetzt zu werden.

UserDefaults-Schlüssel (defaults write)

Persistente Einstellungen in der Domain io.bromure.agentic-coding. Die meisten haben UI-Entsprechungen; die vm.*- und Entwickler-Stellschrauben werden mit defaults write gesetzt.

SchlüsselEffektStandard
automation.enabledSchaltet die Loopback-Automatisierungs-HTTP-API ein.false
automation.portPort der Automatisierungs-API.9223
automation.bindAddressBind-Adresse der Automatisierungs-API.127.0.0.1
remoteAccess.enabledAktiviert die SSH-Fernzugriff-Eingangstür.false
remoteAccess.portSSH-Eingangstür-Port (≥ 1024).2222
remoteAccess.bindAddressBind-Adresse der SSH-Eingangstür.0.0.0.0
remoteAccess.passwordAuth, remoteAccess.pubkeyAuthSSH-Authentifizierungsmethoden.beide an
vm.homeImageGBScheinbare (gast-sichtbare) Größe eines neuen ext4-Home-Images in GiB (8–1024; sparse, kostet also im Voraus nichts).64
vm.mtuMTU-Begrenzung der Gast-NIC — senken Sie sie auf VPN-Hosts, die Installer-Downloads verschlucken.1280
vm.networkMode, vm.bridgedInterface, vm.dnsServersNetzwerkmodus des Browser-Pools, gebridgte Schnittstelle und DHCP-DNS-Überschreibung.Modus NAT; andere nicht gesetzt
vm.extraChromeFlags, vm.chromeEnvExtraEntwickler-Stellschrauben, die dem Chromium-Start der Browser-VM angehängt werden.nicht gesetzt
cloudflareTunnel.consentedEinmalige Zustimmung zum Bereitstellen von HTTP-Diensten über Cloudflare-Quick-Tunnels.false
cliSymlinkDeclinedGesetzt, wenn Sie „Nicht erneut fragen" bei der bromure-cli-Symlink-Aufforderung wählen.false
ac.sidebarWidth, ac.filePaneOpenPersistierte Seitenleistenbreite und Öffnungsstatus des Dateibereichs.app-gesetzt

Spickzettel für die Gast-VM

Innerhalb einer laufenden Arbeitsbereich-VM sind Sie ubuntu, ein gewöhnlicher Benutzer (sudo-fähig), dessen Home /home/ubuntu ist. Der Host verdrahtet Mounts und Umgebung, sodass Paketmanager, Agenten und Git ohne jegliche In-Gast-Einrichtung funktionieren. Siehe Konzepte für die Mechanik.

Mount-Punkte

PfadWas es ist
/home/ubuntuIhr Home — das ext4-home.img (modern) oder eine virtiofs-Freigabe (Legacy).
/mnt/bromure-metaSchreibgeschützte Konfigurationsfreigabe pro Start: api_key.env, proxy.env, das CA-Zertifikat, Gast-Agenten, MCP-Konfigurationen, Hostname-/MTU-Hinweise.
/mnt/bromure-outboxSchreibbare Gast→Host-Ereignisfreigabe (einmalige Ereignisdateien, die der Host liest).
/mnt/bromure-share-NGemeinsame Projektordner (bis zu 8), auch als ~/<basename> in Ihr Home symlinkt.
/mnt/bromure-meta/bromure-browser-mcp.pyDer generierte Browser-MCP-stdio↔vsock-Shim, schreibgeschützt in jeden Arbeitsbereich eingebracht.
~/.bromure/pastes/In das Terminal eingefügte Bild-Pastes (nach 7 Tagen automatisch bereinigt).

Vom Host gesetzte Umgebung

VariableWert / Effekt
http_proxy, https_proxy, HTTPS_PROXYhttp://127.0.0.1:8080 — die In-VM-Brücke, die alle Gast-HTTPS zum Host-MITM-Proxy trägt.
NO_PROXYlocalhost,127.0.0.1,::1.
SSH_AUTH_SOCK/tmp/bromure-agent.sock — über vsock zum Host-ssh-agent gebrückt (nur Schlüssel pro Arbeitsbereich und explizit importierte Schlüssel sind erreichbar; Ihr macOS-Login-Agent wird nie offengelegt).
CA-Bundle-VariablenDie neu signierende Root-CA wird über die Standard-Bundle-Variablen für node, python, go, rust, curl, deno und das AWS SDK vertraut.
Agent-API-SchlüsselANTHROPIC_API_KEY, OPENAI_API_KEY, XAI_API_KEY, GH_TOKEN, GITLAB_TOKEN, DIGITALOCEAN_ACCESS_TOKEN, LINEAR_API_KEY, die AWS-Variablen und alle manuellen/Datenbank-Variablen — allesamt Platzhalter-Werte; der Host tauscht das echte Geheimnis auf der Leitung ein.
Lokale-Modus-Agent-VariablenWenn ein Arbeitsbereich zu einem lokalen Modell geroutet wird, sieht Claude Code ANTHROPIC_BASE_URL=https://bromure.llm, ein ANTHROPIC_AUTH_TOKEN pro VM, Modell-Aliase, die auf den bromure-local-Sentinel gesetzt sind, und CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1.

Warnung: Jede Zugangsdaten, die der Gast lesen kann, ist ein Köder. Ein gefälschtes Token, das auf einen Host beschränkt ist und in einer Anfrage auftaucht, die für einen anderen Host bestimmt ist, ist die Signatur einer Exfiltration und löst die Kompromittierungserkennung aus — es authentifiziert nie etwas.