
हल्का CLI टूल जो AI कोडिंग एजेंटों को पृथक Bubblewrap सैंडबॉक्स में चलाता है, जिसमें प्रॉम्प्ट इंजेक्शन और सप्लाई चेन हमलों से बचाव के लिए सख्त फाइलसिस्टम, नेटवर्क और क्रेडेंशियल आइसोलेशन होता है।
FLAR का मतलब Fast Light Agent Restrictor है। यह gars नामक चट्टानों पर चलता है।
यह Go में लिखा गया एक सरल, हल्का CLI टूल है जो कोडिंग एजेंट CLIs (जैसे Claude Code, Antigravity, Codex, Copilot और Reasonix) को पृथक Bubblewrap (bwrap) सैंडबॉक्स के अंदर सुरक्षित रूप से चलाने के लिए है।

इसका उद्देश्य तुरंत और जटिल कॉन्फ़िगरेशन के बिना, एक AI एजेंट को bubblewrap करना है ताकि उसके पास केवल उस प्रोजेक्ट तक पहुंच हो जिस पर आप काम कर रहे हैं। यह प्रॉम्प्ट इंजेक्शन के साथ-साथ उन लाइब्रेरीज़ में आपूर्ति श्रृंखला की समस्याओं से भी बचाता है जिन्हें एजेंट पर्याप्त जांच (या केवल बदकिस्मती) के बिना आपके प्रोजेक्ट में खींच सकता है। एकमात्र सुलभ संवेदनशील जानकारी एजेंट के अपने प्रमाणीकरण विवरण और प्रोजेक्ट के लिए चैट इतिहास है।
अधिकांश एजेंटों में एक "सैंडबॉक्स" सुविधा होती है, लेकिन यह काफी छिद्रपूर्ण होती है और एजेंट स्वयं सुलभता के दायरे का विस्तार कर सकता है। और, निश्चित रूप से, आपूर्ति श्रृंखला की कमज़ोरियाँ एजेंट सैंडबॉक्स के अधीन नहीं होती हैं। flar एजेंट के प्रति पूरी तरह से अभेद्य है, और आपूर्ति श्रृंखला हमलों का विस्फोट त्रिज्या कड़ाई से सीमित है।
Bubblewrap बेहद अच्छी तरह से परीक्षण किया गया है, और सक्रिय रूप से बनाए रखा जाता है। इसका उपयोग Flatpack और कई अन्य प्रोजेक्ट्स द्वारा हल्के कंटेनरों के लिए किया जाता है। flar बहुत कम परीक्षण किया गया है, और मेरे द्वारा कुछ दिनों के लिए उपयोग किया गया है।
tmpfs) का उपयोग करके एक अनप्रिविलेज्ड यूज़र नेमस्पेस में चलाता है। सिस्टम पथ (/usr, /bin, /lib, /lib64, आदि) होस्ट से केवल-पढ़ने के लिए माउंट किए जाते हैं, यह सुनिश्चित करते हुए कि कंटेनर इमेज प्रबंधन के बिना होस्ट पैकेज तुरंत उपलब्ध हों।localhost पर मैप करके सैंडबॉक्स में स्थानीय सेवाओं को चुनिंदा रूप से उजागर करें।agy के लिए --dangerously-skip-permissions या Codex के लिए --dangerously-bypass-approvals-and-sandbox) इंजेक्ट करता है ताकि एजेंट रनटाइम अनुमोदन रुकावटों के बिना चलें। -ask से अक्षम किया जा सकता है।~/.claude/, ~/.codex/, ~/.gemini/, या GitHub CLI कॉन्फ़िगरेशन) को सैंडबॉक्स होम डायरेक्टरी में माउंट की गई एक अस्थायी डायरेक्टरी में स्वचालित रूप से कॉपी करता है, जिससे होस्ट कॉन्फ़िग फ़ाइलें अछूती रहती हैं।--resume/--continue रनों में काम करे — वर्तमान प्रोजेक्ट तक सीमित हो ताकि किसी अन्य प्रोजेक्ट का इतिहास सैंडबॉक्स में प्रवेश न करे। अन्यथा, किसी दिए गए एजेंट और प्रोजेक्ट के लिए flar के पहले रन पर इतिहास फोर्क किया जाता है। सत्र स्थिरता और फिर से शुरू देखें।agy): Antigravity CLI अपना OAuth टोकन फ़ाइल के बजाय OS कीरिंग में संग्रहीत करता है। flar केवल उस एक रहस्य को निकालता है और इसे एक निजी, इन-प्रोसेस सीक्रेट सर्विस के माध्यम से सैंडबॉक्स के अंदर परोसता है — ताकि एजेंट आपके बाकी कीरिंग को उजागर किए बिना प्रमाणित हो। क्रेडेंशियल्स देखें।सुनिश्चित करें कि आपके होस्ट सिस्टम पर bwrap (Bubblewrap) स्थापित है:
# Fedora/RHEL पर
sudo dnf install bubblewrap
# Debian/Ubuntu पर
sudo apt install bubblewrap
स्रोत से flar बनाने के लिए:
go build -o `flar` .
इंस्टॉल करने के लिए:
mv `flar` ~/.local/bin/
अपने प्रोजेक्ट फ़ोल्डर में flar चलाएँ या पथ निर्दिष्ट करें:
flar [flags] [path/to/project] [extra agent args/prompts...]
-m: चलाने के लिए एजेंट निर्दिष्ट करें (claude, codex, agy, copilot, reasonix). डिफ़ॉल्ट उपलब्ध होस्ट कॉन्फ़िगरेशन या पर्यावरण चरों की जाँच करता है।-ask: अनुमतियों/अनुमोदनों को न छोड़ें (एजेंट को अनुमति माँगने के लिए बाध्य करना)।-network: नेटवर्क मोड: isolated (डिफ़ॉल्ट) या host।-allow-port: पृथक नेटवर्क सैंडबॉक्स के माध्यम से एक विशिष्ट स्थानीय TCP पोर्ट (जैसे 8080, 11434) की अनुमति दें। कई बार निर्दिष्ट किया जा सकता है।-v: वर्बोज़ लॉगिंग सक्षम करें।.flar.json)आप प्रति-प्रोजेक्ट विकल्पों को <project>/.flar.json या वैश्विक रूप से ~/.config/flar/config.json में कॉन्फ़िगर कर सकते हैं:
{
"agent": "claude",
"ask": false,
"network": "isolated",
"allow_ports": [5432, 11434]
}
क्योंकि केवल आपके कॉन्फ़िग की एक अस्थायी प्रतिलिपि माउंट की जाती है, एजेंट आपके मौजूदा होस्ट सत्र का उपयोग करके मूल को छुए बिना प्रमाणित चलते हैं। अधिकांश एजेंट अपने सत्र को फ़ाइलों में रखते हैं जिन्हें flar सीधे कॉपी करता है:
~/.claude/ (.credentials.json सहित) और ~/.claude.json, शीर्ष-स्तरीय फ़ाइल जो ऑनबोर्डिंग स्थिति और खाता पहचान रखती है। दोनों आवश्यक हैं; केवल क्रेडेंशियल्स के साथ, Claude सैंडबॉक्स को एक नई स्थापना के रूप में मानता है और लॉगिन के लिए संकेत देता है।~/.codex/, ~/.copilot/, और GitHub CLI कॉन्फ़िग।agy) कीरिंगagy अपवाद है: यह अपने टोकन को फ़ाइल में नहीं संग्रहीत करता है। यह इसे OS कीरिंग में रखता है, D-Bus सत्र बस पर freedesktop Secret Service API के माध्यम से पढ़ा जाता है। सैंडबॉक्स में कोई सत्र बस नहीं है, इसलिए एक भोली सेटअप authentication failed or timed out के साथ विफल हो जाती है।
flar इसे विशेष रूप से संभालता है:
secret-tool का उपयोग करके केवल agy टोकन (कीरिंग आइटम service=gemini, username=antigravity) निकालता है, और इसे अस्थायी कॉन्फ़िग डायरेक्टरी में एक 0600 फ़ाइल में लिखता है।flar --internal-secretsvc) चलाता है, जो DBUS_SESSION_BUS_ADDRESS द्वारा इंगित किया जाता है। यह केवल उस एक टोकन को परोसता है और कुछ नहीं।एजेंट केवल अपने स्वयं के टोकन तक पहुँच सकता है — आपके बाकी कीरिंग (ब्राउज़र पासवर्ड, अन्य ऐप्स के रहस्य, आदि) तक नहीं। कार्यान्वयन सीधे D-Bus वायर प्रोटोकॉल बोलता है, इसलिए इसे सैंडबॉक्स के अंदर कोई gnome-keyring या dbus-daemon की आवश्यकता नहीं है।
आवश्यकताएँ और सावधानियाँ:
secret-tool (libsecret) स्थापित होना चाहिए। यदि यह अनुपस्थित है या टोकन नहीं मिलता है, तो flar ब्रिज को छोड़ देता है और agy अपने सामान्य लॉगिन प्रॉम्प्ट पर वापस आ जाता है।क्योंकि सैंडबॉक्स आपके कॉन्फ़िग की एक अस्थायी प्रतिलिपि माउंट करता है, एजेंट द्वारा वहाँ लिखी गई कोई भी चीज़ सामान्य रूप से बाहर निकलने पर गायब हो जाएगी — जिसमें उसने अभी-अभी की गई बातचीत भी शामिल है। flar प्रत्येक एजेंट के ट्रांसक्रिप्ट स्टोरेज को होस्ट पर वापस बाइंड करता है ताकि सत्र बने रहें और बाद में फिर से शुरू किए जा सकें, जबकि अन्य प्रोजेक्ट्स के इतिहास को सैंडबॉक्स से बाहर रखा जाता है।