26 Punkte von GN⁺ 2026-01-21 | Noch keine Kommentare. | Auf WhatsApp teilen
  • So lässt sich das Flag --dangerously-skip-permissions von Claude Code sicher nutzen
  • Nach Prüfung verschiedener isolierter Ausführungsumgebungen wie Docker, VM und Firejail wurde eine Vagrant-basierte virtuelle Maschine (VM) als am besten geeignet bewertet
  • Mit Vagrant bleiben vollständige VM-Isolation, reproduzierbare Konfiguration und Freigabe lokaler Ordner erhalten, während Probleme mit Docker-in-Docker vermieden werden
  • Claude Code wurde so eingerichtet, dass es innerhalb der VM mit sudo-Rechten frei Systemmanipulationen durchführen kann und tatsächlich Web-Apps startet, Datenbanken einrichtet und Tests automatisiert
  • Dieser Ansatz ist wirksam, um versehentliche Schäden am Dateisystem zu verhindern; bei Bedarf kann die VM gelöscht und neu erstellt werden, um sie sicher zurückzusetzen

Hintergrund

  • Um die Unannehmlichkeit zu beseitigen, bei der Nutzung von Claude Code jedes Mal Berechtigungsanfragen bestätigen zu müssen, wurde versucht, das Flag --dangerously-skip-permissions zu verwenden
    • Dieses Flag führt alle Aufgaben wie Paketinstallation, Konfigurationsänderungen und Dateilöschung automatisch ohne vorherige Genehmigung aus
    • Das ist effizient, weil der Arbeitsfluss nicht unterbrochen wird, birgt aber das Risiko von Dateisystemschäden
  • Um dies zu vermeiden, wurde die Notwendigkeit erkannt, es in einer vom Host-OS-Konto getrennten Umgebung auszuführen

In Betracht gezogene Methoden

  • Zunächst wurde Isolation mit Docker geprüft, doch da Claude Docker-Images bauen und Container ausführen muss, ist eine Docker-in-Docker-Konfiguration erforderlich
    • In diesem Fall wird der Modus --privileged benötigt, wodurch der Zweck des Sandboxing bedeutungslos wird
    • Durch Netzwerkverschachtelung, Berechtigungsprobleme bei Volume-Mounts usw. nehmen Komplexität und Instabilität zu
  • Als weitere Alternativen wurden folgende Optionen geprüft
    • Ausführung auf Bare Metal: In Reddit-Beispielen gibt es schwere Schadensfälle wie das Löschen von Datenbanken oder Home-Verzeichnissen
    • sandbox-runtime: ACL-basierte Zugriffskontrolle, bei der Claude außerhalb des Codes keinen Zugriff hat, aber keine vollständige Freiheit besitzt
    • Firejail: ähnliche Einschränkungen wie bei Docker
    • Manuelle VM-Einrichtung: mangelnde Reproduzierbarkeit
    • Cloud-VM: Probleme bei Kosten, Latenz und der Notwendigkeit, Code hochzuladen

Vagrant-basierter Ansatz

  • Mit Vagrant wurden vollständige VM-Isolation und reproduzierbare Konfiguration sichergestellt
    • Über freigegebene Ordner ist Zugriff wie lokal möglich
    • Kein Docker-in-Docker-Problem, und die VM kann bei Bedarf leicht gelöscht und neu erstellt werden
  • Bei der Nutzung von VirtualBox 7.2.4 wurde ein Bug mit 100 % CPU-Auslastung entdeckt; die Ursache wurde über ein GitHub-Issue bestätigt
  • Die endgültige Konfiguration der Vagrantfile hat folgende Merkmale
    • Verwendung des Basis-Images bento/ubuntu-24.04
    • Zuweisung von 4 GB Speicher und 2 CPUs
    • Installation von Docker, Node.js, npm, git und unzip
    • Globale Installation von @anthropic-ai/claude-code
    • Hinzufügen des Benutzers vagrant zur Docker-Gruppe

Praktische Nutzung

  • Im Projektverzeichnis in der Reihenfolge vagrant upvagrant sshclaude --dangerously-skip-permissions ausführen
  • Beim ersten Start dauert das Provisioning einige Minuten, und pro Projekt ist nur einmal ein Claude-Login erforderlich
  • Nach Abschluss der Arbeit kann die VM mit vagrant suspend angehalten werden
  • Claude erhält innerhalb der VM sudo-Rechte und führt unter anderem folgende Aufgaben aus
    • Ausführen der Web-App-API und Prüfung mit curl
    • Installation eines Browsers, anschließende manuelle App-Prüfung und Erstellung von E2E-Tests
    • Einrichtung einer PostgreSQL-Datenbank und Testen von Migrationen
    • Bauen und Ausführen von Docker-Images
  • Dank dieser Umgebung kann Claude Befehle ausführen, Ausgaben prüfen und iterative Abläufe selbstständig verarbeiten

Leistung und Sicherheit

  • Unter Linux + VirtualBox gibt es ausreichend Ressourcenreserven, ohne Verzögerungen bei der Dateisynchronisierung
  • Schutz bietet die Lösung gegen
    • versehentliche Dateisystemschäden
    • unkontrollierte Paketinstallationen und Konfigurationsänderungen
  • Kein Schutz besteht gegen
    • Löschen des Projektordners (bidirektionale Synchronisierung)
    • Angriffe durch Ausnutzung von VM-Escape-Schwachstellen
    • Probleme auf Netzwerkebene
    • Datenabfluss (die VM hat Internetzugang)
  • Diese Konfiguration dient der Vermeidung von Unfällen und ist nicht zur Abwehr fortgeschrittener Angriffe gedacht
  • Bei Git-basierten Projekten ist eine Wiederherstellung auch im Schadensfall einfach; bei Bedarf ist mit einseitiger Synchronisierung per rsync eine noch strengere Isolation möglich

Fazit

  • Nach Behebung des CPU-Bugs in VirtualBox ist eine reibungsarme Ausführungsumgebung entstanden
  • Claude Code kann innerhalb einer vollständig isolierten VM-Sandbox frei ausgeführt werden
  • Wenn Probleme auftreten, lässt sich die VM löschen und neu erstellen; ein einziges Vagrantfile sorgt für Reproduzierbarkeit
  • Beim Einsatz des Flags --dangerously-skip-permissions wird eine isolierte Umgebung wie diese dringend empfohlen

Noch keine Kommentare.

Noch keine Kommentare.