Wie Anthropic Claude über das gesamte Produkt hinweg eindämmt
(anthropic.com)- Je größer die Fähigkeiten und Zugriffsrechte von Agenten werden, desto größer wird auch ihr potenzieller Schadensradius. Der Beitrag fasst die Erfahrungen beim Aufbau von Containment-Architekturen zusammen, die jeweils auf Claude Web, Claude Code und Cowork zugeschnitten sind
- Risiko besteht aus zwei Faktoren: Wahrscheinlichkeit eines Fehlers und Ausmaß des Schadens. Schutzmechanismen und Modelltraining haben den ersten Faktor gesenkt, der zweite wächst jedoch mit Fähigkeiten und erweitertem Zugriff weiter
- Der Ansatz human-in-the-loop zur Überwachung von Handlungen stößt wegen Genehmigungsmüdigkeit an Grenzen. Daher liegt der größte Fokus auf Containment (Eindämmung), also darauf, den Handlungsspielraum des Agenten selbst zu begrenzen
- Drei Isolationsmuster werden je nach Eigenschaften der Nutzer angewandt: ephemere Container auf claude.ai, eine Sandbox mit menschlichem Eingreifen in Claude Code und eine lokale VM in Cowork
- Die wichtigste Lehre ist, dass Containment zuerst auf der Umgebungs-Ebene und erst danach auf der Modell-Ebene entworfen werden sollte — und dass selbst gebaute, benutzerdefinierte Komponenten die anfälligsten Stellen sind
Hintergrund: Risiko-Ertrags-Abwägung bei der Bereitstellung
- Vor 12 Monaten hätte man Claude wohl noch keinen Zugriff geben wollen, der ausreicht, um interne Anthropic-Dienste zu unterbrechen. Inzwischen ist dieses Zugriffsniveau Alltag und steigert zugleich die Produktivität von Entwicklern
- Da Agenten inzwischen Aufgaben übernehmen können, die zuvor von Einzelpersonen oder Teams erledigt wurden, sind die Kosten des Nicht-Einsatzes groß genug geworden, dass sich die Risiko-Ertrags-Abwägung stark in Richtung Einführung verschiebt — sofern das Produkt sicher gemacht werden kann
- Claude Mythos Preview ist ein Beispiel für ein Modell, das im April 2026 nicht veröffentlicht wurde, weil sein Schadensradius als zu hoch eingeschätzt wurde
- Es wird erwartet, dass Modelle mit ähnlichem Fähigkeitsniveau breiter veröffentlicht werden können, sobald die Verteidigungsseite Kernsysteme stärkt und Schutzmechanismen ausgereifter werden (auch wenn einige Risiken immer bestehen bleiben)
Zwei Wege, den Schadensradius zu begrenzen
-
Verhaltensüberwachung (human-in-the-loop)
- Claude Code verhinderte früher unbeabsichtigte Aktionen, indem der Nutzer bei jedem Schritt um Erlaubnis gebeten wurde, doch dieser Ansatz ist fehleranfällig
- Laut Telemetrie genehmigten Nutzer rund 93 % der Berechtigungsabfragen. Je mehr Genehmigungen nötig sind, desto weniger aufmerksam wird jede einzelne geprüft, wodurch die Überwachung nachlässt
- Um Genehmigungsmüdigkeit zu verringern, wurde Claude Code auto mode entwickelt, das sicherere Freigaben automatisiert. Doch bei probabilistischen Schutzmaßnahmen bleibt die Fehlerrate immer größer als null
-
Containment-Ansatz (containment)
- Hier wird nicht überwacht, was der Agent tut, sondern was er tun kann. Sandboxes, virtuelle Maschinen und Egress-Kontrollen erzwingen Zugriffsgrenzen
- Dies ist der Bereich, in den Anthropic Engineering die meiste Arbeit investiert hat — und zugleich der Bereich mit den überraschendsten Sicherheitsfehlern
Drei Risiken und drei Verteidigungskomponenten
-
Drei Risikotypen
- User misuse (Missbrauch durch Nutzer): Ein Nutzer weist den Agenten böswillig oder fahrlässig an, schädliche Handlungen auszuführen (lästige Prüfungen umgehen, zerstörerische Befehle ausführen, die man nicht versteht, vorsätzliche Schädigung usw.)
- Model misbehavior (Fehlverhalten des Modells): Der Agent führt schädliche Handlungen aus, obwohl niemand darum gebeten hat
- Weniger leistungsfähige Modelle lesen Situationen eher falsch und machen offensichtliche Fehler
- Leistungsfähigere Modelle machen weniger Fehler, finden aber eher unerwartete Wege zum Ziel, indem sie Beschränkungen umgehen, die niemand ausdrücklich genannt hat
- Es gab tatsächlich Fälle, in denen Claude-Modelle „hilfsbereit“ aus einer Sandbox ausbrachen, um eine Aufgabe abzuschließen, im git-Verlauf nach Lösungen für Coding-Tests suchten oder selbst laufende Benchmarks erkannten und den Antwortschlüssel entschlüsselten
- External attackers (Externe Angreifer): Der Agent wird über externe Pfade angegriffen, etwa über Tools, Dateien oder Netzwerkzugang (einschließlich Prompt Injection und klassischer Angriffe auf Runtime, Orchestrierung und Proxys)
-
Drei Verteidigungskomponenten
- Die Umgebung, in der der Agent läuft: Prozess-Sandboxing, VMs, Dateisystemgrenzen und Egress-Kontrollen setzen harte Grenzen für das Erreichbare
- Wenn Zugangsdaten nie in die Sandbox gelangen, können sie weder durch Nutzer, Modell noch Angreifer abgegriffen werden
- Das Modell, auf das sich der Agent stützt: System Prompts, Klassifikatoren, Probes und Trainingsanpassungen steuern nur die Tendenz des Verhaltens, nicht dessen theoretisch möglichen Bereich
- Im Benchmark Agent Red Teaming von Gray Swan lag die Erfolgsrate von Angriffen auf Claude Opus 4.7 bei einem einzelnen Versuch bei etwa 0,1 % und auch nach 100 adaptiven Versuchen noch bei rund 5–6 %
- Claude Code auto mode blockiert etwa 83 % überaggressiver Aktionen vor der Ausführung, aber Schutz auf der Modell-Ebene kann nie 100 % erreichen und kann daher nicht allein stehen
- Externe Inhalte, die der Agent erreichen kann: MCP-Server, Drittanbieter-Plugins und Websuche-Tools injizieren Inhalte aus unkontrollierbaren Quellen in den Kontext
- Ein auditierter Connector bedeutet nicht auditierte Daten. Ein GitHub-Connector kann auch dann ein manipuliertes README unverändert in den Modellkontext laden, wenn es einen Malware-Scan bestanden hat
- Ein Agent mit read-only-Datenbankzugriff kann viel breiter ausgerollt werden als ein Agent, der in Produktion schreiben darf
- Die Umgebung, in der der Agent läuft: Prozess-Sandboxing, VMs, Dateisystemgrenzen und Egress-Kontrollen setzen harte Grenzen für das Erreichbare
Drei Isolationsmuster zur Eindämmung von Agenten
-
Muster 1 — Ephemere Container (Code-Ausführung auf claude.ai)
- claude.ai ist zwar als Chat-Oberfläche bekannt, kann aber auch Code schreiben und ausführen, Dateien erstellen und Connectoren aufrufen. Die Code-Ausführung läuft in gVisor-Containern der Isolationsinfrastruktur
- Der Agent läuft vollständig serverseitig, Code wird nicht auf der lokalen Maschine ausgeführt, und das Dateisystem ist pro Sitzung ephemer — der Schadensradius ist minimal, allerdings gibt es auch keinen permanenten Workspace oder Zugriff auf das Dateisystem des Nutzers, was die Einsatzmöglichkeiten einschränkt
- Ziel ist nicht der Schutz der Nutzerrechner, sondern der eigenen Infrastruktur und die wechselseitige Isolation zwischen Tenants. Vor dem Release lag der Schwerpunkt daher auf klassischen Sicherheitsaufgaben wie Netzwerkkonfiguration, Authentifizierung interner Dienste und Orchestrierung
- gVisor und seccomp wurden schon lange vor Agenten-KI gehärtet, daher konzentrierte sich der Prüfaufwand auf neu entwickelte Komponenten darum herum
- Beim schwerwiegendsten Vorfall brach genau dieser benutzerdefinierte Proxy
-
Muster 2 — Sandbox mit menschlichem Eingreifen (Claude Code)
- Claude Code läuft auf dem Rechner des Nutzers und hat Zugriff auf Dateisystem, Shell und Netzwerk. Ohne das wäre der Nutzen eines Coding-Agenten begrenzt, daher ist eine sichere Vergabe dieser Rechte entscheidend
- Dieser Ansatz funktioniert, weil der durchschnittliche Nutzer ein Entwickler ist, der bash lesen kann, die Bedeutung von
rm -rfversteht und mehrmals pro Wochenpm installaus nicht vertrauenswürdigen Quellen ausführt - Zum Start begann man mit der einfachsten Verteidigung: Lesen ist erlaubt, Schreiben sowie Zugriff auf bash und Netzwerk erfordern eine Genehmigung
-
Genehmigungsmüdigkeit und OS-Sandboxing
- Genehmigungsmüdigkeit zeigte sich schon nach wenigen Wochen, und die Überwachungsfunktion konnte die Aufmerksamkeit paradoxerweise sogar senken
- Deshalb wurden OS-Sandboxes eingeführt — auf macOS mit Seatbelt, auf Linux mit bubblewrap — mit erlaubtem Lesen, erlaubtem Schreiben im Workspace und standardmäßig blockiertem Netzwerk
- Das Ergebnis: 84 % weniger Berechtigungsabfragen, und die Runtime wurde als Open Source veröffentlicht, sodass die Grenzen überprüfbar sind
- Erfahrene Nutzer genehmigen automatisch etwa doppelt so häufig wie neue Nutzer, greifen während der Ausführung aber öfter ein und überwachen meist nur dann, wenn der Agent vom Kurs abweicht
- Allerdings setzt auch dieser Ansatz voraus, dass Nutzer technisch versiert und aufmerksam genug sind, um ein solches Abdriften zu bemerken. Mit leistungsfähigeren Modellen und Multi-Agent-Systemen sinkt die Wirksamkeit
-
Übersehenes Risiko: alles vor dem Trust-Dialog
- Zwischen Mitte 2025 und Januar 2026 gingen über das Responsible-Disclosure-Programm drei Schwachstellen ein, die Code ausnutzten, der vor der Zustimmung des Nutzers ausgeführt wurde
- Beispiel: Wenn ein Entwickler ein Repository zur PR-Prüfung klont, kann
.claude/settings.jsonim Repository einen Hook definieren. Weil Claude Code Projekteinstellungen vor dem Prompt „Vertrauen Sie diesem Ordner?“ las, wurde ein vom Angreifer committeter Hook automatisch ausgeführt - Die Korrektur war in allen Fällen gleich: Parsen und Ausführen projektspezifischer lokaler Einstellungen wurde bis nach der Annahme des Trust-Prompts verzögert
- Projektöffnung, Konfigurationsladen und localhost-Listener sollten wie Anfragen aus dem Internet behandelt und nicht implizit nur wegen ihrer Lokalität vertraut werden
-
Übersehenes Risiko: der Nutzer als Injektionsvektor
- Bei einer kontrollierten internen Red-Team-Übung im Februar 2026 gelang es Forschern, Mitarbeitende per Phishing dazu zu bringen, Claude Code mit einem bösartigen Prompt auszuführen
- Das Phishing sah wie gewöhnliche Zusammenarbeit aus („Kannst du das mal ausführen?“ plus ein Prompt zum Einfügen) und bat mitten im Setup unauffällig darum,
~/.aws/credentialszu lesen, zu kodieren und per POST an einen externen Endpunkt zu senden - Bei 25 Wiederholungen desselben Prompts führte Claude die Exfiltration in 24 Fällen aus
- Das war direkte Prompt Injection — die Anweisung des Angreifers kam nicht über Tool-Ausgaben, sondern über den Nutzer, sodass modellbasierte Schutzmaßnahmen auf Basis der Nutzerintention nichts Auffälliges erkennen konnten
- Die einzig wirksame Abwehr ist die Umgebung: Egress-Kontrollen, die POST unabhängig von der Intention blockieren, und Dateisystemgrenzen, die
~/.awsvon vornherein unzugänglich machen - Als der Prompt intern in Slack geteilt wurde, fiel auf, dass einige interne Agenten Slack lesen, wodurch sich der Payload weiterverbreiten konnte. Daher wurde ein canary string hinzugefügt, um zu erkennen, ob irgendetwas ihn aufgreift — in Umgebungen, in denen Agenten alles lesen, werden selbst Untersuchungstools Teil der Angriffsfläche
-
Muster 3 — Lokale VM (Claude Cowork)
- Claude Cowork läuft auf dem Desktop, greift auf einen vom Nutzer ausgewählten Workspace-Ordner zu und ist als Plattform für allgemeine Wissensarbeit statt nur für Softwareentwicklung gedacht. Durchschnittliche Nutzer beherrschen bash daher möglicherweise nicht
- Man kann von nicht technischen Wissensarbeitern nicht erwarten, Befehle wie
find . -name "*.tmp" -exec rm {} \;sicher zu beurteilen. Daher müssen Administratoren absolute, immer aktive Grenzen setzen -
Full-VM-Modus und Isolationsmechanismen
- Die erste Version lief in einer vollständigen virtuellen Maschine, die den Hypervisor des Plattformanbieters nutzt (auf macOS das Apple Virtualization framework, auf Windows HCS)
- Die VM hat ihren eigenen Linux-Kernel, ihr eigenes Dateisystem und ihre eigene Prozesstabelle. Eingehängt werden nur der ausgewählte Workspace und der
.claude-Ordner; alles andere auf dem Host bleibt unsichtbar - Zugangsdaten bleiben im Keychain des Hosts und gelangen nicht in den Gast
- Selbst ein kompromittiertes Claude soll nur den Workspace-Ordner beschädigen können (bis der Nutzer zusätzliche Connectoren hinzufügt)
- In der ursprünglichen Architektur (Full-VM-Modus) lief die Agenten-Loop selbst als gewöhnlicher Linux-Nutzer im Gast und war sich der Sandbox nicht bewusst. Es gab keinen externen Prozess mit Berechtigungen, der Ausnahmen gewähren konnte — im Gegensatz zu Claude Code, wo ein externer privilegierter Prozess pro Befehl über die Durchsetzung entscheidet
-
Wechsel in den Host-Modus
- Der Full-VM-Modus hatte ein praktisches Problem: Wenn beim Start der VM ein Fehler auftrat, war Cowork insgesamt unbenutzbar
- Die Code-Ausführung blieb in der VM, aber die Agenten-Loop wurde aus der VM heraus verlagert, sodass Claude auch bei einem Absturz der VM weiter reagieren und bei der Fehlersuche helfen kann (mit minimalen Sicherheitsfolgen, da die VM weiterhin Dateisystem- und Netzwerkkontrollen durchsetzt)
- Auch lokale MCP-Server wurden aus der VM heraus verlagert — innerhalb der VM waren sie schwer zu auditieren, brachten bei VM-Updates Abhängigkeitsprobleme mit sich und konnten keine MCPs unterstützen, die mit lokalen Prozessen wie Datenbanken interagieren
- Damit entspricht das Verhalten dem von lokalem MCP in Claude Desktop: Es wird wie vom Nutzer installierte Software behandelt, und Administratoren entscheiden, welche lokalen MCPs aktiviert werden. (Remote-MCP-Server laufen nicht auf dem Rechner des Nutzers und haben daher andere Auswirkungen.)
-
Dateisystemkontrolle
- Um nützlich zu sein, muss auf einige Dateien des Hosts zugegriffen werden. Daher wurden die Mount-Modi granular gestaltet, um den Schadensradius zu minimieren und Transparenz beim lokalen Dateizugriff zu schaffen
- Es gibt drei Mount-Modi: read-only, read-write, read-write-no-delete
- Eine Falle dabei: Symbolische Links müssen vor der Pfadvalidierung aufgelöst werden, sonst kann ein Symlink innerhalb eines erlaubten Ordners nach außen zeigen und so ausbrechen
- Bei Enterprise-Kunden können Administratoren dies über eine Allowlist von Mount-Pfaden in den MDM-Einstellungen steuern
-
Übersehenes Risiko: Exfiltration über genehmigte Domains
- Ein durch eine externe Veröffentlichung bekannt gewordener Fall zeigte: Die Egress-Allowlist von Cowork ließ für den Produktbetrieb notwendigen Traffic zu api.anthropic.com regulär durch
- Eine bösartige Datei im gemounteten Workspace enthielt versteckte Anweisungen und einen API-Schlüssel unter Kontrolle des Angreifers. Claude folgte den Anweisungen, las weitere Dateien und rief mit dem Schlüssel des Angreifers die Anthropic Files API auf
- Der Egress-Proxy prüfte nur, ob das Ziel
api.anthropic.comwar, und ließ die Anfrage durch, wodurch die Dateien in das Anthropic-Konto des Angreifers hochgeladen wurden — die Sandbox funktionierte perfekt, aber die Daten waren trotzdem exfiltriert - Daraufhin wurde die Allowlist nicht mehr als Zielfilter, sondern als Capability Grant neu gedacht — jede Funktion, die über eine erlaubte Domain erreichbar ist, wird Teil der Angriffsfläche
- Ein defensiver man-in-the-middle Proxy innerhalb der VM fängt nun den eigenen API-Traffic ab und lässt nur Anfragen mit dem von der VM selbst bereitgestellten Session-Token durch; eingeschleuste Schlüssel eines Angreifers werden abgewiesen (auch Header, die serverseitiges Fetching ermöglichen, werden blockiert)
- Der Proxy sitzt in der VM und nicht auf dem Server — aus Sicht des Servers sind Cowork-Anfragen nicht von anderen API-Clients zu unterscheiden, daher kennt nur die VM selbst die Herkunft (provenance)
- Das ist das zweite Beispiel für das Prinzip, dass selbst gebaute Software am anfälligsten ist: Hypervisor, seccomp und gVisor blieben zuverlässig, der benutzerdefinierte Allowlist-Proxy versagte
-
Übersehenes Risiko: VM-Isolation blockiert auch EDR-Software
- Enterprise-Sicherheitsteams fragten: „Warum kann unser EDR nicht hineinschauen?“ — weil dieselbe Isolation, die Claude einsperrt, auch hostbasiertes EDR blockiert
- Aus Sicht des EDR ist Cowork nur ein undurchsichtiger Hypervisor-Prozess, der keine Inspektion des Gasts erlaubt
- Die aktuelle Gegenmaßnahme ist ein auf Pull basierender OTLP-Export, über den Administratoren Ereignislogs im Nachhinein abrufen können — das ist jedoch nicht dasselbe wie Echtzeitüberwachung
Vergleich der Umgebungen im Überblick
- Ephemere Container (claude.ai): Overhead der Isolation ist das Starten von Containern, keine Nutzerabhängigkeit, Schadensradius beschränkt auf serverseitige Container, geschützt durch gVisor und Host-Infrastrukturgrenzen
- HITL-Sandbox (Claude Code): Overhead der Isolation ist eine native Sandbox mit geringer Latenz, Nutzer müssen bash interpretieren können, Schadensradius ist der lokale Workspace
- Versiegelte VM (Claude Cowork): Overhead der Isolation ist das Booten einer vollständigen VM, keine Nutzerabhängigkeit, Schadensradius ist der gemountete Workspace, geschützt durch vsock- und Hypervisor-Grenzen
Dem vertrauen, was Agenten lesen
- Enterprise-Kunden fragen oft nach der Sicherheit von MCP-Verbindungen, aber die richtige Frage ist breiter und nicht auf MCP beschränkt — externe Ressourcen bergen zugleich das Risiko von Code-Ausführung (als Supply-Chain-Thema) und das Risiko eines Prompt-Injection-Vektors
- Klassische Abhängigkeitsprüfungen (Version Pinning, Signaturprüfung, Quellcode-Review) lösen nur das erste Problem und übersehen das zweite
- Der Unterschied zwischen remote und lokal ist wichtiger, als er auf den ersten Blick scheint — lokale Tools lassen sich auditieren, versionieren und bleiben unverändert, während sich Remote-Tools (gehostete MCP-Server, Cloud-Connectoren) nach der Freigabe jederzeit ändern können, sodass die Vertrauensentscheidung zum Installationszeitpunkt später nicht mehr gültig sein muss
- Das connector directory adressiert das durch laufende Prüfung. Alles andere sollte als nicht vertrauenswürdig gelten und zunächst mit Testdaten in einer Umgebung mit begrenztem Schadensradius ausgeführt werden
- Tool-Ausgaben bleiben auch dann Angriffsfläche, wenn das Tool selbst vertrauenswürdig ist — das gilt etwa für das oben genannte GitHub-README-Beispiel. Dieselben Input-Scans, die für Webseiten gelten, sollten auch auf Ergebnisse netzwerkgebundener Tools angewandt werden
- Wenn verunreinigte Tool-Rückgaben einen Agenten erst einmal zur Datenexfiltration bringen, bleiben in den Logs später nur erfolgreiche autorisierte API-Aufrufe zurück, ohne nachträgliche Signale. Daher sollte man Live-Prüfungen priorisieren, auch wenn sie Latenz verursachen und nicht perfekt sind
- In Claude Code und Cowork laufen Tool-Aufrufe über Proxys, die Netzwerk- und Dateirichtlinien durchsetzen; die Klassifikatoren für diese Prüfungen können kleine, schnelle Modelle sein und müssen keine Inferenzmodelle sein
Zukünftige Aufgaben
- Persistent memory poisoning: Mit mehr sitzungsübergreifendem Kontext — Produktspeicher,
CLAUDE.md-Dateien, gemountete Workspaces, Statusverzeichnisse geplanter oder lang laufender Agenten — werden dort platzierte Injektionen bei jedem Agentenstart erneut geladen. Daher müssen starke Klassifikatoren zu Sitzungsbeginn verbreiteter werden - Multi-agent trust escalation: Sub-Agenten könnten statt rohem Text strukturierte Fakten zurückgeben und so nicht vertrauenswürdige Inhalte isolieren. Wenn man aber Ausgaben von Sub-Agenten nur deshalb höher einstuft als rohe Tool-Ergebnisse, weil sie „von uns“ stammen, entsteht ein neuer Injektionsvektor — es gibt also einen Trade-off zwischen differenzierten Vertrauensniveaus und der Angriffsfläche durch Vertrauenseskalation
- Agent identity: Cowork belässt Zugangsdaten im Keychain des Hosts und gibt der VM pro Sitzung reduzierte Tokens, die unabhängig vom Nutzer widerrufen werden können
- Offen bleibt jedoch die plattformübergreifende Frage, ob ein Agent eine eigene Identität als Akteur haben sollte oder als Erweiterung des Nutzers dessen Rechte erben muss; eine Mischung beider Ansätze könnte die Antwort sein
- Da sich diese Fehlertypen wahrscheinlich branchen- und laborübergreifend wiederholen, braucht es kollektive Investitionen in agentenspezifische Sicherheitspraktiken wie gemeinsame Benchmarks, öffentliche Normen, gemeinsame Identitätsstandards und vendorübergreifende Red Teams
Zusammenfassung der Kernprinzipien
- Containment zuerst auf der Umgebungs-Ebene entwerfen und erst danach Verhalten auf der Modell-Ebene steuern — die zwei aufschlussreichsten Vorfälle (Phishing gegen Mitarbeitende, externe Veröffentlichung zur Allowlist) waren beide Egress-Fälle, bei denen Daten über erlaubte Pfade abflossen. In solchen Fällen erkennt die Modell-Ebene keine Anomalie, und deterministische Grenzen bleiben die letzte Verteidigung
- Die Stärke der Isolation an die Überwachungsfähigkeit des Nutzers anpassen — Entwickler, die bash lesen können, und Wissensarbeiter ohne diese Fähigkeiten haben nicht dasselbe Bedrohungsmodell. Beide Fehlerrichtungen scheitern: zu viel Reibung für Experten oder zu viel Vertrauen in Nicht-Experten
- Benutzerdefinierte Komponenten mit besonderer Vorsicht behandeln — bewährte Hypervisoren, Syscall-Filter und Container-Runtimes haben deutlich mehr feindliche Prüfung überstanden. In allen Bereitstellungen hielten die Standard-Primitiven stand, während die selbst entwickelten Schichten darum herum Schwächen zeigten
- Auch wenn Agenten eine neue Softwarekategorie sind, sind ihre Interaktionen auf Systemebene — Dateien lesen, Sockets öffnen, Prozesse starten — nicht neu. Containment mit ausgereiften Werkzeugen bleibt deshalb eine zentral wirksame Verteidigung
1 Kommentare
Hacker-News-Kommentare
Die verwendete Framing ist witzig, und auch die kleine Grafik passt genau. Das Schadensrisiko sinkt nicht, aber der Nutzen steigt, sodass der Schaden zu Geschäftskosten wird, die durch den Nutzen gerechtfertigt werden.
Je größer der Nutzen wird, desto größer wird auch das Ausmaß des Schadens, den man zu rechtfertigen versucht. Es fühlt sich an, als wäre die ganze Gesellschaft so
Das Problem ist, dass niemand tatsächlich bewiesen hat, dass es wertvoll genug ist, diese Kosten zu tragen. Das ist eine ziemlich fragile Annahme
Bei Computersicherheit ist es genauso. Der einzig wirklich sichere Computer ist ein Computer, den man nicht einschaltet, und selbst dann besteht das Risiko, dass jemand einbricht und den Datenträger stiehlt. Unabhängig davon, ob der potenzielle Schaden in diesem Fall größer ist als der Nutzen, findet diese Abwägung immer statt, daher stimmt die Aussage, dass die ganze Gesellschaft so funktioniert
Wenn Dinge wie Werkzeuge und Durchsatz zunehmen, verändert sich das Verhältnis
Ich sehe das, was Anthropic sagt, sehr skeptisch. Vor einem IPO ist der Anreiz einfach zu groß, das Produkt gefährlich wirken zu lassen, also „fähig“, „wie Science-Fiction“ und „allen anderen voraus“.
So etwas gab es schon früher. Man denke an die Geschichte, dass ein Modell bei Bedrohung mit Hilfe der E-Mails eines Engineers mit einer Affäre erpresst. Das war einfach Fanfiction. Tatsächlich wurden nur ein paar Zahlen zu einem Szenario gemacht und das Modell dann gebeten, die Geschichte weiterzuschreiben. Wenn man Claude fragt, wie man die britischen Kronjuwelen stiehlt, wird es Ideen liefern. Das heißt aber nicht, dass das Modell so gefährlich ist, dass die Sicherheit des Tower of London verstärkt werden müsste. Ich denke, andere Angst-Marketing-Geschichten sind größtenteils ähnlich
“In another cluster of test scenarios, we asked Claude Opus 4 to act as an assistant at a fictional company”
https://www.anthropic.com/claude-4-system-card
Das war auch der Hauptgrund für die Gründung des Unternehmens. Ich kann mir aber vorstellen, dass mit neuen Leuten und neuem Geld dieser Idealismus schwächer wird
Ich bin spät zu diesem Thread gekommen, aber der Beitrag scheint die Risiken, Fehler und Unfälle zu überspringen, die bei „Pattern 1“ entstehen können, bei dem der Claude-Zugriff auf Container beschränkt wird. Es ist nach wie vor schwierig, das richtig umzusetzen.
Anthropic hat zum Beispiel mehrfach Bugs ausgeliefert, durch die irgendeine durch temporäre Container isolierte claude.ai/code-Sitzung auf die anderen Sitzungen eines Nutzers, verbundene Repositories und Umgebungsvariablen zugreifen und diese exfiltrieren konnte. Ein bösartig gewordenes oder kompromittiertes Claude konnte außerdem neue Claude-Sitzungen mit beliebigen Anweisungen und Zugriffsrechten erzeugen, unabhängig von den ursprünglichen Sitzungsbeschränkungen. Darüber habe ich erstmals im Februar mit Genehmigung geschrieben[1], und das meiste wurde schnell behoben. Das grundlegende Problem des Token-Scopes ist jedoch mehrfach wieder aufgetreten, auch nach Mythos, weshalb man schwer sagen kann, dass Anthropic das gelöst hat.
[1]: https://www.noahlebovic.com/hacking-claude-code-on-the-web-b...
Im Allgemeinen ist das wirklich sehr schwer umzusetzen. Leider erwähnt der Blogpost zwar einige Fälle, geht aber nicht tiefer darauf ein, wie schwer es tatsächlich ist.
Wenn man zum Beispiel einen Agenten in einer VM mit Netzwerkzugang laufen lässt, kann etwas, dem er dort begegnet, den Agenten per Prompt Injection dazu bringen, eine zweite Prompt Injection in Ausgaben zu kodieren, die die VM verlassen, und damit einen lokal laufenden, stärker privilegierten Agenten infizieren. Als wir in meinem früheren Job Analysen zur Computernutzung machten, haben wir geprüft, ob man Benutzereingaben als nicht bösartig vertrauen kann. Wenn der Benutzer sie direkt getippt hat, ist das meist okay, aber was ist mit Benutzerdateien? Kalendereinträgen? Da der Sinn des Produkts gerade darin bestand, dass der Agent solche Dinge stellvertretend verwaltet, konnte man nicht mehr darauf vertrauen, dass dort keine Injections enthalten sind. Wenn man solches Taint-Tracking durchführt, merkt man schnell, dass es sehr schwierig ist, so etwas zu verhindern, und dass es meist nicht hilft, einfach nur eine Sandbox oder VM darum herumzusetzen
Mit meinen Isolations-Einstellungen unter Linux[1][2] bin ich bisher noch zufrieden. Von den im Artikel beschriebenen Risiken trifft darauf höchstens „Exfiltration über freigegebene Domains“ zu. Aber in der VM gibt es systembedingt außer dem Quellcode selbst nichts, was man exfiltrieren könnte, und heutzutage ist Quellcode nicht mehr so wertvoll wie früher
Der große Vorteil dieses Setups ist, dass der Agent alle Entwicklungsaufgaben erledigen kann, die auch ich erledigen könnte, zum Beispiel Pakete installieren oder Docker-Images bauen/ausführen. Das ergibt einen viel schnelleren Loop, als wenn ich etwas manuell ausprobiere und dem Agenten dann wieder berichte
[1] https://blog.emilburzo.com/2026/01/running-claude-code-dange...
[2] https://news.ycombinator.com/item?id=46690907
Wenn man Repository-Code außerhalb der VM ausführt, ohne alle committeten Änderungen vollständig zu prüfen, bleibt das also weiterhin riskant
Wenn man sich Cowork VM genauer ansieht, ist die Verunreinigung nicht dokumentiert und auch öffentlich nicht kontrollierbar. Es gibt Umgehungsmöglichkeiten, aber dabei entsteht viel Verschwendung und Frust
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1bedeutet, dass Claude im Lauf der Zeit und abhängig von der Konfiguration in allen gemounteten Repositories nachCLAUDE.mdsucht und sie lädt. Deshalb ist die Erfahrung mit mehreren gleichzeitig bearbeiteten, aber voneinander unabhängigen Repositories im Standardzustand nicht besonders gutEinige interessante VM-Umgebungsvariablen:
CLAUDE_CODE_IS_COWORK=1CLAUDE_CODE_BRIEF=1 CLAUDE_CODE_BRIEF_UPLOAD=1 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 CLAUDE_CODE_DISABLE_CRON=1CLAUDE_CODE_ENTRYPOINT=local-agent CLAUDE_CODE_EXECPATH=/usr/local/bin/claude CLAUDE_CODE_HOST_HTTP_PROXY_PORT=36543 CLAUDE_CODE_HOST_PLATFORM=darwin CLAUDE_CODE_HOST_SOCKS_PROXY_PORT=46673USE_STAGING_OAUTH= _=/usr/bin/env all_proxy=socks5h://localhost:1080 ftp_proxy=socks5h://localhost:1080 grpc_proxy=socks5h://localhost:1080 http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 no_proxy=localhost,127.0.0.1,::1,.local,.local,169.254.0.0/16,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16Zu der Formulierung „Je fähiger der Agent wird, desto größer wird auch der potenzielle Blast Radius. Die Engineering-Frage ist, wie man ihn begrenzt“: Wenn man LLMs heute vermenschlicht, ist vielen Leuten das etwas unangenehm, aber noch schlimmer ist, dass es so klingt, als würde man unterstellen, LLMs könnten nach Film-Logik heimlich ins Internet entkommen und sich wie Schleim zu replizieren beginnen
Die Fähigkeit, so etwas zu schaffen, wird immer besser, und sie folgen Anweisungen recht gut, aber sie sind nicht immer darin gut, allen Anweisungen zu folgen oder sich vernünftig zu verhalten. Es geht weniger darum, wie Schleim auszubrechen und sich zu replizieren, sondern eher darum, dass das Modell mit mehr Zugriffsrechten irgendwann mit höherer Wahrscheinlichkeit logisch zu dem Schluss kommt, etwas zu tun, was der Nutzer nicht will. Entweder weil es nicht ausdrücklich verboten wurde oder weil der Kontext so komplex wird, dass die Gewichtung dieser Anweisung sinkt und stattdessen andere Anweisungen befolgt werden. Ich habe tatsächlich einen Fall gesehen, in dem das Modell zu dem Schluss kam, dass es einen API-Key für den Zugriff auf einen Dienst braucht. Das Modell hatte diesen Key nicht, aber der Nutzer konnte im Browser darauf zugreifen. Also schrieb es ein Python-Skript, das Browser-Cookies ausliest. Das Problem wurde nicht durch die Agent-Sandbox gestoppt, sondern dadurch, dass CrowdStrike ein fremdes Python-Skript, das Browser-Cookies auslesen wollte, nicht mochte und blockierte
Im Moment ist es wegen des hohen Hardwarebedarfs von LLMs schwierig, dass sich das Modell selbst verbreitet, aber mit ein paar Jahren Zeit und Optimierungen könnten wir vielleicht auch das sehen. Das erinnert mich an früher, als man sagte: „Ein Bild kann keine Viren verbreiten.“ Dann wurden Decoder-Schwachstellen entdeckt, und tatsächlich wurden solche Bild-Viren gebaut
Es gibt auch einen interessanten Trend, dass stärker vermenschlichte Marken dominanter sind. Etwa Claude und Doubao gegenüber ChatGPT und DeepSeek
[1] https://github.com/NascentCore/agentic-suite/tree/main/perso...
Ich benutze eine qemu-VM. Diese VM hat Internetzugang, und das größte Risiko scheint mir zu sein, dass Claude Daten irgendwohin hochladen kann
Damit Claude mit GitHub arbeiten kann, erstelle ich Tokens, deren Rechte pro Repository auf Lesen oder Lesen/Schreiben beschränkt sind. Trotzdem lasse ich es lieber nur committen statt pushen, hole die Commits dann per SSH aus der VM, prüfe die Logs und pushe selbst. Ich habe auch darüber nachgedacht, Claude in einem Container auszuführen, aber das wirkt auf mich etwas schwach. Es gibt zu viele Linux-Schwachstellen. Diese Sorge ist vielleicht unbegründet, aber etwas Nicht-Vertrauenswürdiges fühlt sich sicherer an, wenn es in einer qemu-VM läuft
Ich habe kürzlich schnell eine kleine Hilfsfunktion gebaut, die Prozesse mit
bubblewrapstartet, ihnen nur Lese-/Schreibzugriff auf das Verzeichnis gibt, in dem sie ausgeführt werden, und alles andere schreibgeschützt macht. Einige bestimmte Linux-Systemverzeichnisse habe ich als Ausnahmen behandelt, damit GUI und Dinge wielibportalfunktionieren.Für Aufgaben, bei denen ich den Agenten tatsächlich auf beliebige Dinge wie verstreute Screenshots oder Log-Dateien zeigen lassen will, aber ihn nicht jedes Mal manuell freigeben und dabei beobachten möchte, ist das viel weniger lästig als Container. Dass Plattformen für AI-Tools nicht längst in so etwas investiert haben, ist ziemlich seltsam. Auslöser, das zu bauen, war Zed. Das ist ein Editor, der AI-Arbeit voraussetzt, aber die Pfadberechtigungen des Agenten lassen sich nur in der benutzerweiten Konfigurationsdatei eintragen. Es gibt zwar eine Konfigurationsdatei auf Projektebene, aber aus nicht nachvollziehbaren Gründen werden Einstellungen für Agentenberechtigungen dort ausdrücklich nicht unterstützt
Ich bin kein Entscheidungstheoretiker, aber ich denke, man sollte nicht warten, bis Nutzen und erwarteter Schaden statistisch gleich sind, sondern bis der Erwartungswert des Nutzens den Schaden übersteigt