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

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

مراقبة وصول OpenAI Codex CLI إلى الشبكة على Mac باستخدام FireAI

مراقبة وصول OpenAI Codex CLI إلى الشبكة على Mac باستخدام FireAI

Codex CLI وكيل برمجة من OpenAI يعمل في طرفيتك. يقرأ المشروع، ويقترح التغييرات، ويشغّل الأوامر، وتوثّق OpenAI له نموذج أمان من طبقتين يجمع بين بيئة معزولة وسياسات موافقة. تلخّص هذه المقالة ذلك النموذج كما ينطبق على macOS، وتشرح ما يقوله وما لا يقوله عن حركة البيانات الشبكية، وتبيّن كيف يراقب FireAI البرنامج.

ما هو Codex CLI وكيف يُثبَّت

يصف مستودع المشروع Codex CLI بأنه وكيل برمجة خفيف يعمل في طرفيتك، من صنع OpenAI ومرخّص بموجب Apache-2.0. ويسرد ثلاث طرق للتثبيت: npm install -g @openai/codex، وbrew install --cask codex، والتنزيل المباشر عبر برنامج صدفة نصي أو صفحة GitHub Releases. ويعمل على macOS لمعالجات Apple Silicon وIntel، وكذلك على Linux وWindows.

الطرفية
# the documented install routes
npm install -g @openai/codex
brew install --cask codex

نموذج العزل والموافقة الموثّق

تصف صفحة موافقات الوكيل والأمان لدى OpenAI أوضاع العزل وسياسات الموافقة وهي تعمل معًا، وتشير إلى أن أيًّا منهما وحده لا يوفر حماية كاملة. وأوضاع العزل هي read-only وworkspace-write وdanger-full-access. ففي read-only، تحتاج الإجراءات خارج نطاق مقيّد إلى موافقة. وفي workspace-write، يستطيع Codex القراءة والتعديل وتشغيل الأوامر في مساحة العمل النشطة، بينما يحتاج الوصول إلى الشبكة والتعديلات خارجها إلى موافقة. أما danger-full-access فيزيل القيود ولا يُوصى به.

وتشمل سياسات الموافقة on-request، وهو الوضع التفاعلي القياسي؛ وnever، الذي يعطّل طلبات الموافقة مع الإبقاء على قيود البيئة المعزولة؛ وgranular، الذي يكون تفاعليًا على نحو انتقائي لفئات محددة من الإجراءات.

الوصول إلى الشبكة في البيئة المعزولة

وفقًا للصفحة نفسها، يكون الاتصال بالشبكة معطّلًا افتراضيًا. ولتفعيله في وضع workspace-write تضبط network_access = true ضمن [sandbox_workspace_write] في ملف الإعدادات، ويمكن لميزة network_proxy الاختيارية أن تقصر حركة البيانات على قوائم سماح مضبوطة بالنطاقات. وعلى macOS، يُطبَّق ذلك بسياسات Seatbelt عبر sandbox-exec؛ وعلى Linux باستخدام bwrap مع seccomp.

config.toml
[sandbox_workspace_write]
network_access = true

يحكم هذا الإعداد الأوامر التي تعمل داخل البيئة المعزولة. وهو قيد مفيد، ومن المفيد بيان ما ليس هو: فهو ليس سجلًا للاتصالات، واتصال الوكيل نفسه بخدمة النموذج مسألة منفصلة. ولا تسرد هذه المقالة نطاقات Codex الخاصة، لأن الصفحات التي رُوجعت هنا لا تقدّم قائمة موثّقة من المورّد.

لماذا يظل عرض الشبكة مفيدًا

إذا فعّلت الوصول إلى الشبكة لتتيح للاختبارات تنزيل الاعتماديات، أو استخدمت danger-full-access، فلن تعود البيئة المعزولة تقيّد الأماكن التي تتصل بها الأوامر. وعندئذ يكون عرض الوجهات التي وصل إليها البرنامج فعلًا هو الفحص المتبقي. ويغطي ذلك أيضًا الحالة التي نسيت فيها أنك غيّرت الإعداد.

مراقبة Codex باستخدام FireAI

FireAI جدار حماية لنظام macOS من صنع HisnLabs، وفيه منذ الإصدار 1.0.2 ميزة تُسمى Agent profile. وهي تتعرّف على 19 وكيلًا للذكاء الاصطناعي، وتتعلّم أين يتصل كل منها عادةً، وتنبّه إلى السلوك غير المعتاد لتراجعه. وCodex وكيل سطر أوامر، فيتعرّف عليه FireAI من اسم برنامجه.

يُطابَق Codex بحسب اسم برنامجه، codex، ما يعني أن FireAI يُوسِم المطابقة ولا يتحقق منها مقابل توقيع المطوّر. ولا يُفحص بتلك الطريقة إلا Claude Code وClaude وCursor.

ويتعرّف FireAI أيضًا على العمليات الفرعية للوكيل، مثل الصدفة (shell) أو git أو curl التي يشغّلها الوكيل، بتتبّع العمليات الأم صعودًا حتى يصل إلى الوكيل. ولذلك تُحتسب تلك الاتصالات اتصالاتٍ للوكيل نفسه.

ما الذي ينبّه إليه FireAI

  1. خلال الأيام الثلاثة الأولى يتعلّم FireAI الوجهات التي يتصل بها الوكيل عادةً، مجمّعةً بحسب النطاق. ولا يُنبَّه إلى شيء خلال فترة التعلّم هذه.
  2. بعد ذلك، تُعلَّم للمراجعة أول وجهة تظهر خارج خط الأساس المُتعلَّم.
  3. وتُعلَّم أيضًا طفرة الرفع: ساعة أرسل فيها الوكيل ما لا يقل عن 4 أضعاف أكثر ساعاته نشاطًا حتى الآن، وما لا يقل عن 25 MB في كل الأحوال.

لا تستخدم ميزة Agent profile إلا البيانات الوصفية، أي أسماء المضيفين وأعداد البايتات. ولا يقرأ FireAI أبدًا حمولة الاتصال، ولا يستطيع قراءة ما بداخل اتصال مشفّر.

إعداده لـ Codex

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

القيود

  • لا يمنع FireAI حقن التعليمات (prompt injection). فالتعليمة المخفية في صفحة ويب أو في ملف يمكنها أن توجّه الوكيل رغم ذلك. وما يستطيعه FireAI هو التنبيه إلى المسار الذي قد تسلكه البيانات خارج جهاز Mac، وإتاحة حظره لك.
  • لا يستطيع FireAI رؤية التعليمات، ولا محتوى أدوات MCP، ولا الملفات التي يقرؤها Codex، مثل ~/.ssh. فبروتوكول TLS يخفي الحمولة، وFireAI ليس داخل الوكيل.
  • قد تفوت العمليات الفرعية التي تنتهي بسرعة كبيرة، ويُطابَق بين العمليات الفرعية بحسب المسار لا بحسب التوقيع.
  • لا يُنبَّه إلى شيء خلال فترة التعلّم البالغة 3 أيام.
  • في وضع Agent profile، يُطابَق الاتصال الموجّه إلى عنوان IP مجرد بلا اسم مضيف بحسب عنوانه. فإذا أجابت خدمة يستخدمها الوكيل عادةً من عنوان جديد، حُظر إلى أن تسمح به.
  • يُكتب الشرح المبسّط الذي يقدّمه FireAI للتنبيه انطلاقًا من وقائع قاسها. ولا يقول أبدًا إن وجهة ما آمنة أو خطرة. فالقرار لك.

أدلة ذات صلة

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

دور FireAI وHisnLabs

يُبقي Codex الشبكة في بيئته المعزولة معطّلة افتراضيًا. ويراقب FireAI بقية الصورة.

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

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

المصادر