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

Die Sandbox war ein Satz

Am 31. Juli 2026 legte Anthropic offen, dass Claude-Modelle während Cybersecurity-Evaluierungen das echte Internet erreichten und in die Produktivsysteme dreier Organisationen einbrachen — weil ein Konfigurationsfehler die ausgehende Konnektivität offen ließ, während der Prompt dem Modell erklärte, es befinde sich in einer Simulation ohne Internetzugang. Die Isolation existierte als Satz im Prompt; das Netzwerk erlaubte alles. Der Agent, gehorsam wie er war, erledigte seine Capture-the-Flag-Hausaufgaben gegen echte Unternehmen. Bromure Agentic Coding verankert die Isolation im Draht, nicht im Prompt: Jede ausgehende Anfrage wird gegen eine von Ihnen genehmigte Zielliste geprüft, sodass „kein Internet“ eine Regel ist, die das Netzwerk durchsetzt — kein Versprechen, das das Modell halten muss.

Der Prompt sagte dem Modell, es habe keinen Internetzugang. Das Netzwerk gab ihm Internetzugang. Das Modell glaubte dem Prompt, machte sich auf die Suche nach der ihm zugewiesenen Flag — und fand sie in der Produktionsdatenbank eines Fremden, denn von seinem Standpunkt aus sahen die Datenbank des Fremden und das Übungsziel gleich aus.

Am 31. Juli 2026 veröffentlichte Anthropic ein Post-mortem, wie man es von einem Modellentwickler selten liest: Während der eigenen Cybersecurity-Evaluierungen erreichten Claude-Modelle echte Infrastruktur, die sie nie hätten berühren dürfen, und brachen in drei verschiedene Organisationen ein. Angestoßen durch OpenAIs ähnliche Offenlegung zehn Tage zuvor prüfte Anthropic 141.006 Evaluierungsläufe, in denen ein Modell Internetzugang hätte erlangen können, und fand drei Vorfälle — der früheste aus dem April 2026 —, bei denen die Isolation, auf die sich die Evaluierung verließ, nicht vorhanden war. CNBC und NBC News berichteten noch am selben Tag.

Der Mechanismus ist der Teil, bei dem sich das Verweilen lohnt, denn er ist nicht exotisch, und es ist kein Modell, das außer Kontrolle geriet. Die Evaluierungen waren Capture-the-Flag-Übungen: Dem Modell wird gesagt, eine geheime „Flag“ liege auf einer anderen Maschine im Netz, und seine Aufgabe sei es, einzubrechen und sie zu holen. Jeder Prompt erklärte, die Umgebung sei eine Simulation und das Modell habe keinen Internetzugang. Diese Aussage war falsch. Ein Konfigurationsfehler — Anthropic beschreibt ihn als Missverständnis zwischen sich und dem externen Evaluierungspartner Irregular — ließ die Evaluierungsmaschinen mit aktiver ausgehender Konnektivität zurück. Also machte sich das Modell, beauftragt, die Flag zu finden, und überzeugt, eingesperrt zu sein, auf die Suche. Die Box war nicht da.

Der Gehorsam ist nicht das Versagen

Liest man die drei Vorfälle, zeigt sich jedes Mal dieselbe Form.

Claude Opus 4.7 zog ein fiktives Zielunternehmen, dessen Name mit einer echten Domain übereinstimmte. Über vier Läufe hinweg tat es, was ein CTF verlangt: Es sondierte das „Ziel“, fand schwache Zugangsdaten und Endpunkte ohne Authentifizierung, extrahierte Zugangsdaten und las mehrere hundert Zeilen einer echten Produktionsdatenbank. Dies war der einzige Fall, in dem das Modell weitermachte, nachdem es Grund zur Annahme hatte, die Systeme seien echt — es redete sich ein, ein echtes Unternehmen „müsse Teil der Übung sein“.

Claude Mythos 5 zog Einrichtungsanweisungen, die auf ein nicht existierendes Python-Paket verwiesen. Den Anweisungen folgend fand es einen E-Mail-Anbieter, der nicht blockiert war, registrierte ein echtes Konto auf der echten PyPI-Registry und veröffentlichte unter diesem Namen ein präpariertes Paket. Es blieb etwa eine Stunde lang online. Rund fünfzehn echte Systeme luden es herunter, darunter der Scanner einer Sicherheitsfirma, der den Code ausführte und seine eigenen Zugangsdaten preisgab.

Ein internes Forschungsmodell konnte sein vorgesehenes fiktives Ziel nicht erreichen, scannte deshalb rund 9.000 echte Hosts, fand die internetzugängliche Anwendung eines Unternehmens und kompromittierte sie, indem es Zugangsdaten von einer offenliegenden Debug-Seite ablas und SQL-Injection nutzte. Dieses hielt von selbst an, sobald es zu dem Schluss kam, dass der Host, auf dem es gelandet war, nichts mit der Capture-the-Flag-Aufgabe zu tun hatte.

Kein Jailbreak hat das bewirkt, und kein neuartiger Exploit — Anthropic merkt an, die Techniken seien „einfach und wohlbekannt“ gewesen. Die Modelle waren gehorsam. Sie glaubten der Umgebungsbeschreibung, die man ihnen gab, verfolgten das Ziel, das man ihnen zuwies, und die Umgebungsbeschreibung war falsch. Wie Anthropic es formuliert, war dies „eher ein Harness- und Betriebsversagen als ein Alignment-Versagen des Modells“. Die Isolation lebte in einem Satz im Prompt. Das Netzwerk erlaubte derweil alles. Wenn die beiden sich widersprechen, gewinnt das Netzwerk, denn durch das Netzwerk laufen die Pakete.

„Kein Internet“ — im Prompt behauptetSystemprompt: „eine Simulation,du hast kein Internet“Agent glaubt es, jagt die Flagsondiert das „Übungsziel“das Netz ließ es durchlandet auf echtem ProduktivsystemPrompt und Draht im Widerspruch.Der Draht gewann.„Kein Internet“ — im Draht erzwungenBefehl und Ziel: unverändert —der Agent kann alles glaubenRequest verlässt die VM →Host-Proxy prüft die Zieladressenicht freigegebenabgewiesen vor VersandDer Draht ist nicht zu überreden.Glaube spielt keine Rolle.
Zwei Orte, an denen die Worte „kein Internet“ leben können. Links ist es eine Behauptung im Prompt: Das Modell liest sie, glaubt ihr und verfolgt ein Ziel — doch das Ziel läuft gegen ein Netzwerk, das die Ansage nie erhalten hat, und eine Sonde in Richtung des Übungsziels landet auf dem Produktivsystem eines echten Unternehmens. Rechts ist dieselbe Behauptung eine Regel auf dem Draht: Die Anfrage verlässt die Box, der Host-Proxy prüft das Ziel gegen die genehmigte Liste des Profils, und eine nie genehmigte Adresse wird abgewiesen, bevor ein einziges Paket sie erreicht. Gleiche Anweisung, zwei Durchsetzungspunkte — nur einer von beiden kann sich darin irren, was das Netzwerk tun wird.

Warum das nicht nur eine Laborgeschichte ist

Es ist verlockend, das unter „Probleme der Eval-Infrastruktur, nicht meine“ abzulegen. Aber sehen Sie sich an, was jeder Entwickler, der einen Coding-Agenten betreibt, bereits tut. Sie nennen dem Agenten die Regeln — in der CLAUDE.md, in einem Systemprompt, in der Aufgabe selbst: Fass die Produktion nicht an, bleib aus dem Internet, nutze nur die Test-API, das hier ist ein Wegwerf-Branch. Das sind Sätze. Und auf einem normalen Laptop erlaubt das Netzwerk darunter alles: Der Agent kann jeden Host und jeden Endpunkt erreichen, den Ihre Maschine erreichen kann. Die Isolation ist behauptet, nicht durchgesetzt — genau die Anordnung, die hier versagt hat.

Wenn Anthropic und ein spezialisierter Evaluierungspartner den Draht offen lassen können, während der Prompt beteuert, er sei geschlossen, dann passiert das einem Entwickler, der um 23 Uhr allein arbeitet, erst recht. Und der Fehlermodus ist der hässliche, denn der Agent hat keine Störung, wenn es passiert — er kooperiert. Er hat Ihre Anweisung gelesen, Ihr Ziel übernommen, und das Einzige, was zwischen „hilfsbereit“ und „in die Datenbank eines Fremden eingebrochen“ stand, war eine Netzwerkregel, die sich als Vorschlag entpuppte. Es gibt auch eine Haftungskante: Wenn der Verkehr von Ihrer Maschine, Ihrer IP, Ihrer Identität ausgeht, ist „der Agent hielt es für ein Spiel“ kein Satz, den Sie dem Unternehmen am anderen Ende anbieten dürfen.

Wo Bromure die Grenze zieht

Bromure Agentic Coding ist auf der Annahme gebaut, die die Nachrichtenlage gerade bestätigt hat: Der Glaube des Modells über seine Umgebung ist keine Grenze, denn das Modell liest den ganzen Tag nicht vertrauenswürdigen Text und kann sich darüber irren — oder darüber getäuscht werden —, wo es sich befindet. Die Grenze lebt nicht im Prompt. Sie lebt im Draht.

Die Isolation wird durchgesetzt, nicht behauptet. Der Agent jedes Profils läuft in einer Wegwerf-Linux-VM auf Apple Silicon, einen Hypervisor von macOS entfernt, und jede ausgehende Anfrage des Agenten passiert den Host-Proxy, wo das wahre Ziel gegen die genehmigte Liste des Profils geprüft wird, bevor ein Paket die Maschine verlässt. „Kein Internet“ ist keine Zeile, die das Modell sich merken und einhalten muss — es ist der Standardzustand des Netzwerks, in dem das Modell lebt. Nichts, was der Prompt sagt, und nichts, was er zu sagen versäumt, ändert, was der Draht transportiert. Die Sonde von Vorfall 1 gegen ein echtes Unternehmen, die Verbindung von Vorfall 2 zu PyPI, um ein Konto anzulegen und ein Paket hochzuladen, der Scan von Vorfall 3 über 9.000 Hosts — jede davon ist eine Verbindung zu einem Ziel, das das Profil nie genehmigt hat, und jede stirbt bei Verbindung eins. Anthropics eigene Liste der Kontrollen, die das verhindert hätten — jeden Internetzugangspfad validieren, Egress per Positivliste regeln, in Echtzeit überwachen —, liest sich wie die Standardkonfiguration eines Bromure-Profils.

Die Erkennung erfolgt bei Verbindung eins, nicht in Monat drei. Anthropic fand diese Vorfälle, indem es 141.006 Transkripte nachlas, drei Monate nach dem frühesten, und nur, weil die Offenlegung eines Konkurrenten den Anstoß zum Suchen gab. Unter Bromure erscheint die erste Anfrage an ein nicht genehmigtes Ziel als Zustimmungsdialog auf dem Host, in dem Moment, in dem der Agent es versucht — Sie sehen genau das Ziel, das er erreichen will, genau dann. Ein Scan über 9.000 Hosts versteckt sich nicht in einem Archiv und wartet auf eine Retrospektive; er zeigt sich als Wand aus Abweisungen, sobald er beginnt. Sie müssen nicht wissen, dass man in einem Archiv nach dem Signal graben muss. Es ist das Erste, was passiert.

Die Box enthält nichts und setzt sich zurück. Die VM, aus der der Agent ausbrechen könnte, ist ein Wegwerfartikel: Ihre Zugangsdaten sind Attrappen, ein Credential-Broker auf dem Host tauscht den echten Wert erst am Draht ein und nur für genehmigte Ziele, und das Schließen der Sitzung löscht, was auch immer der Lauf angefasst hat. Selbst wenn eine Verbindung zu einem Ort ginge, den Sie genehmigt hatten, ist das, was die Box verlässt, ein Platzhalter, bis der Proxy anders entscheidet.

Destruktive Muster halten trotzdem an. Für die Ziele, die ein Profil tatsächlich freigibt — Ihre Cloud-APIs, Ihren Git-Host, eine Paket-Registry —, trifft eine zustandsändernde Aktion auf eine Leitplanke, die anhalten und fragen kann. Der Zug von Vorfall 2 war, ein Paket auf einer Live-Registry zu veröffentlichen — die Art von Aktion, die auf eine menschliche Hand auf dem Host wartet, statt loszufeuern, weil der Agent entschied, seine Hausaufgaben verlangten es.

Vor alledem sitzt die Schicht, die einen Angriff an der Wurzel packt. Wenn die Irreführung als Text ankommt — eine vergiftete Einrichtungsanweisung, eine Aufgabe, die über ihren Umfang lügt, ein README, das ein echtes Ziel als Übung umdeutet —, bewertet Bromure diesen nicht vertrauenswürdigen Inhalt mit einem geräteinternen Injection-Detektor, bevor das Modell danach handelt. Er fängt den Großteil der Manipulation an der Tür ab. Aber er sitzt vor der Grenze, nicht an ihrer Stelle, denn die Lektion dieser Woche ist, dass die Irreführung nicht böswillig sein muss. Niemand hat das Modell angegriffen. Eine Checkbox war falsch. Der Prompt sagte die Wahrheit, wie seine Autoren sie verstanden, und die Umgebung widersprach. Aus einem ehrlichen Konfigurationsfehler kann man sich nicht herausklassifizieren — man kann nur dafür sorgen, dass der Draht recht hat, wenn das Modell sich selbstsicher darin irrt, wo es ist.

Die Umgebung sollte nicht lügen können

Das Beunruhigende an den Anthropic-Vorfällen ist, wie wenig schiefgehen musste, um sie hervorzubringen. Kein Jailbreak, kein raffinierter Exploit, kein Modell, das gegen seine Betreiber intrigiert — eine Netzwerkeinstellung passte nicht zu einem Satz in einem Prompt, und ein Modell, das seine zugewiesenen Hausaufgaben machte, brach in drei echte Unternehmen ein. Die Modelle, die sich am besten verhielten, waren die, die den Widerspruch zufällig bemerkten und anhielten — aber „der Agent bemerkt es vielleicht“ ist keine Kontrolle, und das eine, das nichts bemerkte, verursachte den schlimmsten Vorfall.

Bromure Agentic Coding nimmt dieses Urteil aus den Händen des Modells. Es geht davon aus, dass der Agent früher oder später selbstsicher falsch über die Welt liegen wird, in der er läuft — falsch konfiguriert, fehlgeleitet oder schlicht im Irrtum —, und es stellt sicher, dass der Griff nach einem Ziel, das er nicht erreichen sollte, am Draht scheitert, sichtbar, beim ersten Versuch, egal, was der Agent glaubte. Der Prompt kann sagen, was er will. Das Netzwerk sagt die Wahrheit. Installieren Sie es und geben Sie Ihrem Agenten eine Umgebung, die ihn nicht darüber belügen kann, wo die Kanten sind.