Drei Forscher verbrachten Monate damit, die Sandbox nicht anzugreifen
Eilon Cohen, Dan Lisichkin und Ariel Fogel von Pillar Security stellten eine eng gefasste Frage zu den Sandboxen, die mit KI-Coding-Agenten ausgeliefert werden. Nicht ob die Mauern halten, sondern ob die Mauern an der richtigen Stelle stehen. Am 20. Juli 2026 begannen sie, die Antwort als Serie zu veröffentlichen, die sie Week of Sandbox Escapes nennen, ein Beitrag pro Tag, über Cursor, die OpenAI Codex CLI, die Google Gemini CLI und Google Antigravity.
In jedem Fall verhielt sich der Agent regelkonform. Er blieb in dem Arbeitsbereich, den er erhalten hatte, und verletzte keine Regel, die die Sandbox durchsetzt. Er schrieb eine Datei. Ein Prozess außerhalb der Sandbox las diese Datei, vertraute ihr und führte aus, was darin stand. Der Ausbruch geschah, ohne dass der Agent die Grenze je berührte.
Pillar fasst den Befund in einem Satz: Der Wirkungsradius eines Agenten ist nicht der Agentenprozess, sondern alles, was der Agent schreiben kann und dem der Host später vertraut. Dieser Satz ist die eigentliche Nachricht, und er erklärt, warum das Patchen der einzelnen Fehler das Thema nicht abschließt.
Ein Socket erklärt drei der vier Produkte
Der klarste Befund ist zugleich der unspektakulärste. Codex CLI, Cursor und Gemini CLI konnten aus ihren Sandboxen heraus den lokalen Docker-Socket erreichen. Ein privilegierter Daemon auf dem Host startet einen Container für jeden, der mit ihm sprechen kann, und dieser Container läuft vollständig außerhalb der Sandbox. Ein einziges Advisory, GHSA-v4xv-rqh3-w9mc, deckt drei der vier geprüften Produkte ab. Es ist behoben.
Codex hatte ein zweites Problem anderer Bauart. Die Allowlist für sichere Kommandos vertraute Befehlen anhand ihres Namens. Sie erlaubte git show als lesenden Vorgang, ohne zu modellieren, was gefährliche Argumente an git show tatsächlich bewirken können. Das ist in Version 0.95.0 behoben, und der Bericht wurde mit einer Prämie für hohe Schwere vergütet.
Liest man beides zusammen, wird das Muster sichtbar. Beides sind Allowlists. Beide wurden gegen das geschrieben, was ein Betreiber sehen kann, einen Socket-Pfad und einen Kommandonamen, und nicht gegen das, was diese Dinge vermögen, sobald sie erreichbar sind.
Die Ausbrüche kamen über Dateien, denen Ihr Editor bereits vertraut
Cursor lieferte drei. Ein Agent konnte den Interpreter in einer virtuellen Python-Umgebung überschreiben und darauf warten, dass die Python-Erweiterung des Editors, die ohne Sandbox läuft, ihn ausführt. Er konnte ein Git-Verzeichnis unter einem nicht standardmäßigen Namen anlegen, sodass pfadbasierte Sandbox-Regeln nicht griffen, und es dann von fsmonitor aufgreifen lassen. Und er konnte eine Hook-Konfiguration in den Arbeitsbereich legen, die das Werkzeug ohne Sandbox ausführte. Letztere trägt CVE-2026-48124 und das Advisory GHSA-pc9j-3qc2-95wv, und alle drei sind in Cursor 3.0.0 behoben.
Die beiden Befunde bei Google stammen aus derselben Familie. Das macOS-Seatbelt-Profil hinter Antigravity war als Denylist geschrieben, die alles erlaubt, was nicht ausdrücklich benannt ist, und eine .vscode-Task-Konfiguration konnte die Schutzmaßnahmen des Secure Mode umgehen. Google teilte den Forschern mit, der Bericht sei von außergewöhnlicher Qualität, stufte die Befunde dann als schwer ausnutzbar ein, weil sie Social Engineering erfordern, und setzte sie entsprechend herab.
Diese Einstufung ist in ihrer eigenen Logik vertretbar und für jeden, der diese Werkzeuge betreibt, nebensächlich. Social Engineering bedeutet für einen Agenten einen Satz in einer README, einen Kommentar an einem Issue oder einen Absatz in der Dokumentation einer Abhängigkeit. Nicht vertrauenswürdigen Text zu lesen ist der gewöhnliche Arbeitstag des Agenten.
Die Grenze, die Sie gekauft haben, ist nicht die Grenze, die Sie besitzen
Jedes dieser Produkte stellt die Sandbox als die Kontrolle dar, die autonomes Programmieren vertretbar macht. Das ist die Antwort, die eine Sicherheitsprüfung erhält, und der Grund, weshalb Freigaben erteilt wurden. Die Untersuchung zeigt, dass die Sandbox genau eines regelt, den Agentenprozess. Eine Aussage über den Arbeitsbereich war sie nie.
Der Arbeitsbereich ist die eigentliche Angriffsfläche, weil er von einer langen Liste von Prozessen gelesen wird, die Jahre vor den Agenten entworfen wurden und die alle unterstellen, ein Mensch habe getippt, was sie lesen. Die Python-Erweiterung. Der Git-Daemon. Der Docker-Socket. Der Pre-Commit-Hook. Der Installer für Abhängigkeiten. Der CI-Runner, der den Branch klont. Keiner davon wurde gebaut, um Repository-Inhalte als feindliche Eingabe zu behandeln, und jeder einzelne tut nun genau das.
Damit ist der Gegenstand der Governance falsch gewählt. Eigentümer haben Agenten freigegeben. Was eine Richtlinie braucht, ist der Arbeitsbereich, und die Regel ist kurz: Ein Repository, in das ein KI-Agent schreiben darf, ist nicht vertrauenswürdige Eingabe für jeden nachgelagerten Prozess, gleichrangig mit einer Datei, die ein Fremder hochgeladen hat.
Was Sie in dieser Woche ändern sollten
Beginnen Sie beim Socket, denn ein Advisory deckte drei der vier Produkte ab. Kein Coding-Agent braucht Zugriff auf einen Docker-Socket, und ihn zu entfernen ist eine Konfigurationsänderung und kein Projekt. Ziehen Sie danach die Versionen nach. Cursor 3.0.0 und Codex CLI 0.95.0 sind die behobenen Stände, und Entwicklerwerkzeuge aktualisieren pro Nutzer statt pro Flotte, weshalb ein vom Hersteller ausgelieferter Patch nicht dasselbe ist wie ein Patch, den Ihre Entwickler haben.
Die dauerhafte Änderung betrifft den Ort, an dem Agenten laufen. Ein Branch, den ein Agent angefasst hat, sollte die CI als nicht vertrauenswürdig erreichen, was praktisch heißt, dass die Pipeline keine aus dem Repository stammenden Hooks, Tasks oder Interpreter aus diesem Branch ausführt, bevor ein Mensch den Diff freigegeben hat. Das ist eine Entscheidung über die Pipeline und nicht über das Werkzeug, und sie überlebt die nächste Veröffentlichung.
Nach NIS2 ist ein Vorfall, der im Editor eines Entwicklers beginnt und in Ihrer Produktionspipeline endet, meldepflichtig wie jeder andere, mit derselben Frist. Die Pflicht unterscheidet nicht zwischen einem Angreifer, der einen Entwickler per Phishing erwischt hat, und einem Agenten, der eine vergiftete README gelesen hat, weshalb die Kontrolle dort sitzen muss, wo die Pipeline sie durchsetzen kann.
Weiterlesen: Der nginx-Patch ist da, der Exploit kommt im August | ServiceNow patchte die eigene Cloud zuerst, Sie 103 Tage später



