
Leichtgewichtiges CLI-Tool, das KI-Coding-Agenten in isolierten Bubblewrap-Sandboxen mit strenger Dateisystem-, Netzwerk- und Berechtigungsisolierung ausführt, um sich vor Prompt-Injection-Angriffen und Supply-Chain-Angriffen zu schützen.
FLAR ist der Fast Light Agent Restrictor. Es läuft auf Steinen namens Gars.
Es ist ein einfaches, leichtgewichtiges CLI-Tool in Go, um Coding-Agent-CLIs (wie Claude Code, Antigravity, Codex, Copilot und Reasonix) sicher in isolierten Bubblewrap (bwrap)-Sandboxes auszuführen.

Der Zweck ist es, sofort und ohne komplizierte Konfiguration einen KI-Agenten zu bubblewrappen, sodass er nur Zugriff auf das Projekt hat, an dem Sie arbeiten. Dies schützt vor Prompt-Injection sowie vor Supply-Chain-Problemen in Bibliotheken, die der Agent möglicherweise ohne ausreichende Prüfung (oder einfach Pech) in Ihr Projekt zieht. Die einzigen zugänglichen sensiblen Informationen sind die eigenen Authentifizierungsdaten des Agenten und der Chatverlauf für das Projekt.
Die meisten Agenten haben eine „Sandbox“-Funktion, die jedoch recht porös ist und der Agent selbst den Umfang des Zugänglichen erweitern kann. Und natürlich unterliegen Supply-Chain-Schwachstellen nicht der Agenten-Sandbox. flar ist vollständig unempfindlich gegenüber dem Agenten und der Schadradius von Supply-Chain-Angriffen wird stark eingeschränkt.
Bubblewrap ist extrem gut getestet und wird aktiv gewartet. Es wird von Flatpack und vielen anderen Projekten für leichte Container verwendet. flar ist weit weniger gut getestet und wird von mir seit ein paar Tagen benutzt.
tmpfs) aus. Systempfade (/usr, /bin, /lib, /lib64 usw.) werden schreibgeschützt vom Host eingehängt, sodass Host-Pakete ohne Container-Image-Verwaltung sofort verfügbar sind.localhost des Hosts gemappt werden.--dangerously-skip-permissions für Claude/agy oder --dangerously-bypass-approvals-and-sandbox für Codex), sodass Agenten ohne Laufzeitgenehmigungsunterbrechungen ausgeführt werden. Kann mit -ask deaktiviert werden.~/.claude/, ~/.codex/, ~/.gemini/ oder GitHub-CLI-Konfigurationen) in ein temporäres Verzeichnis, das innerhalb des Sandbox-Home-Verzeichnisses eingehängt wird, wobei Host-Konfigurationsdateien unberührt bleiben.--resume/--continue über mehrere Ausführungen hinweg funktioniert – auf das aktuelle Projekt beschränkt, sodass kein Verlauf anderer Projekte in die Sandbox gelangt. Andernfalls wird der Verlauf beim ersten Ausführen von flar für einen bestimmten Agenten und ein bestimmtes Projekt abgespalten. Siehe Sitzungspersistenz und -fortsetzung.agy): Die Antigravity-CLI speichert ihr OAuth-Token im Betriebssystem-Schlüsselbund und nicht in einer Datei. flar extrahiert nur dieses eine Geheimnis und stellt es innerhalb der Sandbox über einen privaten, prozessinternen Secret Service bereit – so authentifiziert sich der Agent, ohne den Rest Ihres Schlüsselbunds freizugeben. Siehe Anmeldedaten.Stellen Sie sicher, dass bwrap (Bubblewrap) auf Ihrem Host-System installiert ist:
# Auf Fedora/RHEL
sudo dnf install bubblewrap
# Auf Debian/Ubuntu
sudo apt install bubblewrap
So bauen Sie flar aus dem Quellcode:
go build -o `flar` .
So installieren Sie es:
mv `flar` ~/.local/bin/
Führen Sie flar in Ihrem Projektordner aus oder geben Sie den Pfad an:
flar [flags] [path/to/project] [extra agent args/prompts...]
-m: Agent festlegen, der ausgeführt werden soll (claude, codex, agy, copilot, reasonix). Standardmäßig wird anhand verfügbarer Host-Konfigurationen oder Umgebungsvariablen geprüft.-ask: Berechtigungen/Genehmigungen nicht überspringen (erzwingt, dass der Agent um Erlaubnis fragt).-network: Netzwerkmodus: isolated (Standard) oder host.-allow-port: Einen bestimmten lokalen TCP-Port (z. B. 8080, 11434) durch die isolierte Netzwerk-Sandbox zulassen. Kann mehrfach angegeben werden.-v: Ausführliche Protokollierung aktivieren..flar.json)Sie können Optionen pro Projekt in <project>/.flar.json oder global in ~/.config/flar/config.json konfigurieren:
{
"agent": "claude",
"ask": false,
"network": "isolated",
"allow_ports": [5432, 11434]
}
Da nur eine temporäre Kopie Ihrer Konfiguration eingehängt wird, werden Agenten authentifiziert unter Verwendung Ihrer bestehenden Host-Sitzung ausgeführt, ohne die Originale zu berühren. Die meisten Agenten speichern ihre Sitzung in Dateien, die flar direkt kopiert:
~/.claude/ (einschließlich .credentials.json) und ~/.claude.json, die Top-Level-Datei mit dem Onboarding-Status und der Kontoidentität. Beide sind erforderlich; mit nur den Anmeldedaten behandelt Claude die Sandbox als Neuinstallation und fordert zur Anmeldung auf.~/.codex/, ~/.copilot/ und die GitHub-CLI-Konfiguration.agy)-Schlüsselbundagy ist die Ausnahme: Es speichert sein Token nicht in einer Datei. Es verwahrt es im Betriebssystem-Schlüsselbund, das über die freedesktop Secret Service API über den D-Bus-Sitzungsbus gelesen wird. Die Sandbox hat keinen Sitzungsbus, daher schlägt eine naive Einrichtung mit authentication failed or timed out fehl.
flar behandelt dies speziell:
agy-Token (Schlüsselbundelement service=gemini, username=antigravity) mit secret-tool und schreibt es in eine 0600-Datei im temporären Konfigurationsverzeichnis.flar --internal-secretsvc) auf einem privaten Unix-Socket aus, auf den mit DBUS_SESSION_BUS_ADDRESS verwiesen wird. Es stellt dieses einzelne Token und sonst nichts bereit.Der Agent kann genau sein eigenes Token erreichen – nicht den Rest Ihres Schlüsselbunds (Browser-Passwörter, Geheimnisse anderer Apps usw.). Die Implementierung spricht das D-Bus-Drahtprotokoll direkt, benötigt also kein gnome-keyring oder dbus-daemon innerhalb der Sandbox.
Anforderungen und Einschränkungen: