Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
flar — أداة CLI خفيفة الوزن تشغل وكلاء ترميز بالذكاء الاصطناعي داخل بيئات رملية معزولة باستخدام Bubblewrap مع عزل صارم لنظام الملفات والشبكة وبيانات الاعتماد للحماية من حقن التعليمات وهجمات سلسلة التوريد. | Kitploit
أدوات/GitHubGitHub/swelljoe/flar
تصعيد الامتيازاتأمن الحاوياتالتهرب من IDS/IPSأمن الشبكاتاختبار الاختراقDevSecOpsأمن سلسلة التوريدأمن الذكاء الاصطناعي
GitHubswelljoe/flar

flar

أداة CLI خفيفة الوزن تشغل وكلاء ترميز بالذكاء الاصطناعي داخل بيئات رملية معزولة باستخدام Bubblewrap مع عزل صارم لنظام الملفات والشبكة وبيانات الاعتماد للحماية من حقن التعليمات وهجمات سلسلة التوريد.

عرض المستودع
511منذ 16 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

flar

FLAR هو اختصار لـ Fast Light Agent Restrictor. يعمل على صخور تُسمى gars.

إنها أداة CLI بسيطة وخفيفة الوزن مكتوبة بلغة Go لتشغيل أدوات CLI للعوامل البرمجية (مثل Claude Code و Antigravity و Codex و Copilot و Reasonix) بأمان داخل مربعات رملية Bubblewrap (bwrap) معزولة.

أداة Antigravity CLI وهي تركب في flar

الهدف هو تطويق العامل الذكي (AI agent) بشكل فوري وبدون تكوين معقد بحيث لا يمكنه الوصول إلا إلى المشروع الذي تعمل عليه. هذا يحمي من حقن الأوامر (prompt injections) وكذلك من مشاكل سلسلة التوريد في المكتبات التي قد يسحبها العامل إلى مشروعك دون فحص كافٍ (أو ببساطة سوء حظ). المعلومات الحساسة الوحيدة التي يمكن الوصول إليها هي تفاصيل المصادقة الخاصة بالعامل وسجل المحادثة الخاص بالمشروع.

معظم العوامل لديها ميزة "صندوق رملي" (sandbox)، لكنها مسامية إلى حد ما ويمكن للعامل نفسه توسيع نطاق ما يمكن الوصول إليه. وبطبيعة الحال، فإن نقاط الضعف في سلسلة التوريد لا تخضع لصندوق العامل الرملي. flar محصنة تمامًا ضد العامل، ونطاق الانفجار لهجمات سلسلة التوريد مقيد بإحكام.

Bubblewrap تم اختباره جيدًا للغاية، ويتم صيانته بنشاط. يتم استخدامه بواسطة Flatpack والعديد من المشاريع الأخرى للحاويات خفيفة الوزن. flar لم يتم اختباره جيدًا، واستخدمته أنا لبضعة أيام فقط.

الميزات

  • الصندوق الرملي Bubblewrap: يشغل العامل في مساحة اسم مستخدم غير مميزة باستخدام دليل جذر نظيف (tmpfs). يتم تحميل مسارات النظام (/usr و /bin و /lib و /lib64 إلخ) للقراءة فقط من المضيف، مما يضمن توفر حزم المضيف فورًا دون إدارة صور الحاويات.
  • عزل صارم لنظام الملفات: يتم تحميل دليل المشروع الهدف فقط للقراءة والكتابة. باقي دليل المنزل بالمضيف مخفي، مما يحمي مفاتيح SSH وإعدادات shell والملفات الشخصية من هجمات حقن الأوامر.
  • عزل الشبكة:
    • الوضع المعزول (افتراضي): يتم فصل مساحة اسم الشبكة. يتم تمرير الوصول إلى الإنترنت عبر وكيل HTTP/HTTPS على جانب المضيف يقوم بإجراء بحث DNS على المضيف وتصفية حركة المرور إلى عناوين IP المحلية/الحلقية.
    • إعادة توجيه المنفذ: كشف الخدمات المحلية بشكل انتقائي (مثل قواعد البيانات، نماذج llama.cpp) داخل الصندوق الرملي عن طريق تعيين منافذ محددة إلى localhost للمضيف.
    • وضع المضيف: خيار لمشاركة مساحة اسم شبكة المضيف للوصول غير المقيد.
  • خيارات التجاوز الخطيرة: يقوم تلقائيًا بحقن علامات (مثل --dangerously-skip-permissions لـ Claude/agy أو --dangerously-bypass-approvals-and-sandbox لـ Codex) لتشغيل العوامل دون انقطاعات الموافقة في وقت التشغيل. يمكن تعطيله باستخدام -ask.
  • نسخ التكوين: ينسخ بيانات الاعتماد الخاصة بالمضيف (مثل ~/.claude/ و ~/.codex/ و ~/.gemini/ أو إعدادات GitHub CLI) إلى دليل مؤقت يتم تحميله داخل دليل المنزل في الصندوق الرملي، تاركًا ملفات تكوين المضيف دون تغيير.
  • استمرار الجلسة واستئنافها: عندما يكون ذلك آمنًا بشكل معقول (حاليًا Claude Code و Reasonix) تتم كتابة المحادثات التي بدأت داخل الصندوق الرملي مرة أخرى إلى المضيف، بحيث يعمل --resume/--continue عبر عمليات التشغيل — ويكون محددًا بنطاق المشروع الحالي بحيث لا يدخل أي سجل مشروع آخر إلى الصندوق الرملي. بخلاف ذلك، يتم تفرع السجل في أول تشغيل لـ flar لعامل ومشروع معينين. انظر استمرار الجلسة واستئنافها.
  • جسر حلقة المفاتيح (agy): تقوم أداة Antigravity CLI بتخزين رمز OAuth الخاص بها في حلقة مفاتيح نظام التشغيل بدلاً من ملف. يستخرج flar هذا السر الوحيد فقط ويخدمه داخل الصندوق الرملي من خلال خدمة سرية خاصة داخل العملية — بحيث يتم مصادقة العامل دون كشف باقي حلقة مفاتيحك. انظر بيانات الاعتماد.

البناء والتثبيت

المتطلبات

تأكد من تثبيت bwrap (Bubblewrap) على نظام المضيف:

root@kitploit:~
# على Fedora/RHEL
sudo dnf install bubblewrap

# على Debian/Ubuntu
sudo apt install bubblewrap

التجميع والتثبيت

لبناء flar من المصدر:

root@kitploit:~
go build -o `flar` .

للتثبيت:

root@kitploit:~
mv `flar` ~/.local/bin/

الاستخدام

شغّل flar في مجلد مشروعك أو حدد المسار:

root@kitploit:~
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:

root@kitploit:~
{
  "agent": "claude",
  "ask": false,
  "network": "isolated",
  "allow_ports": [5432, 11434]
}

بيانات الاعتماد

نظرًا لأنه يتم تحميل نسخة مؤقتة فقط من تكوينك، فإن العوامل تعمل باستخدام جلسة المضيف الحالية الخاصة بك دون لمس النسخ الأصلية. تحافظ معظم العوامل على جلستها في ملفات يقوم flar بنسخها مباشرة:

  • Claude: ~/.claude/ (بما في ذلك .credentials.json) و ~/.claude.json، الملف العلوي الذي يحمل حالة الإعداد وهوية الحساب. كلاهما مطلوب؛ مع بيانات الاعتماد فقط، يعامل Claude الصندوق الرملي كتثبيت جديد ويطالب بتسجيل الدخول.
  • Codex / Copilot: ~/.codex/، ~/.copilot/، وتكوين GitHub CLI.

حلقة مفاتيح Antigravity (agy)

agy هو الاستثناء: فهو لا يخزن رمزه في ملف. يحتفظ به في حلقة مفاتيح نظام التشغيل، ويقرأ عبر واجهة Freedesktop Secret Service عبر ناقل جلسة D-Bus. الصندوق الرملي ليس لديه ناقل جلسة، لذلك يفشل الإعداد البسيط مع authentication failed or timed out.

يتعامل flar مع هذا بشكل خاص:

  1. على المضيف، يقوم باستخراج فقط رمز agy (عنصر حلقة المفاتيح service=gemini, username=antigravity) باستخدام secret-tool، ويكتبه في ملف بصلاحيات 0600 داخل دليل التكوين المؤقت.
  2. داخل الصندوق الرملي، يقوم بتشغيل خدمة سرية مصغرة ومكتفية ذاتيًا (flar --internal-secretsvc) على مأخذ Unix خاص، يتم توجيهه عبر DBUS_SESSION_BUS_ADDRESS. يخدم هذا الرمز الوحيد ولا شيء غيره.

يمكن للعامل الوصول إلى رمزه الخاص بالضبط — وليس باقي حلقة مفاتيحك (كلمات مرور المتصفح، أسرار التطبيقات الأخرى، إلخ). يتحدث التنفيذ مباشرة بروتوكول D-Bus على السلك، لذا فهو لا يحتاج إلى gnome-keyring أو dbus-daemon داخل الصندوق الرملي.

المتطلبات والتحذيرات:

  • يحتاج الاستخراج على جانب المضيف إلى تثبيت secret-tool (libsecret) على المضيف. إذا كان غائبًا أو لم يتم العثور على الرمز، يتخطى flar الجسر ويعود agy إلى موجه تسجيل الدخول العادي.
  • يمكن لأي عامل مصدق، بحكم التعريف، قراءة رمزه الخاص؛ قد يتمكن هجوم حقن الأوامر من تسريبه. هذا متأصل في التشغيل المصدق بأي حال. يحد جسر حلقة المفاتيح من التعرض لهذا الرمز الواحد بدلاً من حلقة مفاتيحك بأكملها.

استمرار الجلسة واستئنافها

نظرًا لأن الصندوق الرملي يقوم بتحميل نسخة مؤقتة منسوخة من تكوينك، فإن أي شيء يكتبه العامل هناك سيختفي عادةً عند الخروج — بما في ذلك المحادثة التي أجراها للتو. يقوم flar بربط مخزن نصوص كل عامل مرة أخرى بالمضيف بحيث تستمر الجلسات ويمكن استئنافها لاحقًا، مع إبقاء تاريخ المشاريع الأخرى خارج الصندوق الرملي.

  • Claude: تعيش النصوص في دليل لكل مشروع (~/.claude/projects/<project-slug>/). يقوم flar بربط دليل المشروع الحالي فقط من المضيف فوق التكوين المنسوخ، لذلك يرى claude --resume جلسات هذا المشروع ولا شيء غيره. احذر، هذا يعني أن حقن الأوامر المخزنة في السجل قد يظل خطرًا؛ إذا استأنفت جلسة تحتوي على حقن أوامر فعال، يصبح نطاق الانفجار أكبر بشكل لا نهائي إذا قمت بتشغيل claude خارج flar. أعتقد أن الراحة تفوق المخاطرة، بالنسبة لأي مشاريع لديها هذا النوع من المخاطر، فقط قم دائمًا بتشغيلها في flar.

  • Codex CLI: يخزن Codex النصوص تحت أدلة تعتمد على التاريخ في ~/.codex/sessions/ ويفهرسها في state_5.sqlite العالمي؛ كلاهما يسجل cwd لكل سلسلة، لكن الأدلة على القرص تخلط المشاريع. يعطي flar لكل مساحة عمل منزل Codex ظل تحت $XDG_STATE_HOME/flar/codex/<project-slug>/، ويعود إلى ~/.local/state/flar/codex/<project-slug>/ عندما يكون ذلك المتغير غير معين. في أول استخدام، يزرع ذلك المنزل فقط بملفات النص المطابقة وصفوف SQLite وإدخالات تاريخ الأوامر. ثم يتم تحميل المنزل الظل كـ ، بحيث تستمر الجلسات الجديدة دون كشف مشروع آخر لـ .

root@kitploit:~
~/.copilot/.flar/<project-slug>/

في أول استخدام، يزرع flar ذلك المنزل الظل فقط بالجلسات التي يتطابق cwd المخزن فيها مع مساحة العمل الحالية، ناسخًا كلاً من صفوف SQLite ذات الصلة وأدلة session-state/ المطابقة. بعد ذلك، يتم تحميل المنزل الظل بأكمله كـ ~/.copilot داخل الصندوق الرملي، بحيث يمكن لـ copilot --continue استئناف جلسات مساحة العمل هذه فقط، وتستمر الجلسات الجديدة هناك بأمان.

  • Antigravity (agy): كما هو الحال مع Copilot، يتم "تفرع" الجلسات في أول تشغيل في مشروع بواسطة flar، ولم تعد مشتركة مع agy الذي يعمل خارج flar.

لا يفصل agy المحادثات حسب المشروع على القرص. تعيش كل المحادثات لكل مشروع في مخزن واحد مسطح تحت ~/.gemini/antigravity-cli/ (conversations/، brain/، implicit/)، ويتم مفتاحها فقط بواسطة UUID، مع تسجيل مساحة العمل المالكة داخل كتل المحادثة غير الشفافة. فهرس الحداثة (cache/last_conversations.json) يربط كل مساحة عمل بأحدث محادثة، وهو ما يتبعه agy --continue.

ربط هذا المخزن في الصندوق الرملي كما هو سيسمح لـ agy داخل الصندوق الرملي باستئناف — عبر --continue أو المنتقي التفاعلي أو --conversation <ID> صريح — محادثة تنتمي إلى مشروع مختلف، مما يسرّب ما تم لصقه فيها. لمنع ذلك، يعطي flar لكل مساحة عمل مخزنًا محدود النطاق:

root@kitploit:~
~/.gemini/antigravity-cli/.flar/<project-slug>/

يتم تحميل هذا الدليل كملف فوق conversations/ و brain/ و implicit/ و history.jsonl و cache/last_conversations.json داخل الصندوق الرملي. يمكن للصندوق الرملي المفتوح على المشروع A بالتالي رؤية محادثات المشروع A فقط. تتراكم الجلسات الجديدة في المخزن المحدود النطاق ويمكن استئنافها في التشغيل التالي.

في المرة الأولى التي يشغل فيها flar agy في مشروع، يزرع مخزن ذلك المشروع المحدود النطاق من سجل المضيف الموجود لديك — ولكن فقط بالمحادثات التي ينسبها agy نفسه إلى مساحة العمل هذه (يتم تحديدها من last_conversations.json و history.jsonl بنص عادي، وليس أبدًا عن طريق تحليل كتل المحادثة). بعد تلك البذرة لمرة واحدة، يصبح المخزن المحدود النطاق مستقلاً: تعيش الجلسات الجديدة فقط في المخزن المحدود النطاق، ولا يتم سحب التغييرات اللاحقة على جانب المضيف.

  • Reasonix: تمامًا مثل Claude Code. يحتفظ Reasonix بسجل كل مشروع في دليله الفرعي الخاص، بحيث يمكن ربطه بنفس طريقة Claude Code، مع نفس التحذير.

العواقب التي يجب معرفتها:

  • Copilot CLI: كما هو الحال مع agy، يصبح المنزل الظل المحدود النطاق عالمًا منفصلاً لكل مشروع بعد البذرة الأولية. الجلسات التي تبدأها مع Copilot خارج flar لا يتم سحبها إلى flar لاحقًا، والجلسات التي تبدأها داخل flar يتم حفظها مرة أخرى في المنزل الظل المحدود النطاق بدلاً من مخزن Copilot العالمي للمضيف.
  • الجلسات التي تبدأها مع agy خارج flar (باستثناء البذرة الأولية) غير مرئية داخل flar، والعكس صحيح. هذا متعمد — سجل agy الخاص بـ flar هو عالم منفصل لكل مشروع.
  • يتبع Codex نفس القاعدة: بعد البذرة لمرة واحدة، يصبح السجل داخل وخارج flar مستقلاً.
  • المحادثة التي لم تنسبها فهارس agy نفسها إلى مساحة العمل الحالية لا يتم بذرها، حسب التصميم. الافتراض الآمن هو حجبها بدلاً من المخاطرة بكشف بيانات مشروع آخر.
  • أدلة .flar/ المملوكة للعامل مستثناة من نسخ التكوين للتوافق، وحالة flar المملوكة تعيش تحت $XDG_STATE_HOME/flar/ (أو ~/.local/state/flar/)، خارج أدلة التكوين التي يديرها العامل.

أمان الشبكة والمنافذ المحلية

في وضع الشبكة المعزول، لا تمتلك بيئة العامل وصولاً مباشرًا إلى واجهات شبكة المضيف.

  • الوصول إلى الإنترنت: يعمل تلقائيًا لطلبات HTTP/HTTPS (مثل الاتصال بـ LLMs سحابية مثل Anthropic أو Gemini) باستخدام متغيرات البيئة HTTP_PROXY و HTTPS_PROXY.
  • قيود المضيف المحلي: يتم حظر الطلبات إلى localhost أو عناوين IP الحلقية عبر الوكيل.
  • كشف الخدمات المحلية: للسماح للعامل بالوصول إلى قاعدة بيانات محلية أو LLM محلي (مثل Ollama على 127.0.0.1:11434)، حدد المنفذ باستخدام -allow-port 11434 أو تكوين allow_ports. سيقوم معيد توجيه حلقة آمن بربط 127.0.0.1:11434 داخل الصندوق الرملي وتوجيه حركة المرور إلى المضيف.
تنزيل الأداة
~/.codex
codex resume --all
  • Copilot CLI: يخزن Copilot الجلسات القابلة للاستئناف في مكانين عالميين تحت ~/.copilot/: فهرس SQLite (session-store.db) ودليل واحد لكل جلسة تحت session-state/<session-id>/. تحمل صفوف SQLite cwd المالكة، وكل دليل حالة مرتبط بنفس معرف الجلسة. ربط مخزن المضيف كما هو سيعرض جلسات كل مشروع لـ Copilot داخل الصندوق الرملي، لذلك يعطي flar لكل مساحة عمل منزل Copilot ظل خاص بها: