
Strumento CLI leggero che esegue agenti di codifica AI all'interno di sandbox Bubblewrap isolate con un rigoroso isolamento di filesystem, rete e credenziali per proteggere da iniezioni di prompt e attacchi alla supply chain.
FLAR è il Fast Light Agent Restrictor. Funziona su rocce chiamate gars.
È uno strumento CLI semplice e leggero in Go per eseguire CLI di agenti di codifica (come Claude Code, Antigravity, Codex, Copilot e Reasonix) in modo sicuro all'interno di sandbox Bubblewrap (bwrap) isolate.

Lo scopo è quello di immediatamente e senza complicata configurazione, eseguire bubblewrap su un agente AI in modo che abbia accesso solo al progetto su cui stai lavorando. Questo protegge da iniezioni di prompt e da problemi della supply chain nelle librerie che l'agente potrebbe introdurre nel tuo progetto senza sufficiente verifica (o solo per sfortuna). Le uniche informazioni sensibili accessibili sono i dettagli di autenticazione dell'agente stesso e la cronologia delle chat per il progetto.
La maggior parte degli agenti ha una funzionalità "sandbox", ma è piuttosto porosa e l'agente stesso può espandere l'ambito di ciò che è accessibile. E, naturalmente, le vulnerabilità della supply chain non sono soggette alla sandbox dell'agente. flar è completamente impermeabile all'agente, e il raggio di esplosione degli attacchi alla supply chain è strettamente limitato.
Bubblewrap è estremamente ben testato e mantenuto attivamente. È utilizzato da Flatpack e molti altri progetti per container leggeri. flar è molto meno testato, e usato da me per un paio di giorni.
tmpfs). I percorsi di sistema (/usr, /bin, /lib, /lib64, ecc.) sono montati in sola lettura dall'host, garantendo che i pacchetti host siano immediatamente disponibili senza gestione di immagini container.localhost dell'host.--dangerously-skip-permissions per Claude/agy o --dangerously-bypass-approvals-and-sandbox per Codex) in modo che gli agenti vengano eseguiti senza interruzioni di approvazione in fase di esecuzione. Può essere disabilitato con -ask.~/.claude/, ~/.codex/, ~/.gemini/ o le configurazioni di GitHub CLI) in una directory temporanea montata all'interno della home directory della sandbox, lasciando intatti i file di configurazione dell'host.--resume/--continue funziona tra esecuzioni — limitato al progetto corrente in modo che nessuna cronologia di altri progetti entri nella sandbox. Altrimenti, la cronologia viene biforcata alla prima esecuzione di flar per un determinato agente e progetto. Vedi Persistenza e ripristino della sessione.agy): La CLI di Antigravity memorizza il suo token OAuth nel keyring del sistema operativo piuttosto che in un file. flar estrae solo quel segreto e lo serve all'interno della sandbox attraverso un Secret Service privato in-process — in modo che l'agente si autentichi senza esporre il resto del keyring. Vedi Credenziali.Assicurati che bwrap (Bubblewrap) sia installato sul tuo sistema host:
# Su Fedora/RHEL
sudo dnf install bubblewrap
# Su Debian/Ubuntu
sudo apt install bubblewrap
Per compilare flar dal sorgente:
go build -o `flar` .
Per installare:
mv `flar` ~/.local/bin/
Esegui flar nella cartella del tuo progetto o specifica il percorso:
flar [flags] [path/to/project] [extra agent args/prompts...]
-m: Specifica l'agente da eseguire (claude, codex, agy, copilot, reasonix). Predefinito: controlla le configurazioni host disponibili o le variabili d'ambiente.-ask: Non saltare permessi/approvazioni (costringendo l'agente a chiedere permesso).-network: Modalità di rete: isolated (predefinita) o host.-allow-port: Consenti una porta TCP locale specifica (ad es. 8080, 11434) attraverso la sandbox di rete isolata. Può essere specificato più volte.-v: Abilita logging verboso..flar.json)Puoi configurare le opzioni per progetto in <progetto>/.flar.json o globalmente in ~/.config/flar/config.json:
{
"agent": "claude",
"ask": false,
"network": "isolated",
"allow_ports": [5432, 11434]
}
Poiché viene montata solo una copia temporanea della tua configurazione, gli agenti vengono eseguiti autenticati utilizzando la sessione host esistente senza toccare gli originali. La maggior parte degli agenti mantiene la propria sessione in file che flar copia direttamente:
~/.claude/ (incluso .credentials.json) e ~/.claude.json, il file di primo livello che contiene lo stato di onboarding e l'identità dell'account. Entrambi sono necessari; solo con le credenziali, Claude tratta la sandbox come una nuova installazione e richiede il login.~/.codex/, ~/.copilot/ e la configurazione di GitHub CLI.agy)agy è l'eccezione: non memorizza il suo token in un file. Lo mantiene nel keyring del sistema operativo, letto tramite l'API Secret Service di freedesktop sul bus di sessione D-Bus. La sandbox non ha un bus di sessione, quindi una configurazione ingenua fallisce con authentication failed or timed out.
flar gestisce questo in modo speciale:
agy (elemento keyring service=gemini, username=antigravity) usando secret-tool, e lo scrive in un file 0600 nella directory di configurazione temporanea.flar --internal-secretsvc) su un socket Unix privato, puntato da DBUS_SESSION_BUS_ADDRESS. Serve quel singolo token e nient'altro.L'agente può raggiungere esattamente il proprio token — non il resto del tuo keyring (password del browser, segreti di altre app, ecc.). L'implementazione parla direttamente il protocollo wire D-Bus, quindi non necessita di nessun gnome-keyring o dbus-daemon all'interno della sandbox.
Requisiti e avvertenze:
secret-tool (libsecret) installato sull'host. Se è assente o il token non viene trovato, flar salta il bridge e agy torna al suo normale prompt di login.