
Outil CLI léger qui exécute des agents de codage IA dans des sandboxes Bubblewrap isolées avec une isolation stricte du système de fichiers, du réseau et des identifiants pour protéger contre les injections de prompts et les attaques de la chaîne d'approvisionnement.
FLAR est le Fast Light Agent Restrictor. Il fonctionne sur des roches appelées gars.
C'est un outil CLI simple et léger en Go pour exécuter des CLI d'agents de codage (comme Claude Code, Antigravity, Codex, Copilot et Reasonix) en toute sécurité dans des sandbox Bubblewrap (bwrap) isolés.

Le but est de instantanément et sans configuration compliquée, bubblewrap un agent IA afin qu'il n'ait accès qu'au projet sur lequel vous travaillez. Cela protège contre les injections de prompt ainsi que les problèmes de chaîne d'approvisionnement dans les bibliothèques que l'agent pourrait importer dans votre projet sans vérification suffisante (ou par malchance). La seule information sensible accessible est les propres détails d'authentification de l'agent et l'historique de chat du projet.
La plupart des agents ont une fonctionnalité de « sandbox », mais elle est assez poreuse et l'agent lui-même peut étendre la portée de ce qui est accessible. Et, bien sûr, les vulnérabilités de chaîne d'approvisionnement ne sont pas soumises à la sandbox de l'agent. flar est totalement imperméable à l'agent, et le rayon d'explosion des attaques sur la chaîne d'approvisionnement est étroitement limité.
Bubblewrap est extrêmement bien testé et activement maintenu. Il est utilisé par Flatpack et de nombreux autres projets pour des conteneurs légers. flar est beaucoup moins bien testé, et utilisé par moi depuis quelques jours.
tmpfs). Les chemins système (/usr, /bin, /lib, /lib64, etc.) sont montés en lecture seule depuis l'hôte, garantissant que les paquets de l'hôte sont immédiatement disponibles sans gestion d'image conteneur.localhost de l'hôte.--dangerously-skip-permissions pour Claude/agy ou --dangerously-bypass-approvals-and-sandbox pour Codex) afin que les agents s'exécutent sans interruptions d'approbation en cours d'exécution. Peut être désactivé avec -ask.~/.claude/, ~/.codex/, ~/.gemini/ ou les configurations GitHub CLI) vers un répertoire temporaire monté dans le répertoire personnel de la sandbox, laissant les fichiers de configuration de l'hôte intacts.--resume / --continue fonctionne entre les exécutions – limité au projet actuel afin qu'aucun historique d'autre projet n'entre dans la sandbox. Sinon, l'historique est bifurqué au premier lancement de flar pour un agent et un projet donnés. Voir Persistance et reprise de session.agy) : La CLI Antigravity stocke son jeton OAuth dans le trousseau du système plutôt que dans un fichier. flar extrait uniquement ce secret et le sert à l'intérieur de la sandbox via un Service Secret privé dans le processus – de sorte que l'agent s'authentifie sans exposer le reste de votre trousseau. Voir Identifiants.Assurez-vous que bwrap (Bubblewrap) est installé sur votre système hôte :
# Sur Fedora/RHEL
sudo dnf install bubblewrap
# Sur Debian/Ubuntu
sudo apt install bubblewrap
Pour compiler flar à partir des sources :
go build -o `flar` .
Pour l'installer :
mv `flar` ~/.local/bin/
Exécutez flar dans votre dossier de projet ou spécifiez le chemin :
flar [flags] [path/to/project] [extra agent args/prompts...]
-m : Spécifie l'agent à exécuter (claude, codex, agy, copilot, reasonix). Par défaut, il vérifie les configurations hôtes disponibles ou les variables d'environnement.-ask : Ne pas sauter les permissions/approbations (forcer l'agent à demander la permission).-network : Mode réseau : isolated (par défaut) ou host.-allow-port : Autoriser un port TCP local spécifique (par exemple 8080, 11434) à travers la sandbox réseau isolée. Peut être spécifié plusieurs fois.-v : Activer la journalisation détaillée..flar.json)Vous pouvez configurer les options par projet dans <projet>/.flar.json ou globalement dans ~/.config/flar/config.json :
{
"agent": "claude",
"ask": false,
"network": "isolated",
"allow_ports": [5432, 11434]
}
Comme seule une copie temporaire de votre configuration est montée, les agents s'exécutent authentifiés en utilisant votre session hôte existante sans toucher aux originaux. La plupart des agents conservent leur session dans des fichiers que flar copie directement :
~/.claude/ (y compris .credentials.json) et ~/.claude.json, le fichier de premier niveau contenant l'état d'intégration et l'identité du compte. Les deux sont requis ; avec seulement les identifiants, Claude traite la sandbox comme une nouvelle installation et demande une connexion.~/.codex/, ~/.copilot/ et la configuration GitHub CLI.agy)agy est l'exception : il ne stocke pas son jeton dans un fichier. Il le conserve dans le trousseau du système, accessible via l'API Secret Service freedesktop sur le bus de session D-Bus. La sandbox n'a pas de bus de session, donc une configuration naïve échoue avec authentication failed or timed out.
flar gère cela spécialement :
agy (élément de trousseau service=gemini, username=antigravity) en utilisant secret-tool, et l'écrit dans un fichier 0600 dans le répertoire de configuration temporaire.flar --internal-secretsvc) sur un socket Unix privé, pointé par DBUS_SESSION_BUS_ADDRESS. Il sert ce seul jeton et rien d'autre.L'agent peut atteindre exactement son propre jeton – pas le reste de votre trousseau (mots de passe de navigateur, secrets d'autres applications, etc.). L'implémentation parle directement le protocole filaire D-Bus, donc elle n'a pas besoin de gnome-keyring ou dbus-daemon dans la sandbox.
Exigences et mises en garde :