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

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

مراقبة اتصالات Cursor الشبكية على Mac: أمان وكلاء الذكاء الاصطناعي

مراقبة اتصالات Cursor الشبكية على Mac: أمان وكلاء الذكاء الاصطناعي

Cursor محرر شيفرة بالذكاء الاصطناعي تطوّره Anysphere, Inc.. وإلى جانب إكمال الشيفرة، يستطيع وكيله تشغيل أوامر الصدفة في الطرفية، ويُبقي المحرر اتصالات مفتوحة مع الواجهة الخلفية لـ Cursor من أجل الطلبات والتحديثات ومتجر الإضافات. تلخّص هذه المقالة ما يوثّقه Cursor عن أوضاع التشغيل وبيئته المعزولة على macOS والمضيفات التي يستخدمها، ثم تبيّن كيف تراقب اتصالات المحرر باستخدام FireAI.

ما هو Cursor

تصف صفحة الأمان لدى Cursor المنتج بأنه محرر شيفرة مدعوم بالذكاء الاصطناعي، وتنص على أن التطبيق يرسل طلبات إلى نطاقات الواجهة الخلفية لـ Cursor لتقديم وظائف API والتحديثات والمتجر. وتوثّق أيضًا وضع الخصوصية (Privacy Mode) الذي يمنع تدريب النماذج على بياناتك، وهو متاح في الخطط المجانية والمدفوعة. ووضع الخصوصية سياسة بشأن طريقة تعامل Cursor مع البيانات التي يتلقاها. ولا يغيّر المضيفات التي يتصل بها المحرر.

ما يستطيع الوكيل فعله وكيف يُضبط

يذكر توثيق Cursor أن الوكيل ينفّذ أوامر الصدفة في الطرفية، ويُتحكَّم في سلوكه عبر إعدادات Run Mode. وهناك ثلاثة أوضاع:

  • Auto-review يشغّل الاستدعاءات المعروف أنها آمنة، ويعزل أوامر الصدفة حين يستطيع، ويطلب من مصنِّف مراجعة ما عدا ذلك.
  • Allowlist لا يشغّل إلا الإجراءات الموثوقة المعتمدة مسبقًا.
  • Run Everything ينفّذ كل الأوامر من دون طلبات إذن، ويعدّه التوثيق الخيار الأعلى خطورة.

على macOS، يذكر التوثيق أن Cursor يعزل الأوامر باستخدام Seatbelt وsandbox-exec، مقيّدًا الوصول إلى الملفات والاتصال بالشبكة وسلوك العمليات عبر شجرة العمليات الفرعية. ويتطلب ذلك Cursor v2.0 أو أحدث ولا يحتاج إلى ضبط إضافي في عمليات التثبيت على سطح المكتب. وتقتصر الشبكة داخل البيئة المعزولة على النطاقات المدرجة في قائمة سماح sandbox.json حين يُستخدم ذلك الملف وحده، وتُدمج قائمة السماح افتراضيًا مع النطاقات المدمجة في Cursor لمديري الحزم وأدوات التطوير.

البيئة المعزولة من هذا النوع تقيّد الأوامر التي يبدؤها الوكيل. أما المحرر نفسه، الذي يتواصل مع خوادم Cursor، فيعمل خارج هذه الحدود، فتبقى اتصالاته الخاصة مرئية على مستوى الشبكة فقط.

المضيفات التي يوثّقها Cursor

تسرد صفحة إعداد الشبكة لدى Cursor النطاقات التي يستخدمها المحرر. والنطاقات الموثّقة من المورّد هي:

المصدر: توثيق Cursor، إعداد الشبكة. ويذكر Cursor أنه يستخدم البث ثنائي الاتجاه عبر HTTP/2 افتراضيًا، مع بديل احتياطي هو Server-Sent Events عبر HTTP/1.1، وTLS 1.2 أو أعلى لكل الاتصالات.
المضيفالغرض الموثّق
api2.cursor.shمعظم طلبات API
api5.cursor.sh ونطاقات فرعية للوكيل مثل agent.api5.cursor.shطلبات وكيل Cursor
api3.cursor.sh وapi4.cursor.sh وبوابات *.gcpp.cursor.shطلبات Cursor Tab ‏(HTTP/2 فقط)
repo42.cursor.shالبحث في قاعدة الشيفرة (HTTP/2 فقط)
authenticate.cursor.sh, authenticator.cursor.shنقطة نهاية التفويض وعرض الويب لتسجيل الدخول
marketplace.cursorapi.com, cursor-cdn.com, downloads.cursor.comالمتجر والتحديثات

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

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

تحدد أوضاع التشغيل ما يحق للوكيل فعله. لكنها لا تمنحك سجلًا لما اتصل به الجهاز بعد ذلك. فمع اختيار Run Everything مثلًا، لا يوجد أي طلب إذن على الإطلاق، وتصبح الشبكة حينئذ المكان الذي ينبغي النظر فيه. راجع أيضًا المقالتين المرافقتين عن Claude Code وWindsurf، اللتين تتناولان أدوات مماثلة.

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

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

Cursor واحد من الوكلاء الثلاثة الذين يفحصهم FireAI مقابل توقيع شيفرة المطوّر، فالمطابقة أكثر من مجرد اسم.

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

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

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

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

إعداده لـ Cursor

  1. ثبّت FireAI وأكمل الإعداد، ثم واصل استخدام Cursor كعادتك. وتبدأ فترة التعلّم البالغة 3 أيام انطلاقًا مما يراه FireAI.
  2. افتح الاقتراحات وانظر إلى بطاقة AI agents. فهي تسرد الوكلاء الذين تعرّف عليهم FireAI وما تعلّمه عن كل منهم.
  3. حين يصل Cursor إلى وجهة لم يتصل بها قط، يظهر التنبيه في بطاقة 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، ولا الملفات التي يقرؤها Cursor، مثل ~/.ssh. فبروتوكول TLS يخفي الحمولة، وFireAI ليس داخل الوكيل.
  • قد تفوت العمليات الفرعية التي تنتهي بسرعة كبيرة، ويُطابَق بين العمليات الفرعية بحسب المسار لا بحسب التوقيع.
  • لا يُنبَّه إلى شيء خلال فترة التعلّم البالغة 3 أيام.
  • في وضع Agent profile، يُطابَق الاتصال الموجّه إلى عنوان IP مجرد بلا اسم مضيف بحسب عنوانه. فإذا أجابت خدمة يستخدمها الوكيل عادةً من عنوان جديد، حُظر إلى أن تسمح به.
  • يُكتب الشرح المبسّط الذي يقدّمه FireAI للتنبيه انطلاقًا من وقائع قاسها. ولا يقول أبدًا إن وجهة ما آمنة أو خطرة. فالقرار لك.

أدلة ذات صلة

ينطبق النهج نفسه على الوكلاء الآخرين الذين يتعرّف عليهم FireAI: Claude Code، وتطبيق Claude لسطح المكتب، وتطبيق ChatGPT لجهاز Mac، وCodex CLI، و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

يستطيع وكيل Cursor تشغيل الأوامر. ويُظهر FireAI إلى أين يتصل جهاز Mac أثناء عمله.

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

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

المصادر