Kostenlos testen7 Tage Log-Aufbewahrung
Zurück zum Enterprise-Überblick
Supply-Chain-Sicherheit

Richten Sie den Agenten auf Code aus, dem Sie nicht trauen. Verlieren Sie nichts, wenn er zubeißt.

Agenten klonen Drittanbieter-Repos, installieren Abhängigkeiten und führen Build-Skripte aus, die von Fremden geschrieben wurden. Ein bösartiger Postinstall-Hook oder eine in einem README vergrabene Anweisung sollte weder Ihre Tokens noch Ihre Keys noch Ihr Netzwerk erreichen. In einer Bromure-VM kann sie das nicht.

Das Problem

Jedes npm install ist Remote-Code-Ausführung

In dem Moment, in dem ein Agent `npm install`, `pip install` oder ein Makefile aus einem ungeprüften Repo ausführt, läuft beliebiger Code von Leuten, die Sie nie getroffen haben, mit den Privilegien Ihres Engineers. Ein vergiftetes Postinstall-Skript, ein Typosquatting-Paket, ein Build-Schritt, der nach Hause telefoniert — jedes läuft als der Nutzer, mit den SSH-Keys, Cloud-Zugangsdaten und der Umgebung des Nutzers einen Syscall entfernt.

Agentic Coding macht das häufiger und gefährlicher. Der Agent klont enthusiastisch das Repo, auf das ein Ticket ihn zeigte, installiert, was auch immer die Lockfile sagt, und führt die Test-Suite aus — und eine Prompt-Injection im README des Projekts kann ihn zu einem „führ einfach dieses Setup-Skript aus“ lenken, bevor ein Mensch je eine Zeile geprüft hat.

Bromures Antwort

Der Schadensradius ist eine VM, die gleich gelöscht wird

Bromure führt den Agenten — und alles, was er ausführt — in einer entsorgbaren Linux-VM mit eigenem Kernel, eigenem Dateisystem und eigenem Netzwerk-Stack aus. Das ungeprüfte Repo, seine Abhängigkeiten und seine Build-Skripte laufen dort, nicht auf dem Laptop des Engineers. Echte Zugangsdaten gelangen nie in die VM; der Agent erreicht Git und Paket-Registries über einen Proxy, der die Secrets hält.

Wenn ein Postinstall-Hook versucht, `~/.ssh` zu lesen, eine Umgebungsvariable zu exfiltrieren oder eine Reverse Shell zu öffnen, findet er eine ephemere VM ohne echte Geheimnisse, mit auf eine Allow-List beschränktem Egress und nichts von Ihnen zum Stehlen vor. Wenn die Aufgabe endet, wird die VM zerstört, und was immer das Paket platziert hat, verschwindet mit ihr. Und wenn die README oder ein Build-Skript versucht, den Agent selbst zu steuern, markiert Bromures Prompt-Injection-Erkennung auf dem Gerät den Versuch — sodass eine feindselige Anweisung abgefangen und nicht nur eingedämmt wird.

So funktioniert es

Zugangsdaten betreten den Raum nie

Git- und Registry-Zugriff laufen über einen Zugangsdaten-Proxy. Der Agent und der ungeprüfte Code, den er ausführt, bekommen abgegrenzten, kurzlebigen Zugriff — sie sehen nie ein echtes Token oder einen SSH-Key.

Egress an der Leine

Netzwerkzugriff steht pro Profil auf einer Allow-List. Eine Abhängigkeit, die zu einer frischen Domain oder einem IP-Literal beaconed, wird blockiert, und der Versuch taucht im Log auf.

Vergängliche Build-Umgebung

Klonen, Installieren und Bauen geschehen alle in einer VM, die bei Aufgabenende zerstört wird. Ein persistentes Implantat hat nichts Persistentes, um darin zu leben.

Injection abgefangen, nicht nur eingedämmt

Ein Klassifizierer auf dem Gerät prüft, was der Agent liest — READMEs, Code-Kommentare, abgerufene Seiten, Tool-Ausgaben — und die Rules-Dateien im CLAUDE.md-Stil, denen er vertraut, auf Anweisungen, die ihn zu steuern versuchen. Der Versuch wird markiert oder blockiert, bevor das Modell handelt — nicht erst hinterher in einer Sandbox isoliert.

Standardmäßig ungeprüft

Neue Repos bekommen automatisch das gesperrte Profil — Downloads eingegrenzt, Secrets über Proxy, Egress eingeschränkt —, sodass „lass den Agenten auf diesem externen Projekt laufen“ sicher ist, bevor es jemand prüft.

In der Praxis

Was passiert, wenn das Paket feindlich ist

Ein Engineer bittet den Agenten, eine Open-Source-Bibliothek zu evaluieren, die ein Ticket vorschlug. Der Agent klont das Repo in eine frische Bromure-VM und führt `npm install` aus. Niemandem bekannt, liefert eine transitive Abhängigkeit ein Postinstall-Skript mit, das Umgebungsvariablen liest und sie per POST an einen Endpunkt eines Angreifers schickt.

Innerhalb der VM läuft das Skript — und findet nichts Mitnehmenswertes. Es gibt keine echten Zugangsdaten in der Umgebung; Git und die Registry wurden über den Proxy erreicht, der nie ein Token offenlegte. Der POST an die Domain des Angreifers steht nicht auf der Egress-Allow-List des Profils, also wird er verworfen und protokolliert. Der Sitzungsdatensatz zeigt das Lesen der Umgebung, die blockierte Verbindung und das Ziel.

Der Engineer liest den Report, flaggt das Paket und schließt die Sitzung. Die VM — und das Implantat, die modifizierten Dateien, die gecachte Payload — wird zerstört. Der Laptop hat nie eine Zeile des feindlichen Codes ausgeführt, und das Einzige, was der Angreifer gelernt hat, ist, dass die Tür verschlossen war.

Architektur & Integration

Wie es tatsächlich gebaut ist

Hier endet das Marketing. Was folgt, ist das technische Fundament, auf dem jedes Bromure-Deployment sitzt — ob Sie eine BYOD-Belegschaft schützen oder Klassifizierungsstufen innerhalb einer regulierten Behörde trennen.

Hypervisor-erzwungene Isolation

Jedes Profil läuft in einer eigenen, leichten Linux-VM auf Basis von Apples Virtualization.framework — mit eigenem Kernel, eigenem Dateisystem und eigenem Netzwerk-Stack, getrennt vom Host. Das Base-Image ist ein signierter, reproduzierbarer Alpine-Build, beim Sitzungsstart via APFS Copy-on-Write geklont (nahezu kein Plattenplatz-Overhead). Der Host kann den VM-Speicher nicht lesen; die VM kann weder Clipboard, Dateisystem noch Netzwerkadapter des Hosts lesen — es sei denn, die Profil-Richtlinie erlaubt es ausdrücklich.

Identität: SSO für Nutzer, mTLS für Geräte

Enrollment und Sitzungsstart sind durch zwei Faktoren abgesichert, die Ihre Organisation bereits betreibt. OIDC / SAML gegen Google Workspace, Okta, Microsoft Entra oder Authentik identifiziert den Nutzer. Ein pro Gerät ausgestelltes mTLS-Client-Zertifikat, aus Ihrer PKI und an die Installation gebunden, identifiziert die Maschine. Widerrufen Sie eines von beiden — und die nächste Sitzung startet nicht. Kein Agent zum Manipulieren, keine lokale Richtlinie, die sich umgehen lässt.

Profile-as-Code

Das Arbeitsprofil — erlaubte SaaS-Liste, Download-/Clipboard-/Screenshot-Haltung, VPN-Konfiguration, Tastaturlayout, Root-CAs, Netzwerk-Egress-Regeln — ist ein signiertes, deklaratives Artefakt. Versionieren Sie es in Git. Verteilen Sie es über Ihr MDM oder den Bromure-Config-Endpoint. Manipulierte Profile fallen durch die Signaturprüfung, und die Sitzung weigert sich zu starten. Was auf der Maschine des Nutzers läuft, ist bitgenau das, was Sie verfasst haben.

Netzwerk-Ebene pro Profil

Jedes Profil bringt seine eigene virtuelle NIC mit. Wählen Sie NAT über den Host, Bridge auf ein physisches Interface oder Tunneling via WireGuard, IKEv2 / IPsec oder Cloudflare WARP — alles in der VM terminiert, für den Host unsichtbar. Legen Sie DNS-Overrides, ausgehende Port-Whitelists, LAN-Isolation und einen HTTP-Proxy darüber. Segmentierung wird vom Hypervisor erzwungen — nicht von einem Aufkleber auf der Firewall.

Audit-Pipeline

Jede Anfrage — Zeitstempel, Verb, URL, Status, Nutzer, Profil, Gerät — wird außerhalb der VM in einem manipulationssicheren JSON-Lines-Stream erfasst und an den Log-Sink geliefert, den Sie bereits befüllen (SIEM, Data Lake, Retention-Archiv). Optional Headers-Only oder vollständige Sitzungsaufzeichnung für verdächtigen Traffic. Stabiles Schema, dokumentierte Felder, kein Vendor-Lock-in auf das Format.

Ephemer per Default, persistent nur auf Wunsch

Fenster schließen — die VM wird zerstört. Tokens, Cookies, Cache, Downloads und jede Malware, die während der Sitzung gelandet ist, gehen mit. Profile, die Zustand brauchen — ein Bookmarks-Set, eine gespeicherte Sitzung, eine eingeloggte SaaS — können optional eine LUKS-verschlüsselte persistente Disk aktivieren, mit einem Schlüssel im macOS-Keychain. Der Schlüssel verlässt das Gerät des Nutzers nie.

Häufige Fragen

Macht das nicht ein Container oder ein frischer CI-Runner schon?

+

Container teilen sich den Host-Kernel und werden routinemäßig ausgebrochen; CI-Runner halten oft genau die Deploy-Zugangsdaten, die ein Angreifer will. Bromure nutzt hardware-isolierte VMs mit eigenem Kernel und hält echte Secrets vollständig hinter einem Proxy aus der VM heraus — sodass selbst ein Ausbruch auf Kernel-Ebene nichts zu stehlen findet.

Wie pusht der Agent Code oder installiert private Pakete ohne Secrets?

+

Über den Zugangsdaten-Proxy. Er authentifiziert sich im Namen der VM bei Ihrem Git-Host und privaten Registries und injiziert abgegrenzten, kurzlebigen Zugriff auf der Netzwerkschicht. Der Agent bekommt funktionierendes Git und npm; er bekommt nie Zugangsdaten, die er exfiltrieren könnte.

Was hält eine Prompt-Injection in einem README davon ab, zu eskalieren?

+

Zwei Schichten. Erstens prüft Bromures Erkennung auf dem Gerät die Inhalte, die der Agent liest — READMEs, Kommentare, abgerufene Seiten, Tool-Ausgaben — und die Rules-Dateien im CLAUDE.md-Stil, denen er vertraut, und markiert oder blockiert eingeschleuste Anweisungen, bevor das Modell handelt. Und selbst wenn eine durchrutscht, wird sie innerhalb der VM ausgeführt — keine echten Credentials, auf eine Allow-List beschränkter Egress, kein Zugriff auf den Host —, sodass der schlimmste Fall verschwendete Rechenleistung in einer Sandbox ist, die ohnehin gleich gelöscht wird, und das alles protokolliert.

Bekommen wir trotzdem die Build-Artefakte, die wir wollten?

+

Ja. Legitime Outputs werden über denselben kontrollierten Pfad wie jeder Download aus der VM hinausbefördert — optional VirusTotal-gegated —, sodass Sie das Ergebnis behalten, ohne das Risiko zu behalten.

Führen Sie das ungeprüfte Repo aus. Behalten Sie Ihre Keys.

Geben Sie Agenten eine Build-Umgebung, in der feindlicher Code nichts findet und nichts zurücklässt.