Zurück zu allen Beiträgen
Veröffentlicht am · von Renaud Deraison

Warum Bromure Agentic Coding keine Sandbox ist

Eine Sandbox verlangt vom Entwickler, genau die Geschwindigkeit aufzugeben, die einen Coding-Agenten überhaupt erst lohnenswert macht — jede Abhängigkeit vorab freigeben, eine Allowlist von Domains pflegen, niemals ein Paket anfassen, das die Organisation nicht geprüft hat. Also schalten Entwickler sie ab. Bromure Agentic Coding lehnt diesen Handel ab. Es schränkt nicht ein, was der Agent tut; es zieht eine einzige harte Linie am Hypervisor und lässt dich auf der Innenseite alles tun. Dies ist die grundlegende Begründung, warum eine Grenze eine Sandbox schlägt, und die drei Garantien, die die Grenze wahr macht: keine Credentials zum Stehlen, breite Tokens am Draht verengt und Supply-Chain-Angriffe gestoppt, bevor das Tarball landet — plus die vierte, die die Linie jetzt wahr macht: Prompt-Injektionen, abgefangen in den Inhalten, die der Agent liest, bevor das Modell ihnen gehorcht.

Eine Sandbox bietet einen Handel an: gib einen Teil dessen auf, was einen Coding-Agenten nützlich macht, und im Gegenzug hält sie dich sicher. Entwickler lehnen diesen Handel jedes Mal ab — sie schalten die Sandbox aus oder gar nicht erst ein — und sie tun recht daran. Die Aufgabe eines Agenten ist es, sich schnell durch unübersichtliches, ungeprüftes Terrain zu bewegen. Bromure Agentic Coding schränkt das nicht ein. Es zieht eine einzige harte Linie, am Hypervisor, und lässt dich auf deren Innenseite alles tun, was du willst.

Ein grundlegender Beitrag — einmal geschrieben, damit die übrigen darauf verweisen können. Nicht über einen Vorfall. Darüber, warum wir Bromure Agentic Coding so gebaut haben, wie wir es taten, und warum „es ist eine Sandbox“ die Beschreibung ist, die wir immer wieder korrigieren.

Ein Entwickler ist kein Sysadmin.

Der Grund, einen Coding-Agenten auf deine Maschine zu setzen, ist Geschwindigkeit — die konkrete Art: ein Paket ziehen, das niemand in deinem Unternehmen geprüft hat, um elf Uhr abends, um zu sehen, ob eine Idee trägt. Die Bibliothek ausprobieren, ihr Beispiel laufen lassen, sie wegwerfen, wenn sie nicht passt. Das ist kein Makel, den man den Leuten abtrainieren müsste. Es ist der Workflow und der ganze Grund, warum der Agent es wert ist, ihn zu haben.

Also liegt jedes Modell, das dich jede Abhängigkeit vorab freigeben lässt oder jemanden eine Liste von Domains pflegen lässt, die der Agent erreichen darf, im Krieg mit dem, was es schützt. Es verlangsamt genau die eine Tätigkeit, zu deren Ermöglichung es eingesetzt wurde — und eine Kontrolle, die dem Ausliefern im Weg steht, hat genau ein Schicksal: Sie wird abgeschaltet. Eine Kontrolle, die ein Entwickler abschaltet, um seine Arbeit zu erledigen, war nie eine Kontrolle.

„Betreibe einen privaten, geprüften Mirror“ verfehlt den Punkt auf dieselbe Weise: Die Pakete, die für das Experimentieren zählen, sind die, die noch niemand geprüft hat. Ein Mirror genehmigter Abhängigkeiten ist ein Mirror der Ideen von gestern.

Die Frage ist also nicht, wie man Entwickler davon abhält, ungeprüften Code anzufassen. Sie müssen es; das ist die Aufgabe. Sie lautet, wie man sie all das frei anfassen lässt, ohne dass ihr Schlüsselbund Teil des Deals ist.

Die für die Produktion gebaute Sandbox passt nicht auf die Werkbank.

Der erste Griff ist eine Netzwerk-Sandbox — die gehärteten Container, die von NVIDIA, die Docker-Compose-Rezepte, die die Runde machen. Die Form ist immer dieselbe: Zähle die Hosts auf, die der Agent erreichen darf, verweigere den Rest. Es funktioniert wunderbar, wenn der Agent eine bekannte, eng umrissene Aufgabe hat. Ein Produktions-Agent, der mit drei internen Diensten und einem Modell-Endpunkt spricht, lebt für immer hinter einer Allowlist, denn die Liste ist kurz und hört auf, sich zu ändern.

Ideenfindung hat keine kurze Liste, und sie hört nie auf, sich zu ändern. Niemand will eine Whitelist jeder Registry, jedes CDN, jedes Git-Hosts und jeder einmaligen API pflegen, die ein Experiment erreichen könnte — sie ist nie fertig, sie wächst jeden Nachmittag, und der Tag, an dem sie etwas Legitimes blockiert, ist der Tag, an dem der Entwickler sie deaktiviert, um sich selbst zu entsperren. Die Allowlist ist nicht falsch; sie sichert einen Agenten, dessen Scope bereits bekannt ist. Der ganze Wert der Werkbank ist, dass der Scope eben noch nicht bekannt ist.

Nimm einen konkreten Nachmittag. Ein Entwickler hat Node-Konfigurations- dateien, die auf zig Megabyte angewachsen sind, und der YAML-Parser, den er nutzt, verschluckt sich daran. Es gibt mehrere Kandidaten — js-yaml, yaml, yaml-js — und der einzige Weg herauszufinden, welcher eine 40-MB-Datei überlebt, ohne den Heap zu sprengen, ist, alle drei zu installieren und die Datei auf jeden zu werfen. Ein Ticket zu erstellen, um drei Bibliotheken in den privaten Mirror zu bekommen, damit sie gebenchmarkt werden können, ist genau verkehrt herum: Der Entwickler will zuerst testen und den Sieger in den Mirror befördern, nicht umgekehrt. Die Vorab-Prüfung ist das Tor, durch das das Experiment überhaupt erst hindurchgehen will.

Darunter liegt ein leiseres Problem. Diese Werkzeuge härten den Agenten in der Produktion — deployt, gescopt, beaufsichtigt. Aber eine Supply-Chain-Kompromittierung landet auf dem Laptop des Entwicklers, mitten im Experiment, mit echten Credentials in ~/.aws und ~/.npmrc, weil Entwickler sie dort aufbewahren. Das Modell ist dort am stärksten, wo die Angriffe nicht sind, und abwesend dort, wo sie sind.

Die Katz-und-Maus-Sandbox verliert die zweite Runde.

Der andere Instinkt ist, den Agenten auf dem Host zu belassen und den Prozess einzusperren — den claude-Prozess daran zu hindern, ~/.ssh und ~/.aws zu lesen. Es fühlt sich hermetisch an, bis du dich daran erinnerst, dass die Aufgabe des Agenten ist, Code zu schreiben, und der Code auf derselben Maschine läuft.

Der Agent gerüstet ein Projekt auf. Dann führst du — oder der Agent oder ein zweites Werkzeug — npm install in dem Repo aus, das er gerade geschrieben hat. Dieses npm install ist nicht der eingesperrte Prozess. Sein postinstall-Hook liest ~/.aws/credentials wie jedes andere Programm auf deinem Laptop, denn genau das ist es: ein weiteres Programm, das das eine Dateisystem und den einen Schlüsselbund mit allem anderen teilt, was du ausführst.

DEIN LAPTOP — ein Dateisystem, ein SchlüsselbundPROZESS-GEFÄNGNISclaude✗ read ~/.ssh✗ read ~/.awsblockiert — fühlt sich hermetisch an./repo — gerade vom Agenten geschriebenpackage.json "postinstall": "node x.js"ZWEITE SHELL — nicht eingesperrt$ npm install runs postinstallein anderer Prozess, vom Gefängnis nie benanntSCHLÜSSELBUND~/.aws/credentials~/.ssh/id_rsa~/.npmrcechte Tokens✗ Gefängnis verweigert diesen Pfadliest echte Creds — niemand sperrte dies ein
Das Katz-und-Maus-Loch. Ein Prozess-Gefängnis blockiert den claude-Prozess vom Schlüsselbund (der gestrichelte Pfad, verweigert). Aber der eigentliche Output des Agenten — ein Repo mit einem postinstall-Hook — läuft in einem Geschwisterprozess, von dem das Gefängnis nie gehört hat. Öffne eine zweite Shell, führe npm install aus, und sein postinstall liest ~/.aws/credentials ungehindert und exfiltriert, denn auf einem Host teilen alle Prozesse ein Dateisystem und einen Schlüsselbund. Das Gefängnis zog seine Grenze um das Falsche: Die Gefahr war nie der benannte Prozess, sie war die geteilte Maschine.

Das Gefängnis zog seine Grenze um einen Prozess. Die Gefahr war nie der Prozess; sie war, dass jeder Prozess auf der Maschine ein Dateisystem und einen Schlüsselbund teilt. Also patchst du — sperre auch die Shell ein, dann node, dann den Paketmanager — und der Angreifer findet immer weiter eine Tür, die du nicht verriegelt hast, denn auf einem Host gibt es immer einen weiteren Prozess, einen weiteren Pfad zu denselben Geheimnissen. Das ist das Spiel, und das Haus hat immer eine weitere Tür.

Zieh die Linie einmal, mit dem Hypervisor.

Bromure hört auf mitzuspielen, indem es die Grenze eine Ebene hinunterverlagert. Der Agent, die Shells, die er spawnt, die Pakete, die er installiert, und jeder Code, den diese Pakete ausführen, leben alle in einer VM pro Profil unter Linux. Deine echten Credentials betreten sie nie.

Der Unterschied ist die Art der Linie. Ein Prozess-Gefängnis ist eine Richtlinie über einen Prozess, und ein Geschwisterprozess umgeht sie. Die VM-Grenze ist die Wand zwischen Gast und Host, durchgesetzt vom Hypervisor — dieselbe Wand, die eine VM daran hindert, den Speicher einer anderen zu lesen. Es gibt keinen Syscall, um sie zu überqueren. Code im Inneren kann sich keinen Weg zu deinem Schlüsselbund erschließen, denn der Schlüsselbund ist in seiner Welt überhaupt nicht vorhanden.

Und innerhalb dieser Linie bist du frei. Installiere das ungeprüfte Paket. Führe sein postinstall aus. Lass den Agenten deine Shell-Config umschreiben, die Platte füllen, die Toolchain kaputtmachen. Die VM ist wegwerfbar und enthielt nie etwas, das zählt. Diese Freiheit ist der ganze Punkt — genau das, was eine Sandbox wegnimmt und was eine saubere Grenze zurückgibt. Du bekommst keine Sicherheit, indem du die Werkbank weniger nützlich machst; du bekommst sie, indem du die Werkbank zu einem Ort machst, an dem von vornherein nichts Wertvolles im Raum war.

Dieselbe Linie ist der Ort, an dem drei Garantien aufhören, Ratschläge zu sein, die der Agent überstimmen kann, und zu Fakten werden, die unterhalb von ihm durchgesetzt werden — denn alles, was die VM nach außen tut, muss sie überqueren.

Drei Dinge, die die Linie wahr macht.

VM PRO PROFIL — alles installieren, alles ausführen, alles kaputtmachenAgent · gespawnte Shells · npm / pip · unvertrauter postinstall-CodeDateisystem hält nur Stubs — aws_secret = stub-… _authToken = stub-… id_rsa = stub-…nichts hier ist echt, also ist nichts hier des Stehlens wertein Paket holenein Credential nutzenpush / drop / deleteHYPERVISOR-GRENZE — die eine Linie, die der Code im Inneren nicht überqueren kann① Schädliche Pakete blockierenScan: OSV + socket.devCooldown: < 2 Tage gehaltenschädliches Tarball landet nie② Keine Creds zum Stehlenstub-token ⇄ real tokenam Draht getauschtHost-Sweep findet Platzhalter③ Vor dem Mutieren fragenLesen passiert · Schreiben pausiertNachfrage auf dem Hostdu siehst den wörtlichen AufrufHOST — echte Tokens, hinter dem Broker~/.aws · ~/.ssh · ~/.npmrc — betreten die VM nie, eingetauscht nur am Draht, nur für einen erlaubten Aufruf
Eine Grenze, drei Kontrollen, durchgesetzt unterhalb des Agenten. Innerhalb der VM tut der Agent, was immer er will. Aber jede Überquerung wird vom Hypervisor vermittelt: Ein Paket-Fetch wird gescannt (OSV + socket.dev) und zurückgehalten, wenn es jünger als die Cooldown-Frist ist; eine Credential-Nutzung trifft auf einen Stub, den der Host-Proxy am Draht gegen das echte Token tauscht und wieder zurücktauscht; ein zustandsändernder Schreibvorgang pausiert für eine Nachfrage auf dem Host. Der echte Schlüsselbund sitzt unterhalb der Linie und betritt die VM nie. Der Agent kann nichts davon umgehen, denn es gibt keinen Pfad über die Grenze außer durch sie hindurch.

Keine Credentials zum Stehlen — das Geheimnis war nie im Raum.

Echte Tokens bleiben auf dem Host. Die VM bekommt Stubs: syntaktisch gültige Credential-Dateien, deren Inhalt im öffentlichen Internet nichts bedeutet. Wenn der Agent einen legitimen Aufruf macht, der ein echtes Token braucht, tauscht ein Host-Proxy den Stub am Draht gegen das echte Geheimnis und tauscht es wieder aus der Antwort heraus. Eine kompromittierte Abhängigkeit, die das Dateisystem nach ~/.aws/credentials, ~/.npmrc oder id_rsa durchkämmt, findet Platzhalter. Das ist der Token-Tausch: Das Credential existiert, der Agent nutzt es für das, wofür es da ist, und die Kopie, die gestohlen werden könnte, existiert nirgends, wo die Welt des Agenten hinreicht.

Das breite Token verengen — vor der Nutzung fragen, vor dem Mutieren fragen.

Echte Tokens sind meist breiter als die Aufgabe. Der Broker hält Berechtigungen kurzlebig und gescopt und — der Teil, der seinen Wert beweist — behandelt ein Lesen und ein Schreiben unterschiedlich. Ein Lesen passiert. Ein zustandsändernder Aufruf — ein git push, ein DROP TABLE, ein AWS-Terminate* — pausiert an der Grenze und fragt dich, auf dem Host, und zeigt die wörtliche Operation, nicht eine Zusammenfassung, die der Agent geschrieben hat.

Das ändert, was ein breites Token bedeutet. Eines, das Produktion löschen könnte, kann das nur, wenn ein Mensch den exakten Aufruf sah und ja sagte; der auf dem Credential aufgedruckte Scope hört auf, der Explosionsradius zu sein. Der Agent kann sich nicht selbst vorab freigeben, den Modus nicht herabstufen oder die Berechtigung lesen — die Entscheidung lebt auf der anderen Seite der Linie. Als ein Agent in neun Sekunden eine Produktionsdatenbank löschte, war das Prinzip dasselbe: Das Ding, das den Befehl ausführen will, sollte nicht das Ding sein, das entscheidet, dass er sicher ist.

Sei nicht der Erste, der es herausfindet — Supply Chain an der Tür gestoppt.

Der beste Moment, ein vergiftetes Paket zu stoppen, ist, bevor es landet. Jeder Fetch überquert die Grenze, also scannt der Proxy ihn — OSV für bekannte CVEs, socket.dev für das, was die Datenbanken noch nicht erwischt haben: bösartige Install-Skripte, Typosquats, die vor einer Stunde veröffentlichte Kompromittierung. Und er erzwingt einen Cooldown: jedes Release der letzten zwei Tage (einstellbar) ist schlicht nicht installierbar, während das Ökosystem aufholt. Das ganze Zeitfenster eines Wurms ist die Lücke zwischen veröffentlichen und zurückziehen; einen Tag alte Pakete abzulehnen heißt, sich zu weigern, der Kanarienvogel zu sein. postinstall-Hooks werden auf dem Weg hinein aus dem Tarball entfernt, der Hash angepasst, damit der Install weiterhin verifiziert — sodass das landende Paket inert landet. Nichts davon verlangt vom Entwickler, irgendetwas zu prüfen. Er zieht, was immer er will; die Grenze ist das, was wartet.

Wo alle anderen aufhören

Die meisten Tools decken eine Ebene ab. Bromure deckt alle ab.

Isolation, Secrets aus dem Agent heraushalten, ihre Nutzung eingrenzen, die Lieferkette scannen, Prompt-Injection abfangen — meist greift man sich nur eine Sache heraus. Hier ist dasselbe Agent-Bedrohungsmodell über die Tools hinweg, zu denen Leute greifen, und wo jedes davon endet.

Schutz
Dev ContainerVS Code
nonokernel sandbox
agent-vaultoctokraft
Agent VaultInfisical
Docker SandboxesmicroVM
BromureAgentic Coding
Isolationsgrenze
Wo der Schadensradius endet
Gleicher Container, geteilter Kernel
Kernel-Allowlists, kein eigener Kernel
Agent läuft direkt mit
Nur Proxy; Agent ungeschützt
microVM, eigener Kernel
Hardware-VM, eigener Kernel
Secrets vom Agent fernhalten
Kann er das echte Credential je lesen?
Reicht SSH-Agent + Git-Creds durch
Blockt Key-Dateien; brokert teils
Per Pipe rein; kein Lesepfad
Proxy hängt sie auf der Leitung an
Host-Proxy fügt Header ein
Stub auf der Leitung getauscht
Credential-Umfang & Freigabe
Pro Nutzung begrenzen, Read-only, Ablauf, Freigabe
Keine Begrenzung pro Nutzung
Freigabe-Flow + Egress-Filter
TTL je Secret; blockt Shells
Egress-Filter je Endpunkt
Domain-Allowlist; VM-interner Code nutzt es trotzdem
Freigabe je Ziel + TTL
Lieferketten-Scan
Bösartige / verwundbare Pakete abfangen
Kein Registry-Scan
Nur Signierung, kein Paket-Scan
Außerhalb des Umfangs
Außerhalb des Umfangs
Kein Paket-Scan
Age-Gate, OSV, socket.dev
Prompt-Injection-Erkennung
Scannt unsichere Inhalte & Regeldateien
PromptGuard + ModernBERT
Audit-Trail
Aufzeichnen, was der Agent tat
Nur Container-Logs
Unveränderliches lokales Audit
Request-Logging
Request-Logging
Vollständiger Session-Trace, verschlüsselt
Lieferketten-Inventar(Enterprise)
Aufzeichnung jedes geholten Pakets
Jede Abhängigkeit + Verdikt, durchsuchbar
Token-Verbrauch(Enterprise)
Welche Dateien die meisten Token verbrauchen
Je Datei, Repo und Modell
Voll — eingebaut, erzwungen Teilweise — begrenzt oder optional Keiner — nicht abgedeckt

Ein Token zu verbergen ist nicht dasselbe wie seine Nutzung zu kontrollieren. Docker Sandboxes hält den echten Wert aus der VM heraus — doch sein Proxy hängt dieses Credential an jede ausgehende Anfrage der Sandbox an, sodass ein kompromittiertes, nebenbei installiertes Paket es gegen einen freigegebenen Dienst einsetzen kann, ohne es je zu sehen. Nur Bromure scannt das Paket vor der Ausführung und sichert jede Nutzung ab — Freigabe, Read-only, TTL — und erzwingt alle fünf Kontrollen an einer Grenze, an der der Agent nicht vorbeikommt.

Zusammengestellt aus der öffentlichen Dokumentation jedes Projekts, Juni 2026. agent-vault bezeichnet hier octokraft/agent-vault (Pipe-basierte Secret-Injektion), zu unterscheiden von Infisicals Agent Vault (HTTP-Credential-Proxy). Docker Sandboxes ist eine experimentelle Vorschau, deren gebrokerte Credentials für alles in der VM nutzbar bleiben. Das flottenweite Paket-Inventar und die Token-Verbrauchs-Auswertungen liefert der Bromure Enterprise Manager. Diese Tools entwickeln sich schnell — etwas veraltet? Sag uns Bescheid.

Das vierte Ding: Eine Anweisung in den Daten ist kein Befehl.

Die drei Garantien oben teilen eine Annahme, die es wert ist, ausgesprochen zu werden: Sie alle verteidigen gegen Code, der etwas nimmt — ein Credential, ein Token, die Chance eines frischen Tarballs, ausgeführt zu werden. Es gibt einen Angriff, der nichts nimmt. Er sagt dem Agenten einfach, was er tun soll. Eine Zeile, vergraben in einer README, die der Agent liest, ein String auf einer abgerufenen Seite, ein Satz in der Ausgabe eines Tools, eine versteckte Anweisung in der CLAUDE.md, die der Agent als Dauerbefehl behandelt — das Modell nimmt sie als Kontext auf und gehorcht ihr als Anweisung. Gib die Datei preis. Schwäche die Prüfung ab. Überspring den Test. Eine Sandbox hat dazu keine Meinung, denn nichts hat eine Wand überquert, die sie bewacht: Die Anweisung kam als Daten an, in Inhalten, die der Agent lesen sollte.

Aber sie hat die Linie überquert — alles, was das Modell sieht, tut das. Also liest die Grenze sie seit 2.4.0 zuerst, auf dem Gerät, auf der Host-Seite. Ein lokaler PromptGuard-Klassifikator bewertet die nicht vertrauenswürdigen Inhalte, die zum Modell fließen — Dateilesungen, Web-Abrufe, Tool-Ausgaben — auf Anweisungen, die dort nichts zu suchen haben. Und die Regeldateien, denen ein Agent ohne Rückfrage gehorcht — CLAUDE.md, AGENTS.md, GROK.md — bekommen einen strengeren doppelten Durchlauf: einen deterministischen Scan auf unsichtbares Unicode, Tricks mit bidirektionalem Text und Meta-Anweisungen im Stil von „ignore previous instructions“, plus einen feinabgestimmten ModernBERT-Klassifikator für den ruhig formulierten Missbrauch, den ein Schlüsselwortfilter übersieht. Pro Profil wählst du den Biss: protokolliere es im Security Log, frage nach und sieh den markierten Text, oder blockiere die Anfrage, bevor das Modell die vergiftete Passage je sieht. Nichts verlässt den Mac.

Die Platzierung ist dasselbe Argument wie bei den anderen drei. Einem Agenten, der eine Injektion bereits geschluckt hat, kann man nicht zutrauen, sie zu melden — die erste Anweisung der Injektion ist meist irgendeine Version von erwähne das nicht. Der Detektor fragt den Agenten nicht. Er liest den Verkehr auf der anderen Seite der Linie, wohin die Überredungskunst des Agenten nicht reicht.

Wo die Linie dich nicht rettet.

Eine Grenze ist eine bestimmte Form, kein Zauberwort. Vier ehrliche Kanten:

Das Profil ist langlebig, also bleibt Persistenz bestehen.

Ein Bromure-Profil ist keine wegwerfbare Platte. Eine Payload, die sich in einen Startup-Pfad schreibt, kann in der nächsten Session aufwachen — in einem Gast ohne Host-Schlüssel und mit einem Broker, der nur kurzlebige, nachgefragte, gescopte Tokens spricht. Anwesenheit in einem Raum, in dem nichts ist, aber Anwesenheit gleichwohl.

Ein Schreibvorgang, den du genehmigst, ist ein Schreibvorgang, der geschieht.

Die Nachfrage fängt den Aufruf ab, von dem der Agent dir nichts erzählt hat. Sie liest dein Diff nicht. Genehmige ein git push, und Bromure leitet es weiter — einschließlich, im Prinzip, eines vergifteten Workflows, den du nicht bemerkt hast. Es verlagert die Entscheidung zu dir und zeigt die echte Operation; sie zu lesen ist weiterhin deine Aufgabe.

Der Cooldown ist ein Zeitfenster, keine Wand.

Zwei Tage sind auf die beobachtete Lücke zwischen Veröffentlichen und Zurückziehen abgestimmt. Ein geduldiger Angreifer kann auf einer kompromittierten Version über den Cooldown hinaus sitzen und an Tag drei installierbar sein. Es hungert Same-Day-Würmer aus; es bürgt nicht für ein Paket, das bloß alt geworden ist. socket.dev und OSV müssen weiterhin ihren Teil tun.

Scope den Broker bewusst.

Isolation hält die Explosion auf; das Scoping entscheidet, wie groß sie hätte sein können. Ein Profil, das nur ein Repo liest, sollte kein Token halten, das es beschreibt; eines, das nie veröffentlicht, sollte kein Publish-Token halten. Die Linie hält Geheimnisse aus der VM — welche Geheimnisse überhaupt existieren, ist weiterhin deine Entscheidung.

Die Linie, die wir halten werden.

Hier ist die Verpflichtung. Ein Entwickler sollte nicht zum Sysadmin werden müssen — eine Allowlist pflegen, jede Abhängigkeit vorab freigeben, die Geschwindigkeit aufgeben, die einen Agenten lohnenswert machte — um seinen Schlüsselbund zu behalten. Eine Sandbox macht Sicherheit zu einem Handel gegen Nützlichkeit, und Entwickler wählen vernünftigerweise immer wieder die Nützlichkeit. Eine Grenze lehnt den Handel ab: tu alles im Inneren, denn das Innere ist entbehrlich, und die vier Dinge, die zählen — deine Credentials, der Scope deiner Tokens, die Pakete, die dich erreichen, die Anweisungen, die dein Modell erreichen — werden an einer Linie entschieden, mit der der Code im Inneren nicht streiten kann.

Darum ist „es ist eine Sandbox“ die Beschreibung, die wir immer wieder korrigieren werden. Eine Sandbox schränkt den Agenten ein. Bromure schränkt die Grenze ein und setzt den Agenten frei. Bromure Agentic Coding ist frei, Open Source und heute ausgeliefert.