10 Punkte von GN⁺ 2026-02-05 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Da AI-Entwicklungsassistenten immer häufiger eingesetzt werden, wird eine Sandbox-Ausführungsumgebung benötigt, die sowohl Systemsicherheit als auch Komfort gewährleistet
  • Standardmäßig fordert Claude Code bei jedem Dateizugriff oder jeder Ausführung eine Erlaubnis an, was den Arbeitsfluss durch wiederholte Bestätigungen stört
  • Um dieses Problem zu lösen, wird eine leichtgewichtige Sandbox-Konfiguration mit bubblewrap vorgeschlagen, die leichter als Docker ist und eine der lokalen Umgebung ähnliche Entwicklungsumgebung beibehalten kann
  • Das Skript bindet nur die minimal nötigen Pfade wie /etc, $HOME und das Projektverzeichnis und beschränkt den Zugriff außerhalb des Projekts
  • Dieser Ansatz ist eine praktische Methode, um die sichere Ausführung von AI-Agenten und Entwicklungseffizienz zugleich zu gewährleisten

Problem des Dateizugriffs bei AI-Agenten

  • Claude Code ist eine Befehlszeilenschnittstelle, die bei jedem Lesen oder Schreiben von Dateien sowie bei jeder Softwareausführung die Zustimmung des Nutzers einholt
    • Das ist aus Sicherheitssicht sinnvoll, erschwert aber durch die wiederholten Rückfragen paralleles Arbeiten
  • Mit der Option --dangerously-skip-permissions lassen sich alle Aufgaben ohne Rückfrage ausführen
    • Manche Nutzer verwenden dies, jedoch besteht ein Risiko von Systemschäden

Sandbox-Konzept und Optionen

  • Eine allgemeine Lösung ist die Sandbox-Ausführung mithilfe entfernter Maschinen (exe.dev, sprites.dev, daytona.io) oder Virtualisierungstechnologien wie Docker
  • Unter Linux ist bubblewrap eine leichtgewichtige Alternative, die cgroups und user namespaces nutzt, um Prozesse zu isolieren
  • In einer Sandbox-Umgebung werden folgende Bedingungen benötigt
    • Beibehaltung derselben Struktur wie in der bestehenden Entwicklungsumgebung
    • Minimaler Zugriff auf Informationen außerhalb des aktuellen Projekts
    • Schreibzugriff nur auf das Projektverzeichnis
    • Dieselben Dateien wie in der IDE direkt prüfen und bearbeiten können
    • Netzwerkzugriff erlauben, um AI-Anbieter zu erreichen und Server auszuführen

Sicherheitsaspekte und Grenzen

  • bubblewrap und Docker bieten keine vollständige Sicherheitsisolierung
    • Risiken wie Kernel-Zero-Day-Schwachstellen, Side-Channel-Kommunikation und Datenabfluss bleiben bestehen
  • Der Autor gewichtet jedoch Entwicklungskomfort höher als diese Risiken
  • Die Codebasis wird mit git verwaltet und auf GitHub usw. gesichert, sodass das Risiko von Beschädigungen gering ist
  • Um das Risiko des Lecks von API-Schlüsseln zu verringern, wird empfohlen, API-Schlüssel pro Projekt zu trennen

Aufbau des bubblewrap-Sandbox-Skripts

  • Das Skript mountet mit dem Befehl bwrap verschiedene Verzeichnisse als schreibgeschützt (ro-bind) oder beschreibbar (bind)
    • Systempfade wie /bin, /lib und /usr/bin werden schreibgeschützt eingebunden
    • $HOME/.claude, $HOME/.cache und das aktuelle Arbeitsverzeichnis ($PWD) sind beschreibbar
    • $HOME/.claude.json wird über einen Dateideskriptor injiziert, sodass Änderungen nicht in die tatsächliche Datei übernommen werden
    • Der Hostname wird zu bubblewrap geändert und ist dadurch unterscheidbar
  • /tmp, /proc und /dev werden von bubblewrap automatisch verarbeitet
  • Statt ganz /etc offenzulegen, werden nur die minimal benötigten Dateien gebunden
  • Node.js ist unter /opt/node/node-v22.11.0-linux-x64/ installiert

Vorgehen für benutzerdefinierte Anpassungen

  • Um das Skript an andere AI-Agenten oder Systeme anzupassen, kann man es so ändern, dass zunächst bash ausgeführt wird, und den Agenten dann manuell starten, während man die benötigten Dateien prüft
  • Mit dem Befehl strace lassen sich Dateizugriffsaufrufe verfolgen
    • Beispiel: strace -e trace=open,openat,stat,statx,access -o /tmp/strace.log codex
    • Durch Analyse des Logs können benötigte Dateien identifiziert und durch Binden der entsprechenden Pfade die Umgebung angepasst werden

Fazit

  • Sandboxing mit bubblewrap ist ein praktischer Ansatz, der denselben Komfort wie die lokale Entwicklungsumgebung beibehält und zugleich das Risiko von Fehlverhalten von AI-Agenten oder Datenabfluss minimiert
  • Der Autor plant, das Skript auf dieser Grundlage je nach Bedarf kontinuierlich anzupassen

Noch keine Kommentare.

Noch keine Kommentare.