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

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

أمان وكيل Crush على Mac: مراقبة شبكته باستخدام FireAI

أمان وكيل Crush على Mac: مراقبة شبكته باستخدام FireAI

Crush وكيل برمجة للطرفية من Charm، الشركة التي تقف وراء عائلة معروفة من أدوات سطر الأوامر. يسأل قبل تشغيل أداة، ويمكن توجيهه إلى عدم السؤال، ويوثّق في ملف README أكثر من سلوك شبكي واحد. وهذا يجعله موضوعًا مناسبًا للقراء الذين يبحثون عن «crush ai agent security mac» أو «crush network access» أو «is Crush safe». تجمع هذه المقالة ما ينص عليه ملف README، ثم تشرح كيف يراقب FireAI، وهو جدار حماية يعمل على الجهاز لنظام macOS من صنع HisnLabs، اتصالات برنامج مُجمَّع واحد.

ما هو Crush

تطوّر Charm أداة Crush (باسم charmbracelet على GitHub)، وهي مكتوبة بلغة Go. ويصفها ملف README بأنها برمجيات برمجة وكيلية للطرفية تربط الأدوات والشيفرة وسير العمل بنماذج اللغة. وهي تدعم مزوّدين كثيرين، منهم OpenAI وAnthropic وGemini وOllama وBedrock، ويُحدَّث كتالوج نماذجها من Catwalk، وهي قاعدة بيانات مفتوحة المصدر للمزوّدين. ويمكنها استخدام خوادم MCP عبر stdio وHTTP وSSE، مع OAuth لـ HTTP، وخوادم اللغة (LSPs) لسياق الشيفرة [1].

كيف يعمل Crush على macOS

يسرد ملف README الأوامر brew install charmbracelet/tap/crush وnpm install -g @charmland/crush وgo install github.com/charmbracelet/crush@latest، وملفات تنفيذية جاهزة لنظام macOS. ولأنه برنامج بلغة Go، فالعملية على جهاز Mac ملف تنفيذي أصلي واحد اسمه crush، لا مفسّر يشغّل برنامجًا نصيًا.

ما الذي يمكنه الوصول إليه وكيف يُضبط

افتراضيًا، يطلب Crush الإذن قبل تنفيذ استدعاءات الأدوات. ويتجاوز الخيار --yolo كل الطلبات، ويحذّر ملف README: «Be very, very careful with this feature.» ويمكن أيضًا ضبط الأذونات: إذ يتيح permissions allow تشغيل أدوات مسمّاة من دون طلب إذن، ويخفي permissions deny أدوات عن الوكيل تمامًا. ويشمل الضبط المزوّدين وخوادم LSP وخوادم MCP والأذونات والسمات والمهارات [2].

تحدد هذه الضوابط أي استدعاءات الأدوات تمضي. ولا يصف ملف README قائمة سماح شبكية.

إلى أين يتصل

يوثّق ملف README سلوكين يفتحان اتصالات من دون طلب منك. الأول أن Crush يجمع بيانات وصفية مستعارة الهوية عن الاستخدام، وينص على أن التعليمات والردود لا تُجمع أبدًا؛ ويُعطَّل ذلك بالمتغير CRUSH_DISABLE_METRICS=1 أو باحترام DO_NOT_TRACK. والثاني أنه يجلب كتالوج المزوّدين من Catwalk تلقائيًا، ويمكن إيقاف ذلك بالمتغير CRUSH_DISABLE_PROVIDER_AUTO_UPDATE=1 وتحديثه يدويًا بالأمر crush update-providers [2]. أما الوجهات الأخرى فتتوقف على المزوّد وخوادم MCP التي تضبطها.

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

FireAI جدار حماية لنظام macOS يعمل على جهاز Mac. وتتعرّف ميزته Agent profile على 19 وكيلًا للذكاء الاصطناعي، وتتعلّم أين يتصل كل منها عادةً، وتنبّه إلى الجديد. وتدرج صفحة Agent profile لدى FireAI أداة Crush ضمن وكلاء سطر الأوامر الذين يُتعرَّف عليهم من اسم برنامجهم. وتُنسب إلى Crush الاتصالات الصادرة عن برنامج اسمه crush، وعن عملياته الفرعية مثل الصدفة أو git أو curl.

  • خلال الأيام الثلاثة الأولى يتعلّم FireAI الوجهات التي يتصل بها الوكيل عادةً، مجمّعةً بحسب النطاق، فيصبح api.anthropic.com هو anthropic.com. ولا يُنبَّه إلى شيء خلال هذه الفترة.
  • بعد ذلك، تُعلَّم أول وجهة تظهر خارج خط الأساس للمراجعة في الاقتراحات، وفي بطاقة AI agents، وفي المراجعة السريعة (Quick Review). اسحب يسارًا للحظر، أو يمينًا لاختيار «It’s fine».
  • وتُعلَّم أيضًا طفرة الرفع: ساعة رفع فيها الوكيل ما لا يقل عن 4 أضعاف أكثر ساعاته نشاطًا حتى الآن، وما لا يقل عن 25 MB في كل الأحوال.
  • لا يستخدم FireAI إلا البيانات الوصفية، أي أسماء المضيفين وأعداد البايتات. ولا يقرأ أبدًا حمولة الاتصال.

إعداد FireAI لمراقبة Crush

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

تظل قاعدة السماح التي كتبتها لموقع أو نطاق أو عنوان هي الغالبة، ولا يُحظر DNS ولا شبكتك المحلية أبدًا. أما الوكيل الذي لا يدرجه FireAI، فاكتب قاعدة لبرنامجه يدويًا في قواعد كل تطبيق. ويتطلب وضع Agent profile الإصدار FireAI 1.0.3 أو أحدث، ويتطلب التعرّف على Crush الإصدار 1.0.4.

القيود

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

وكلاء آخرون

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

دور FireAI وHisnLabs

يتعلّم FireAI أين يتصل Crush عادةً على جهاز Mac الخاص بك، وينبّه إلى وجهة تظهر لأول مرة أو إلى طفرة في الرفع، من دون قراءة بياناتك.

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

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

المصادر