كشف باحثون في مجال الأمن السيبراني عن ثغرات حرجة تسمح بتنفيذ تعليمات برمجية عن بعد، تؤثر على محركات استدلال رئيسية في الذكاء الاصطناعي، بما في ذلك تلك الخاصة بشركات مثل ميتا Nvidia, Microsoft، ومشاريع المصدر المفتوح مثل vLLM وSGLang. تتعلق هذه الثغرات الأمنية في الذكاء الاصطناعي بآلية غير آمنة في معالجة البيانات.
وتعود أساس هذه الثغرات، بحسب تقرير نشره باحث في شركة Oligo Security، إلى الاستخدام غير الآمن وغير المنتبه لوحدات ZeroMQ (ZMQ) ووحدة deserialization في Python المعروفة باسم pickle. هذه الآلية، التي أطلق عليها “ShadowMQ”، سمحت لعدد من المشاريع بانتشار هذه المشكلة بسبب إعادة استخدام التعليمات البرمجية.
ثغرات أمنية في الذكاء الاصطناعي: جذور المشكلة وتأثيراتها
تعود جذور المشكلة إلى ثغرة اكتشفت في إطار عمل ميتا للنماذج اللغوية الكبيرة Llama (CVE-2024-50050، درجة الخطورة 6.3/9.3)، والتي قامت الشركة بتصحيحها في أكتوبر الماضي. تمثلت المشكلة بشكل خاص في استخدام دالة ZeroMQ المسماة recv_pyobj() لإلغاء تسلسل البيانات الواردة باستخدام وحدة pickle في Python.
عندما يتم تعريض منفذ ZeroMQ عبر الشبكة، فإن هذا يسمح للمهاجم بتنفيذ تعليمات برمجية عشوائية عن طريق إرسال بيانات خبيثة لإلغاء تسلسلها. وقد تم بالفعل معالجة هذه المشكلة في مكتبة pyzmq الخاصة بـ Python.
ومع ذلك، اكتشفت Oligo نفس النمط يتكرر في أطر عمل استدلال أخرى، بما في ذلك NVIDIA TensorRT-LLM، وMicrosoft Sarathi-Serve، وModular Max Server، وvLLM، وSGLang. تتميز هذه الأطر جميعها بأنماط متشابهة من إلغاء التسلسل غير الآمن عبر مقابس TCP غير المصادق عليها لـ ZMQ.
انتشار مشكلة ThreaddingMQ عبر المشاريع
كشفت Oligo أن المشكلة في بعض الحالات كانت نتيجة لنسخ ولصق مباشر للتعليمات البرمجية. على سبيل المثال، يشير الملف المعرض للثغرة في SGLang إلى أنه تم تكييفه من vLLM، بينما استعار Modular Max Server نفس المنطق من كل من vLLM وSGLang، مما أدى إلى استمرار نفس الخلل عبر قواعد التعليمات البرمجية المختلفة.
تم تخصيص المعرفات التالية لهذه المشكلات:
- CVE-2025-30165 (درجة الخطورة: 8.0) – vLLM (لم يتم إصلاح المشكلة بالكامل، ولكن تم معالجتها بالتحول إلى المحرك V1 بشكل افتراضي).
- CVE-2025-23254 (درجة الخطورة: 8.8) – NVIDIA TensorRT-LLM (تم الإصلاح في الإصدار 0.18.2).
- CVE-2025-60455 (درجة الخطورة: N/A) – Modular Max Server (تم الإصلاح).
- Sarathi-Serve (لا يزال دون تصحيح).
- SGLang (تم تطبيق إصلاحات غير مكتملة).
نظرًا لأن محركات الاستدلال تعتبر مكونًا حيويًا ضمن البنى التحتية للذكاء الاصطناعي، فإن اختراق ناجح لعقدة واحدة يمكن أن يسمح للمهاجم بتنفيذ تعليمات برمجية عشوائية على المجموعة، وتصعيد الامتيازات، وسرقة النماذج، بل ونشر برامج ضارة مثل برامج تعدين العملات المشفرة لتحقيق مكاسب مالية.
وقال الباحث، “تتقدم المشاريع بسرعة فائقة، ومن الشائع استعارة المكونات المعمارية من المشاريع الأخرى. ولكن عندما تشمل إعادة استخدام التعليمات البرمجية أنماطًا غير آمنة، تنتشر العواقب بسرعة.”
ويأتي هذا الكشف في الوقت الذي وجد فيه تقرير جديد من منصة أمن الذكاء الاصطناعي Knostic أنه من الممكن اختراق المتصفح المدمج الجديد في Cursor عبر تقنيات حقن JavaScript، بالإضافة إلى استغلال إضافة ضارة لتسهيل حقن JavaScript للتحكم في محطة عمل المطور.
يتضمن الهجوم الأول تسجيل خادم بروتوكول سياق النموذج (MCP) محليًا مخادعًا يتجاوز ضوابط Cursor للسماح للمهاجم باستبدال صفحات تسجيل الدخول داخل المتصفح بصفحة وهمية تجمع بيانات الاعتماد وتستخرجها إلى خادم بعيد تحت سيطرته.
وأوضح باحث أمني، “بمجرد قيام المستخدم بتنزيل خادم MCP وتشغيله، باستخدام ملف mcp.json داخل Cursor، فقد قام بحقن تعليمات برمجية في متصفح Cursor أدت بالمستخدم إلى صفحة تسجيل دخول مزيفة، والتي سرقت بيانات اعتماده وأرسلتها إلى خادم بعيد”.
نظرًا لأن محرر المصدر المفتوح المدعوم بالذكاء الاصطناعي هو في الأساس نسخة معدلة من Visual Studio Code، يمكن للمهاجم أيضًا إنشاء إضافة ضارة لحقن JavaScript في بيئة التطوير المتكاملة (IDE) قيد التشغيل لتنفيذ إجراءات عشوائية، بما في ذلك وضع علامة على إضافات Open VSX غير الضارة على أنها “ضارة”.
وأضافت الشركة، “JavaScript التي تعمل داخل مترجم Node.js، سواء تم إدخالها عن طريق إضافة، أو خادم MCP، أو مطالبة أو قاعدة مسمومة، ترث على الفور امتيازات بيئة التطوير المتكاملة: وصول كامل إلى نظام الملفات، والقدرة على تعديل أو استبدال وظائف بيئة التطوير المتكاملة (بما في ذلك الإضافات المثبتة)، والقدرة على الاحتفاظ بالتعليمات البرمجية التي تعيد الارتباط بعد إعادة التشغيل”.
وخلصت الشركة إلى أنه “بمجرد توفر التنفيذ على مستوى المترجم، يمكن للمهاجم تحويل بيئة التطوير المتكاملة إلى منصة لتوزيع البرامج الضارة واستخراج البيانات”.
لمواجهة هذه المخاطر، من الضروري أن يقوم المستخدمون بتعطيل ميزات التشغيل التلقائي في بيئات التطوير الخاصة بهم، والتحقق من صحة الإضافات، وتثبيت خوادم MCP من مطورين ومستودعات موثوقة، والتحقق من البيانات وواجهات برمجة التطبيقات التي تصل إليها الخوادم، واستخدام مفاتيح API بأقل الأذونات المطلوبة، وتدقيق التعليمات البرمجية المصدر لخوادم MCP للتكاملات الحرجة.

