Das Agent-Log lag in ihrer Cloud
Warp hat offengelegt, dass Angreifer Agent-Traces und Telemetrie von rund 1 % seiner Nutzer gestohlen haben, indem sie bei einem Dienstleister in Warps Infrastruktur eingebrochen sind, und laut seinem CEO setzten die Eindringlinge dafür einen Schwarm von KI-Agenten ein. Ein Agent-Trace hält fest, was der Agent gelesen, ausgeführt und gesehen hat, und kann deshalb Code, Befehlsausgaben und Geheimnisse enthalten. In Bromure Agentic Coding wird der Trace des Agenten auf Ihrem Mac geschrieben und verschlüsselt, jedes Geheimnis, mit dem der Agent arbeitet, ist ein Platzhalter, und Sie entscheiden, welche Hosts überhaupt etwas erhalten.
Ein Agent-Trace ist eine Aufzeichnung von allem, was der Agent gelesen, ausgeführt und gesehen hat. Warps Traces lagen bei einem Dienstleister, und am 23. Oktober ist jemand bei diesem Dienstleister eingedrungen.
Am Freitag, dem 23. Oktober, bemerkte Warp, was sein Gründer und CEO Zach Lloyd „eine aktive und eng begrenzte Ausnutzung eines Dienstleisters in Warps Infrastruktur“ nannte. Warp hat sich vom Terminal zu dem entwickelt, was das Unternehmen eine agentische Entwicklungsumgebung nennt, und abgeflossen sind Agent-Traces und Nutzertelemetrie. Lloyd beziffert die Obergrenze auf rund 1 % der Warp-Nutzer. Die Website des Unternehmens nennt mindestens 800.000 Nutzer, 1 % sind also größenordnungsmäßig 8.000 Entwickler. BleepingComputer hat gestern über die Offenlegung berichtet.
Warp sagt, es habe die Operation innerhalb weniger Stunden entdeckt und eingedämmt. Das Unternehmen hat CrowdStrike hinzugezogen, die Strafverfolgungsbehörden informiert und die betroffenen Nutzer benachrichtigt. Laut Risky Business sagt Lloyd, die Eindringlinge hätten einen Schwarm von KI-Agenten eingesetzt, um in den Zulieferer einzubrechen. Warp hat weder den Dienstleister genannt noch die Schwachstelle beschrieben oder gesagt, ob die gestohlenen Traces Quellcode, Prompts oder Zugangsdaten enthielten. Der Rat an die Nutzer: Kontoaktivität beobachten und unaufgeforderte Nachrichten vorsichtiger als sonst behandeln.
Es ist in diesem Monat der zweite Einbruch bei einem Coding-Agenten, der auf den Servern eines Anbieters beginnt. Am 16. Oktober gelangten Angreifer an die Provider-API-Schlüssel, die etwa 1,4 % der OpenCode-Console-Nutzer gespeichert hatten, und einige Nutzer fanden Abbuchungen von bis zu 1.700 $, die sie nicht verursacht hatten. Wir haben darüber in Die Schlüssel lagen in ihrer Konsole berichtet.
Was ein Agent-Trace enthält
Ein Coding-Agent arbeitet in einer Schleife. Er liest eine Datei, führt einen Befehl aus, liest die Ausgabe und entscheidet, was als Nächstes kommt, und ein Trace zeichnet jeden Schritt auf. Dazu gehören der Prompt, den Sie getippt haben, die Dateien, die der Agent geöffnet hat, die Diffs, die er geschrieben hat, die Shell-Befehle, die er ausgeführt hat, und das, was diese Befehle ausgegeben haben.
Über diesen letzten Teil landen Geheimnisse darin. Ein Agent, der ein
fehlschlagendes Deployment debuggt, führt env aus, öffnet .env, gibt eine
Konfigurationsdatei aus und fügt einen Stack-Trace mit einem
Connection-String ein. In
Das Transkript behielt das Token hat
Trellix gezeigt, wie Coding-Agenten Geheimnisse aus dem Schlüsselbund in
Befehlszeilen, die Shell-History und ihre eigenen Transkripte kopieren, als
Nebeneffekt ganz gewöhnlicher Arbeit. Kundendaten gelangen auf demselben Weg
hinein: Der Agent öffnet eine CSV-Datei oder fragt eine Tabelle ab, um einen
Fix zu prüfen, und die Zeilen landen im Trace.
Ein Trace enthält außerdem Ihre Codebasis in Bruchstücken, die Namen interner Hosts und eine Zeitleiste dessen, woran Sie gearbeitet haben. Für einen Angreifer sind ein paar Tausend davon eine Liste von Entwicklern, die sich phishen lassen, jeder mit einer glaubwürdigen Geschichte über das Projekt, an dem er in jener Woche saß. Dieses Risiko steckt hinter Warps Rat zu unaufgeforderten Nachrichten.
Dieselbe Sitzung auf einer Bromure-Maschine
Bromure Agentic Coding führt Claude Code, Codex, Grok, Kimi und omp in Ubuntu-VMs auf Ihrem Mac aus. Jede Anfrage einer Maschine, einschließlich jedes Aufrufs des Agenten an sein Modell, läuft über einen Proxy auf dem Mac. In diesem Proxy zeichnet Bromure den Trace auf, tauscht Zugangsdaten aus und wendet Ihre Netzwerkregeln an. Nehmen Sie die Debugging-Sitzung von oben und lassen Sie sie dort laufen.
Der Trace wird auf Ihrem Mac geschrieben
Bromures Sitzungs-Trace beantwortet die Frage, die man nach einem Vorfall
stellt: Was hat der Agent getan? Neue Maschinen zeichnen
AI request details auf: einen Metadatensatz für jede Anfrage, dazu die
vollständigen Request- und Response-Bodies für die Modellanbieter. Der Trace
Inspector (⇧⌘I) zerlegt diese Bodies in eine Gesprächsansicht mit jedem
Tool-Aufruf, jedem Shell-Befehl, den der Agent ausgeführt hat, und jeder
Datei, die er gelesen oder geschrieben hat. bromure-cli trace liefert
dieselben Daten im Terminal.
All das liegt in ~/Library/Application Support/BromureAC/traces/ auf Ihrem
Mac. Erfasste Bodies werden mit AES-GCM unter einem Schlüssel aus Ihrem
Schlüsselbund versiegelt, mit den Dateirechten 0600. Bei einer
Einzelinstallation wird kein Trace-Datensatz, kein Body und keine
Zusammenfassung irgendwohin hochgeladen, und der Proxy hat für einzelne
Nutzer keinen Analytics-Endpunkt angebunden. Auch die
Prompt-Injection-Klassifikatoren, die denselben Datenverkehr lesen, laufen
auf dem Mac.
Kein Anbieter hält eine Kopie, und auch keiner seiner Zulieferer. Ein Angreifer, der bei einem Logging-Dienst einbricht, findet dort keine Ihrer Sitzungen.
Die Geheimnisse im Trace sind Platzhalter
Zurück zur Debugging-Sitzung. Der Agent führt env aus, öffnet .env und
gibt die Deployment-Konfiguration aus. Auf einer Bromure-Maschine ist jedes
Credential, das Sie eingerichtet haben, innerhalb der VM eine Fälschung.
ANTHROPIC_API_KEY enthält einen Wert sk-ant-api03-brm-, GH_TOKEN und
~/.git-credentials enthalten einen ghp_-Platzhalter, ~/.aws/config
verweist auf einen Helfer, der einen falschen Secret Key ausgibt, und die
SSH-Schlüssel bleiben auf dem Host hinter einem Agent-Socket. Schlüssel, die
Sie aus einer vorhandenen .env importieren, werden ebenfalls zu
Platzhaltern. Der Proxy setzt den echten Wert nur für den Host auf die
Leitung, zu dem dieses Credential gehört.
Was der Agent ausgibt und in sein Gespräch einfügt, ist also ein Platzhalter. Das gilt für jede Kopie: die Logs des Modellanbieters, die eigenen History-Dateien der Agent-CLI, einen Absturzbericht, einen Trace. Außerhalb der Maschine authentifizieren die Platzhalter nirgends. Wenn einer davon an einen Host geht, für den er nicht ausgestellt wurde, blockiert der Proxy die Anfrage mit HTTP 451, pausiert die VM und zeigt This environment may have been compromised mit dem Credential, dem Host, zu dem es gehört, und dem Host, an den es gesendet wurde.
Bromures eigener Trace geht noch einen Schritt weiter. Authorization,
Cookie, api-key und ähnliche Header werden zu <redacted> umgeschrieben,
bevor irgendetwas geschrieben wird, und jeder Credential-Austausch wird als
Vorschau aus den ersten und letzten Zeichen gespeichert, etwa sk-a…f9q3. Das
echte Geheimnis gelangt nie in einen Trace-Datensatz, ob verschlüsselt oder
nicht.
Kundendaten bleiben auf dem Mac
Schalten Sie in den Einstellungen der Maschine PII Protection ein, und
der Proxy findet personenbezogene Daten in jeder Anfrage, bevor sie zum
Modellanbieter geht: Namen, E-Mail-Adressen, Telefonnummern, Karten- und
Kontonummern, amtliche Ausweisnummern und Postanschriften. Er ersetzt jeden
Wert durch einen realistischen Platzhalter, einen erfundenen Namen oder eine
@example.com-Adresse, und setzt die echten Werte in der Antwort wieder ein,
auch in den Argumenten von Tool-Aufrufen. Die Erkennung läuft auf dem Mac mit
dem eingebauten Rampart-Modell.
Der Agent arbeitet mit den echten Zeilen, und der Anbieter sieht die
Platzhalter. Derselbe Kunde bekommt in jeder Runde denselben Platzhalter,
sodass Prompt-Caching weiter funktioniert. Die Security Timeline zählt jeden
Austausch, 3 names · 1 phone number → api.anthropic.com, ohne einen
einzigen Wert zu protokollieren.
Für Arbeit, die auf dem Mac bleiben soll, leiten Sie den Agenten zu einem lokalen Modell. MLX-Modelle laufen auf der GPU des Mac, und diese Runden gehen nirgendwo anders hin.
Sie entscheiden, wer etwas erhält
Agent-CLIs sprechen nicht nur mit ihrem Modell. Fehlerberichte, Feature-Flags und Nutzungstelemetrie gehen jeweils an einen eigenen Host. Stellen Sie im Bereich Guardrails der Maschine Unmatched traffic auf Deny und erlauben Sie die Hosts, die das Projekt braucht: den Modellanbieter, Ihre Forge, Ihre Paket-Registries. Jede andere Verbindung wird am Mac abgewiesen, und jede Abweisung ist eine Zeile in der Security Timeline. Am Ende haben Sie eine schriftliche Liste der Unternehmen, die Daten von dieser Maschine erhalten, und Sie haben sie selbst geschrieben.
Teams behalten den Überblick, ohne Transkripte zu sammeln
Organisationen müssen trotzdem sehen, was ihre Agenten tun. Ein Mac, der in einem bromure.io-Workspace registriert ist, streamt Sitzungsmetadaten an die Administratoren: verwendete Tools, berührte Dateien, ausgeführte Befehle, Token-Verbrauch. Rohe Prompts werden nie gesendet. Das vollständige Gespräch bleibt im verschlüsselten Trace auf dem Mac des Entwicklers. Ein roter Punkt in der Kopfzeile des Fensters zeigt an, wann eine Maschine streamt, und der Private mode hält die Aktivität eines Workspace lokal, etwa eines, der einen persönlichen API-Schlüssel nutzt.
Die Woche danach
Warps betroffene Nutzer müssen jetzt herausfinden, was ihre Traces enthielten, und alles rotieren, was darin gewesen sein könnte. Auf einem Mac mit Bromure dauert der erste Teil ein paar Minuten. Öffnen Sie den Trace Inspector, filtern Sie nach Workspace und schalten Sie Conversations only ein, um jeden Befehl zu sehen, den der Agent ausgeführt hat, und jede Datei, die er gelesen hat. Leaks only listet jede Anfrage, die ein echtes Token trug, das Bromure nicht ausgestellt hat. Daran sehen Sie, ob je ein rohes Geheimnis an den Platzhaltern vorbeigegangen ist.
Die Rotation passiert an einer Stelle. Die echten Schlüssel liegen in einem einzigen verschlüsselten Tresor auf dem Host. Fügen Sie den neuen Wert im Bereich Credentials der Maschine ein, und der nächste Start schreibt den passenden Platzhalter. Ein Schlüssel, der als 1Password-Referenz gespeichert ist, wird alle zwei Minuten neu aufgelöst, sodass eine Rotation in 1Password laufende Maschinen ohne Neustart erreicht.
Traces bleiben zu Hause
Der Sitzungs-Trace wird auf Ihrem Mac geschrieben und unter einem Schlüssel aus dem Schlüsselbund versiegelt. Einzelinstallationen laden nichts hoch.
Geheimnisse sind Platzhalter
Was der Agent ausgibt, ist eine Fälschung. Traces halten Auth-Header geschwärzt und Austausche als kurze Vorschauen.
Personendaten werden ersetzt
Namen, E-Mails, Kartennummern und Adressen erreichen den Modellanbieter als Platzhalter, erkannt auf dem Mac.
Sie wählen die Hosts
Mit Unmatched traffic auf Deny erhalten nur die Hosts etwas, die Sie erlaubt haben, und jede Abweisung wird protokolliert.
Die Aufzeichnung dort behalten, wo gearbeitet wurde
Agent-Traces lohnen sich. Mit ihnen finden Sie heraus, was ein Agent um 3 Uhr morgens getan hat, und beantworten die Fragen eines Auditors. Die Frage ist, wer sie aufbewahrt. Jedes Unternehmen, das das Entscheidungsprotokoll Ihres Agenten speichert, ist ein weiteres Unternehmen, dessen Zulieferer es verlieren können, und Angreifer lassen inzwischen eigene Agenten laufen, um den schwachen Zulieferer zu finden.
Bromure Agentic Coding behält die vollständige Aufzeichnung auf der Maschine, auf der der Agent gearbeitet hat, verschlüsselt unter Ihrem Schlüsselbund, und füllt sie mit Platzhaltern statt mit Geheimnissen. Wenn der nächste Anbieter einen Einbruch offenlegt, beantworten Sie „Waren wir betroffen?“ in Ihrem eigenen Trace Inspector.
Wie Agenten Geheimnisse über ihre eigenen Transkripte verbreiten, lesen Sie in Das Transkript behielt das Token. Zum Einbruch bei OpenCode Console Anfang dieses Monats lesen Sie Die Schlüssel lagen in ihrer Konsole.