Eine Referenzarchitektur für Agentensicherheit, und wie Bromure sie abdeckt
Ingenieure von Docker, Keycard, Barclays, Socket und Secure Theory haben The Secure Software Factory veröffentlicht, eine Referenzarchitektur für den sicheren Betrieb von Coding-Agenten, aufgebaut auf den Kontrollen von Agent Baseline. Das ist ein guter Anfang, und wir freuen uns darüber. Hier zeigen wir, wie Bromure Agentic Coding ihre vier Grenzen abdeckt und wo es beim Beobachten und Reagieren weiter geht.
Am 13. Oktober hat eine Gruppe von Ingenieuren The Secure Software Factory veröffentlicht, eine Referenzarchitektur für Organisationen, die Coding-Agenten Code schreiben, testen und ausliefern lassen. Verfasst haben sie Eli Aleyner, Ranti Familusi und William Manning (Docker), Allie Howe und Ian Livingstone (Keycard), Andy McMahon (Barclays), Ahmad Nassri (Socket) und Aaron Stanley (Secure Theory). Sie baut auf Agent Baseline auf, einem Satz von 35 Kontrollen in sechs Zielbereichen, den Keycard gemeinsam mit Ingenieuren von Docker und Snyk ins Leben gerufen hat.
Wir freuen uns darüber. Es ist ein öffentlicher, versionierter Entwurf mit stabilen Kontroll-IDs, lizenziert unter CC BY 4.0, offen für Kommentare auf GitHub und dafür gedacht, später an ein Gremium der Community übergeben zu werden. Hersteller und die Teams, die bei ihnen kaufen, können jetzt auf dieselben Kontrollen verweisen.
Was die Architektur verlangt
Ihr Kerngedanke passt in eine Zeile: „Der Agent schlägt vor, die Policy autorisiert, und die Infrastruktur setzt durch.“ Der Agent gilt als nicht vertrauenswürdig, ob er sich irrt, durch etwas Gelesenes manipuliert oder übernommen wurde. Seine Grenzen müssen daher außerhalb seiner eigenen Entscheidungen durchgesetzt werden. Das Dokument zieht vier Grenzen:
- Sandbox: Agentencode läuft nur in einer isolierten Sandbox, die er weder ändern noch verlassen kann.
- Netzwerk: „Nichts kommt hinein oder hinaus, außer über Wege, die der Agent nicht umkonfigurieren oder umgehen kann.“
- Lieferkette: Komponenten kommen nur aus freigegebenen Quellen, und nichts, was in die Sandbox gelangt, enthält Zugangsdaten.
- Identität und Zugriff: Ein Agent nutzt nur den Zugriff, der ihm für seine Aufgabe gewährt wurde, hält nie selbst Zugangsdaten und braucht für folgenreiche Aktionen eine Freigabe, die er sich nicht selbst erteilen kann.
Diese Grenzen gelten über drei Autonomiestufen hinweg: ein Entwickler, der einen Agenten steuert (Stufe 1), ein Workflow, der Agenten als gemeinsamen Dienst betreibt (Stufe 2), und ein Orchestrator-Agent, der entscheidet, was als Nächstes passiert (Stufe 3). Dazu kommen eine Ausführungsschicht, die jeden Agenten anhalten kann, und ein Audit-Trail außerhalb der Reichweite aller Agenten.
Untermauert wird das mit echten Vorfällen. In einem davon fand ein Coding-Agent bei einer Staging-Aufgabe ein API-Token in einer Datei, die nichts damit zu tun hatte, und löschte damit in neun Sekunden eine Produktionsdatenbank. Beim Wurm Shai-Hulud sammelten bösartige Pakete alle Zugangsdaten ein, die sie auf dem Rechner fanden, der sie installierte.
Wie Bromure die vier Grenzen abdeckt
Bromure Agentic Coding läuft auf Ihrem Mac und legt jeden Agenten-Workspace in eine eigene Linux-VM. So sieht die Zuordnung aus.
| Grenze | Was die Architektur verlangt | Bromure |
|---|---|---|
| Sandbox | Isolation passend zum Risiko, bis hin zu einer microVM mit eigenem Kernel; kein Zugriff auf den Host; Tests laufen in derselben Isolation; Anhalten auf Anforderung und Sichern des Zustands als Beweismittel | Eine vollständige Linux-VM pro Workspace, mit eigenem Kernel und eigenem Docker für Tests. Mit einer OpenShell-Policy schränken Landlock und seccomp den Agenten darin zusätzlich ein. Eine Maschine lässt sich pausieren, und Für Untersuchung speichern exportiert ihre Festplatten, bevor sie zurückgesetzt wird |
| Netzwerk | Gesamter Verkehr über einen Egress-Proxy, durchgesetzt auf Netzwerkebene, nicht über Proxy-Einstellungen; Durchsetzung pro Operation | Der virtuelle Switch des Mac prüft jede Verbindung und leitet Webverkehr in Bromures Proxy um, auch wenn ein Tool die Proxy-Einstellungen ignoriert. Regeln können HTTP-Methoden einschränken, mit einer OpenShell-Policy auch Pfade sowie MCP-, GraphQL- und WebSocket-Operationen |
| Lieferkette | Pakete nur über eine Zulassungsstelle; neue Versionen durchlaufen eine Wartezeit; nichts, was in die Sandbox gelangt, enthält Zugangsdaten | Installationen aus acht Ökosystemen laufen durch Bromures Prüfungen: eine standardmäßig aktive Mindestwartezeit von zwei Tagen für neue Versionen, dazu optionale Abfragen bei OSV und socket.dev. Ein Paket ohne Urteil wird zurückgehalten, bis Sie entscheiden |
| Identität und Zugriff | Der Agent hält nie Zugangsdaten; sie werden am Proxy angehängt; folgenreiche Aktionen brauchen eine Freigabe | Die VM enthält immer nur Platzhalter-Tokens; der Proxy setzt die echten für den richtigen Host ein. SSH-Schlüssel bleiben auf dem Mac, und AWS-Anfragen werden außerhalb der VM neu signiert. Schreibvorgänge wie ein git push können einen Klick erfordern, und Agenten-Branches werden nur gemergt, wenn Sie zustimmen |
Bei Vorfällen wie diesen zählt die Grenze für Zugangsdaten am meisten. Ein Shai-Hulud-Paket, das eine Bromure-VM abgrast, findet nur Platzhalter-Tokens, die außerhalb von Bromures Proxy nutzlos sind. (Socket, wo einer der Autoren arbeitet, ist übrigens auch eine der Paketprüfungen, die Bromure nutzen kann.)
Auch die Stufen lassen sich zuordnen. Ein Entwickler, der Agenten in Sitzungen laufen lässt, ist Stufe 1. Automatisierungen, die einen Agenten nach Zeitplan starten oder wenn ein GitHub-Pull-Request oder ein Linear-Issue eingeht, jeweils in einem frischen Git-Worktree und optional in einem Wegwerf-Klon der Maschine, sind Stufe 2. Agenten, die Arbeit an andere Agenten delegieren, wobei jede Nachricht über den Host läuft, auf Prompt-Injection geprüft und protokolliert wird, sind der Anfang von Stufe 3.
Wo Bromure weiter geht
Der Entwurf geht offen mit seinen eigenen Schwachstellen um. Seine Herkunftserklärung sagt, dass von den sechs Zielbereichen Discover, Observe und Respond „von keiner der einberufenden Organisationen verkauft werden“ und „entsprechend weniger ausgearbeitet sind“, und nennt diese Asymmetrie „einen Mangel“. Außerdem heißt es dort, dass nach dem eigenen Maßstab der Baseline keines der drei einberufenden Unternehmen eine vollständige Umsetzung ist. So etwas schriftlich festzuhalten, ist ungewöhnlich ehrlich.
In Observe und Respond haben wir die meiste Arbeit gesteckt:
- Beobachtung aus dem Kernel. Die Architektur verlangt, dass die Sandbox-Laufzeit Prozess-, Datei- und Netzwerkaktivität aufzeichnet. Bromures Kernel-Sentry tut das aus dem Gast-Kernel heraus und streamt die Daten über einen Kanal an den Mac, den root in der VM nicht schließen kann. Jeder Versuch, ihn zum Schweigen zu bringen, gilt als Manipulation.
- Vom Vorhaben zum Ergebnis. Die Kontrolle OBS-05 von Agent Baseline verlangt Belege, die verknüpfen, was ein Agent tun wollte, mit dem, was er getan hat. Bromures Abstammung verfolgt jede Verbindung über die Prozesse, die sie geöffnet haben, zurück bis zum Tool-Aufruf des Agenten und zur Begründung, die das Modell dafür gegeben hat. Versucht das Installationsskript einer Abhängigkeit, Daten nach außen zu senden, sehen Sie die Installation, die es ausgeführt hat, und warum der Agent diese Installation gestartet hat.
- Prüfung der Eingaben. Die Architektur behandelt alles, was ein Agent
liest, als nicht vertrauenswürdig. Bromure kann Tool-Ergebnisse und
Regeldateien wie
CLAUDE.mdauf Ihrem Mac auf Prompt-Injection prüfen, prüft jede Nachricht zwischen Agenten und prüft immer den Text eines GitHub- oder Linear-Ereignisses, bevor eine Automatisierung darauf reagiert. - Daten für die Inferenz. Bromures PII-Schutz ersetzt Namen, E-Mail-Adressen, Kontonummern und ähnliche Daten durch Platzhalter, bevor eine Anfrage ein Cloud-Modell erreicht, und setzt sie in der Antwort wieder ein.
- Reagieren, ohne Beweise zu verlieren. Wenn Bromure sieht, dass ein Zugangsdatum dorthin abfließt, wo es nicht hingehört, pausiert es die VM. Sie können sie herunterfahren oder ihre Festplatten für die Untersuchung sichern; danach startet die Maschine erst wieder, wenn sie zurückgesetzt wurde. Mit OpenShell-Policies stellt eine Häufung abgewiesener Operationen den Workspace unter Quarantäne: Netzwerk getrennt, VM pausiert.
- Traces außer Reichweite. Der Trace jeder Maschine mit Modellanfragen, Tool-Aufrufen, Befehlen und Dateiaktivität wird verschlüsselt auf dem Mac gespeichert, außerhalb der VM.
Ein weiterer Unterschied liegt darin, wo das alles läuft. Die Architektur ist für Fabriken geschrieben, und Stufe 1, ein Entwickler mit einem lokalen Agenten, bekommt ein paar Absätze. Genau dort laufen heute die meisten Agenten. Bromure bringt die vier Grenzen auf den Mac dieses Entwicklers, ohne dass Infrastruktur aufgebaut werden muss, und es ist kostenlos und Open Source.
Ein guter Anfang
The Secure Software Factory liegt in Version 1 vor und ist offen für Kommentare: vorsichtig in dem, was sie behauptet, und ehrlich darüber, wessen Produkte sie geprägt haben. Ihr Issue Tracker steht allen offen, und in den Abschnitten zum Beobachten und Reagieren ist unserer Meinung nach am meisten noch zu schreiben.
Mehr Unternehmen, die öffentlich an Agentensicherheit arbeiten, mit stabilen Kontroll-IDs, sind gut für alle, die Agenten betreiben.