← أحدث الأبحاث
💻 computer science

QLCoder: A Query Synthesizer For Static Analysis of Security Vulnerabilities

إن QLCoder هو إطار عمل وكيل يستفيد من نموذج لغوي كبير معزز بالتغذية الراجعة للتنفيذ، والتكامل مع بروتوكول خادم اللغة (LSP)، والاسترجاع القائم على التوليد المعزز بالاسترداد (RAG) لتخليق استعلامات CodeQL صالحة تلقائياً من بيانات وصف الثغرات الأمنية الشائعة (CVE metadata)، محققاً معدل نجاح بنسبة 53.4% في اكتشاف الثغرات الأمنية عبر مشاريع Java مقارنة بـ 10% مع وكيل قياسي.

المؤلفون الأصليون: Claire Wang, Ziyang Li, Saikat Dutta, Mayur Naik

نُشر 2026-03-20
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Claire Wang, Ziyang Li, Saikat Dutta, Mayur Naik

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل أنك حارس أمن لمكتبة ضخمة وقديمة (الإنترنت). في كل يوم، تصل آلاف الكتب الجديدة، وبعض هذه الكتب تحتوي على فخاخ مخفية—صفحات إذا قُرئت، قد تؤدي إلى اشتعال المكتبة بأكملة. تُسمى هذه الفخاخ "الثغرات الأمنية" (vulnerabilities).

لسنوات، استخدم حراس الأمن قوائم مراجعة خاصة (تُسمى الاستعلامات أو queries) لفحص هذه الكتب واكتشاف الفخاخ قبل أن يتأذى أحد. ولكن المشكلة تكمم: كتابة هذه القوائم أمر صعب للغاية؛ فهو يتطلب معرفة لغة المكتبة السرية، وفهم بنيتها المعقدة، وامتلاك عقلية محقق. معظم الحراس لا يمتلكون هذه القدرة الخارقة، لذا يعتمدون على عدد قليل من قوائم المراجعة الجاهزة التي تفوت الكثير من الفخاخ الجديدة.

إليك QLCoder: "المتدرب الخارق" الجديد الذي يمكنه كتابة هذه القوائم بدلاً منك.

المشكلة: العائق "البشري"

فكر في أدوات الأمن الحالية (مثل CodeQL) كأنها محرك بحث قوي. لإيجاد فخ معين، عليك كتابة استعلام بحث محدد للغاية.

  • التحدي: كتابة هذه الاستعلامات يشبه محاولة كتابة عقد قانوني بلغة لم تتحدثها من قبل. إذا أخطأت في كلمة واحدة، فإن محرك البحث إما سيتعطل، أو سيعطيك قائمة تضم 10,000 كتاب غير ذي صلة (إنذارات كاذبة)، أو والأسوأ من ذلك، قد يغفل عن الكتاب الخطير تماماً.
  • النتيجة: تمتلئ المكتبات بفخاخ غير مكتشفة لأن كتابة "استعلام البحث" الصحيح أصعب من أن يقوم بها البشر بسرعة لكل تهديد جديد.

الحل: QLCoder (المحقق بالذكاء الاصطائي)

QLCoder هو وكيل ذكاء اصطناعي مصمم ليعمل كـ "مُخلق استعلامات" (Query Synthesizer). بدلاً من أن يعاني الإنسان لكتابة قائمة المراجعة، تعطي QLCoder وصفاً بسيطاً للفخ (تقرير CVE، وهو بمثابة تقرير شرطة يقول: "هناك قنبلة في قبو المبنى X").

بعد ذلك، يبدأ QLCoder بالعمل لكتابة استعلام البحث المثالي. لكنه لا يخمن فحسب؛ بل يستخدم حلقة تكرارية ذكية مكونة من ثلاث خطوات:

  1. المسودة: يحاول الذكاء الاصطناعي (LLM) كتابة قائمة المراجعة بناءً على تقرير الشرطة.
  2. تجربة القيادة: يقوم بتشغيل هذه القائمة ضد النسخة "المصابة" من المكتبة (حيث توجد القنبلة) والنسخة "المُصلحة" (حيث تمت إزالة القنبلة).
    • هل وجد القنبلة في النسخة السيئة؟ جيد.
    • هل اعتبر النسخة الآمنة خطيرة بالخطأ؟ سيء.
  3. التصحيح: إذا فشل الاختبار، يحصل الذكاء الاصطناعي على تقرير تقييم. هو لا يخمن مجدداً؛ بل يستخدم أدوات خاصة للبحث في قواعد المكتبة (القواعد النحوية/Syntax) وقوائم المراجعة الناجحة السابقة (الذاكرة) لإصلاح أخطائه.

السر الكامن: صندوق أدوات "MCP"

ما يجعل QLCoder مميزاً هو أنه لا يقدم إجابات "هلوسة" مثل طالب مشوش. لديه صندوق أدوات مخصص (واجهة MCP) يعمل كجهاز GPS وأمين مكتبة في آن واحد:

  • جهاز الـ GPS (خادم اللغة): إذا حاول الذكاء الاصطناعي استخدام كلمة غير موجودة في لغة قائمة المراجعة، سيقول له الـ GPS فوراً: "مهلاً، هذه الكلمة خاطئة. هل تقصد هذه الكلمة؟". هذا يمنع الذكاء الاصطناي من كتابة كلام غير مفهوم.
  • أمين المكتبة (قاعدة بيانات RAG): إذا تعثر الذكاء الاصطناعي، يقوم أمين المكتبة بسحب حالات سابقة مشابهة ووثائق توضيحية. "أوه، أنت تبحث عن فخ XML؟ إليك ثلاث قوائم مراجعة أخرى نجحت مع فخاخ XML مشابهة".

النتائج: تغيير لقواعد اللعبة

اختبر الباحثون QLCoder على 176 فخاً أمنياً حقيقياً تم اكتشافها في برمجيات Java.

  • الطريقة القديمة (بشر أو ذكاء اصطناعي أساسي): تمكنت فقط من كتابة قوائم مراجعة صحيحة لحوالي 10% من الفخاخ.
  • QLCoder: نجح في كتابة قوائم مراجعة عاملة لـ 53.4% من الفخاخ.
  • الأثر: كانت قوائم المراجعة التي كتبها QLCoder دقيقة للغاية لدرجة أنها أمسكت بالأشرار (الثغرات) بينما تجاهلت الأبرياء (الكود الآمن). بالمقارنة، فشلت الأدوات القياسية المستخدمة في الشركات اليوم في اكتشاف معظم الأشياء (سجلت درجات منخفضة جداً في الدقة).

التشبيه: البحث عن إبرة في كومة قش

تخيل أنك بحاجة للعثور على إبرة محددة في كومة قش، لكن الإبرة مصنوعة من الذهب وتبدو تماماً مثل القش.

  • الأدوات القياسية: لديها مغناطيس يلتقط الحديد فقط. ستفقد الإبرة الذهبية تماماً.
  • الذكاء الاصطناعي الأساسي: يحاول التخمين أين توجد الإبرة، لكنه يستمر في التقاط القش ورميه، ويشعر بالإحباط.
  • QLCoder: يشبه المحقق الذي ينظر إلى تقرير الشرطة ("وُجدت الإبرة بالقرب من الحظيرة الحمراء")، ويتحقق من مكتبة القضايا السابقة ("في المرة الماضية، كانت الإبرة بالقرب من الحظيرة الحمراء أيضاً")، ثم يستخدم ماسحاً ضوئياً خاصاً لكشف الذهب (دليل القواعد) لضمان عدم التقاط أي قش مزيف. إنه يجد الإبرة، ويتأكد من أنها حقيقية، ويتجاهل القش.

لماذا يجب أن تهتم؟

في العالم الحقيقي، الثغرات البرمجية تشبه الشقوق في السد. إذا لم نجدها، سينهار السد وتتسرب البيانات. يقوم QLCoder بأتمتة عملية البحث عن هذه الشقوق. إنه يحول مهمة كانت تستغرق من فريق من الخبراء أياماً للقيام بها إلى شيء يمكن للذكاء الاصطناعي فعله في دقائق بدقة عالية.

الأمر لا يتعلق فقط بإيجاد الأخطاء؛ بل يتعلق بزيادة نطاق الأمن. الآن، مقابل كل ثغرة جديدة تُكتشف في العالم، يمكننا فوراً إنشاء أداة للعثور عليها في ملايين المشاريع البرمجية الأخرى، مما يحافظ على سلامة عالمنا الرقمي دون الحاجة لخبير بشري لكتابة الكود لكل واحدة منها.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →