Zerobox - Leichtgewichtiges plattformübergreifendes Process-Sandboxing-Tool auf Basis der OpenAI-Codex-Laufzeit
(github.com/afshinm)- Ein leichtgewichtiges Tool zur Prozessisolierung, das die Sandbox-Laufzeit von Codex als eigenständiges Tool herauslöst und auf beliebige Befehle Datei-, Netzwerk- und Anmeldeinformationskontrolle anwenden kann
- Auch KI-generierten Code direkt ausführen, ohne sich Sorgen um Dateibeschädigung oder Datenabfluss machen zu müssen
- Die Standardrichtlinie ist auf deny-by-default gesetzt, sodass nicht explizit erlaubte Schreibvorgänge, Netzwerkzugriffe und Zugriffe auf Umgebungsvariablen vollständig blockiert werden
- Externe API-Aufrufe möglich, ohne API-Schlüssel im Code offenzulegen: Mit der Funktion Credential Injection sieht der Prozess in der Sandbox nur Platzhalter, während der eigentliche API-Schlüssel über den Netzwerk-Proxy verarbeitet wird
- Installation als einzelne Binärdatei per
curl ... | shodernpm install -g zerobox, ohne Container-Images bauen oder auf den Start einer VM warten zu müssen - Sofort nachvollziehen und rückgängig machen, was ein versehentliches
npm installverändert hat:zerobox --restore --allow-write=. -- npm installausführen, dann wird nach Abschluss automatisch wiederhergestellt; mit--snapshotkann man Änderungen zunächst nur aufzeichnen und später mitzerobox snapshot diff <id>prüfen und anschließend perrestorezurückrollen - Berechtigungen pro LLM-Tool-Call trennbar: Für jeden Agentenaufruf lassen sich eine schreibgeschützte Sandbox, eine reine Schreib-Sandbox oder eine nur für bestimmte Domains freigegebene Sandbox getrennt nutzen → selbst wenn per Prompt Injection
rm -rfausgelöst wird, wird es in einer Sandbox ohne Schreibrechte ignoriert - Unbeabsichtigte externe Netzwerkaufrufe in Build/Test automatisch blockieren: Führt man Tests mit
zerobox --allow-write=/tmp -- npm testaus, schlägt der Moment fehl, in dem der Code heimlich eine externe API aufruft; so lassen sich Supply-Chain-Angriffe oder Seiteneffekte früh erkennen - Keine manuelle Pflege von Sperrregeln für sensible Verzeichnisse nötig: Das Standardprofil setzt Pfade wie
~/.sshund~/.awsautomatisch auf deny und bietet damit Schutzmechanismen auch ohne zusätzliche Konfiguration - Keine Sorge vor verschmutzten Umgebungsvariablen: Standardmäßig werden nur notwendige Variablen wie
PATHundHOMEweitergegeben, sodass Dinge wieAWS_SECRET_ACCESS_KEYnicht an Kindprozesse durchsickern; benötigte Variablen lassen sich gezielt per Whitelist wie--allow-env=DATABASE_URLfreigeben - Unterstützt sowohl Rust SDK als auch TypeScript SDK und kann als einzelne CLI-Binärdatei ohne Docker oder VM mit rund 10 ms Overhead ausgeführt werden
- Besonders nützlich für die Sicherheit von KI-Workflows, etwa beim Ausführen von durch KI erzeugtem Code, bei der Isolation von LLM-Tool-Calls oder beim Schutz von Build-Skripten
- Plattformunterstützung und technische Informationen
- macOS: vollständig unterstützt auf Basis von Seatbelt (
sandbox-exec) - Linux: vollständig unterstützt auf Basis von Bubblewrap + Seccomp + Namespaces
- Windows: Unterstützung auf Basis von Restricted Tokens + ACLs + Firewall in Planung
- Mit der Option
--strict-sandboxkann erzwungen werden, dass in Umgebungen ohne bubblewrap (z. B. innerhalb von Docker) die Ausführung abgebrochen wird, statt auf eine schwächere Isolation zurückzufallen
- macOS: vollständig unterstützt auf Basis von Seatbelt (
- Apache-2.0-Lizenz / Rust + TypeScript
Noch keine Kommentare.