مدونة FireAI للأمان

بقلم FireAI Security & Research Team · نُشر في

أمان Gemini CLI على Mac: مراقبة اتصالاته الشبكية

أمان Gemini CLI على Mac: مراقبة اتصالاته الشبكية

Gemini CLI وكيل سطر أوامر مفتوح المصدر من Google. يقرأ الملفات ويعدّلها، ويشغّل أوامر الصدفة، ويجلب صفحات الويب، ولذلك يريد من يبحثون عن «gemini cli security mac» أو «is Gemini CLI safe» أن يعرفوا القيود القائمة وإلى أين تذهب حركة بياناته. تلخّص هذه المقالة توثيق Google نفسه، ثم تبيّن كيف يراقبه FireAI، وهو جدار حماية شبكي لنظام macOS طوّرته HisnLabs.

ما هو Gemini CLI وكيف يعمل على Mac

يصف المستودع أداة Gemini CLI بأنها وكيل ذكاء اصطناعي مفتوح المصدر يجلب Gemini إلى طرفيتك. وتطوّرها Google بموجب Apache License 2.0. وتُثبَّت عبر npm ‏(npm install -g @google/gemini-cli) أو Homebrew ‏(brew install gemini-cli)، أو تعمل من دون تثبيت عبر npx @google/gemini-cli. فهي إذن برنامج Node.js، وتسجّل الدخول بحساب Google ‏(OAuth)، أو بمفتاح Gemini API، أو عبر Vertex AI.

ما الذي يمكنه الوصول إليه

وتغطي أدواتها المدمجة عمليات نظام الملفات، وتنفيذ أوامر الصدفة، وجلب صفحات الويب مع الاستناد إلى Google Search، وخوادم MCP للتكاملات المخصصة. ويذكر ملف README تتبّع الاستخدام، الموصوف في توثيق القياس عن بُعد الخاص بها، وهو المكان الذي تتحقق فيه مما تُبلغ عنه الأداة.

نموذج الأذونات والبيئة المعزولة الموثّق

توثّق Google ضابطين مهمّين على جهاز Mac.

  • العزل (Sandboxing): على macOS يستخدم الخيار الخفيف ملفات تعريف Seatbelt ‏(sandbox-exec). ويقصر ملف التعريف الافتراضي، permissive-open، الكتابة على مجلد المشروع مع السماح بقراءة واسعة للملفات وبالوصول إلى الشبكة. وتُختار ملفات تعريف أشد صرامة، منها نسخ تمر عبر وكيل (proxied)، بمتغير البيئة SEATBELT_PROFILE، والبديل هو حاويات Docker أو Podman. ويُفعَّل العزل بالخيار -s أو --sandbox، أو بالمتغير GEMINI_SANDBOX، أو عبر settings.json.
  • المجلدات الموثوقة (Trusted Folders): معطّلة افتراضيًا. وحين تُفعَّل، يضع المجلد غير الموثوق أداة سطر الأوامر في الوضع الآمن، الذي يعطّل إعدادات مساحة العمل، واتصالات خوادم MCP، والأوامر المخصصة، والقبول التلقائي للأدوات.

وتنص صفحة العزل نفسها على أن العزل يقلّل المخاطر لكنه لا يزيلها كلها. ولاحظ أن ملف تعريف Seatbelt الافتراضي يظل يسمح بالوصول إلى الشبكة، فلا يقيّد الأماكن التي يمكن إرسال البيانات إليها.

لا ينشر التوثيق الذي رُوجع قائمة كاملة بالنطاقات التي يتصل بها Gemini CLI. فتسجيل الدخول إلى Google، وGemini API، وأي صفحة يجلبها، هي المرشحات الواضحة، لكن ملاحظتك أنت وحدها يمكن أن تؤكدها.

مراقبة Gemini CLI باستخدام FireAI

FireAI جدار حماية يعمل على الجهاز لنظام macOS طوّرته HisnLabs. وتدرج ميزته Agent profile أداة Gemini CLI ضمن وكلاء الذكاء الاصطناعي التسعة عشر الذين تتعرّف عليهم، ولأن Gemini CLI يعمل عبر node، فهي تحدّده من البرنامج النصي الذي تشغّله بيئة التشغيل، كما تفعل Agent profile مع وكلاء node وbun وdeno وpython. وتُنسب إلى الوكيل عملياته الفرعية، مثل الصدفة أو git أو curl التي يطلقها، بتتبّع العمليات الأم صعودًا. ثم يتعلّم FireAI، خلال الأيام الثلاثة الأولى، الوجهات التي يتصل بها Gemini CLI عادةً، مجمّعةً بحسب النطاق، ولا ينبّه إلى شيء خلال تلك الفترة. وبعد ذلك تُعلَّم أول وجهة جديدة في الاقتراحات، وفي بطاقة AI agents، وفي المراجعة السريعة. وتُعلَّم أيضًا طفرة الرفع: ساعة رفع فيها الوكيل ما لا يقل عن 4 أضعاف أكثر ساعاته نشاطًا حتى الآن، وما لا يقل عن 25 MB في كل الأحوال.

لا يستخدم FireAI إلا البيانات الوصفية، أي أسماء المضيفين وأعداد البايتات، ولا يقرأ أبدًا حمولة الاتصال. وهو افتراضيًا ينبّه ويترك القرار لك. أما في وضع الأمان Agent profile فيذهب أبعد: بعد انتهاء التعلّم، يُحظر الاتصال بوجهة خارج خط الأساس إلى أن تضغط Allow، ويحوّل Keep blocked ذلك الحظر إلى قاعدة تسري في كل الأوضاع.

الإعداد خطوة بخطوة

  1. ثبّت FireAI وأكمل إعداد التشغيل الأول، باتباع التثبيت وإكمال الإعداد.
  2. استخدم Gemini CLI كعادتك لمدة 3 أيام. يتعلّم FireAI وجهاته في الخلفية ولا ينبّه إلى شيء بعد.
  3. افتح الاقتراحات وابحث عن بطاقة AI agents. حين يظهر تنبيه، اقرأ الجملة المكتوبة بلغة بسيطة، ثم اسحب يسارًا في المراجعة السريعة للحظر أو يمينًا لاختيار «It’s fine».
  4. إن أردت إبقاء الوكيل ضمن الأماكن التي يستخدمها أصلًا، فاختر Agent profile في قائمة أوضاع الأمان، بجانب المنزل والمقهى والحذر الشديد وتحت الهجوم.
  5. حين يُحظر شيء، افتح بطاقة AI agents واختر Allow لإضافته إلى خط الأساس، أو Keep blocked لإنشاء قاعدة حظر.

القيود

  • لا يمنع FireAI حقن التعليمات (prompt injection). بل يحدّ من الضرر بالتنبيه إلى المسار الذي قد تسلكه البيانات خارج جهاز Mac، وبإتاحة حظره لك.
  • لا يستطيع FireAI رؤية تعليمات Gemini CLI، ولا محتوى أدوات MCP، ولا المهارات، ولا الملفات التي يقرؤها، لأن TLS يخفي الحمولة وFireAI ليس داخل الوكيل.
  • يُتعرَّف على Gemini CLI من اسم البرنامج النصي، فيُوسِمه FireAI ولا يتحقق منه: فلا يُفحص مقابل توقيع المطوّر إلا Claude Code وClaude وCursor.
  • صفحة الويب التي يجلبها الوكيل وجهة مشروعة له لكنها قد تكون جديدة على خط الأساس الخاص به، فتوقّع تنبيهات حين تطلب منه إجراء بحث.
  • يعمل FireAI إلى جانب البيئة المعزولة والمجلدات الموثوقة في Gemini CLI، ولا يحل محلها.
  • لا يُنبَّه إلى شيء خلال فترة التعلّم البالغة 3 أيام، وتُعلَّم طفرات الرفع ولا تُحظر.
  • يُعامَل الخادم الجديد التابع لنطاق يستخدمه الوكيل أصلًا على أنه معروف، لأن الوجهات تُجمَّع بحسب النطاق.

حقن التعليمات (prompt injection)، حيث يوجّه نص في صفحة مجلوبة الوكيلَ، مصنّف لدى OWASP. ولا يوقفه FireAI. والميزة موصوفة في توثيق Agent profile.

للوكلاء الآخرين الذين يتعرّف عليهم FireAI أدلتهم الخاصة: Claude Code، وتطبيق Claude لسطح المكتب، وCursor، وتطبيق ChatGPT لجهاز Mac، وOpenAI Codex CLI، وOpenClaw، وHermes Agent، وGitHub Copilot CLI، وAmp، وQwen Code، وopencode، وAider، وGoose، وCrush، وWindsurf، وKiro، وTrae، وMuse من Meta، وأي وكيل ذكاء اصطناعي آخر تشغّله Python أو Node.

دور FireAI وHisnLabs

يستطيع Gemini CLI تشغيل الأوامر وجلب صفحات الويب من طرفيتك. ويُظهر FireAI الوجهة التالية التي يتصل بها، ويستطيع حظرها.

FireAI هو منتج HisnLabs نفسها: جدار حماية بذكاء اصطناعي يعمل على جهاز Mac مباشرة. يعرض بلغة واضحة كل اتصال تجريه تطبيقاتك، ويترك لك القرار فيما يخرج من جهازك — ذكاؤه الاصطناعي يعمل محليًا، فلا يُرسَل ترافيكك إلينا ولا إلى أي جهة أخرى أبدًا. فريق أبحاث الأمن في HisnLabs هو من يحافظ على دقة هذه القرارات: يصنّف النطاقات بين قياس عن بُعد عادي وخدمة حقيقية، ويتتبّع بلد وشبكة كل اتصال، ويدرّب النموذج المحلي (ميزة FireAI Pilot) على حركة اتصال حقيقية، دون أن يغادر أي شيء جهاز Mac.

يمكنك الاطلاع على القرارات التقنية وراء ذلك، أو تجربة FireAI لمدة 17 يومًا، على FireAI من HisnLabs.

المصادر