← أحدث الأبحاث
🤖 machine learning

Learning to Triage Vulnerability Reports from Program Analysis: An Empirical Study in Node.js

تقدم هذه الورقة دراسة تجريبية تُظهر أن نماذج تعلم الآلة، ولا سيما النماذج اللغوية الكبيرة والشبكات العصبية الرسومية المدربة على بيانات تحليل البرامج، يمكنها بفعالية ترتيب تقارير ثغرات Node.js حسب الأولوية لتقليل عبء المراجعة اليدوية بشكل كبير مع الحفاظ على معدل استدعاء عالٍ للثغرات القابلة للاستغلال الحقيقية.

المؤلفون الأصليون: Ronghao Ni, Aidan Z. H. Yang, Min-Chien Hsu, Nuno Sabino, Limin Jia, Ruben Martins, Darion Cassel, Kevin Cheang

نُشر 2026-08-11
📖 5 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Ronghao Ni, Aidan Z. H. Yang, Min-Chien Hsu, Nuno Sabino, Limin Jia, Ruben Martins, Darion Cassel, Kevin Cheang

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

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

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

المساعد الجديد للمحقق

في هذه الدراسة، ركز الباحثون على نوع معين من البرمجيات يسمى Node.js، وهو بمثابة محرك شهير يشغل العديد من المواقع والتطبيقات. لقد بحثوا في نوع معين من الجرائم: "تنفيذ التعليمات البرمجية التعسفي" (ACE) و"حقن الأوامر التعسفي" (ACI). وباللغة البسيطة، هذه هي الطرق التي يمكن للمخترق من خلالها خداع البرنامج لتشغيل أوامره الخبيثة الخاصة، مثل إخبار الكمبيوتر بحذف ملفاته الخاصة أو سرقة كلمات المرور.

بدأ الباحثون بأداة تسمى NodeMedic-FINE. تخيل أن هذه الأداة هي طائرة بدون طيار ذكية للغاية لا تكتفي بالتقاط صورة فحسب، بل تحاول أيضاً محاكاة الجريمة في بيئة افتراضية آمنة (sandbox). إذا نجحت الطائرة في "اختراق" البرنامج في هذه البيئة، فإنها تؤكد أن الثغرة حقيقية. ومع ذلك، فإن الطائرة غير مثالية؛ فهي غالباً ما تتعثر أثناء محاولة محاكاة جرائم معقدة وتستسلم، تاركةً خلفها كومة من التقارير التي تحمل علامة "ربما". كما أنها قد ترتبك أحياناً بسبب أكواد برمجية بريئة تبدو مشبوهة ولكنها ليست كذلك.

لحل هذه المشكلة، بنى الفريق مجموعة بيانات ضخمة تسمى T_riage-JS، تحتوي على 1,883 حزمة من حزم Node.js. ولكل منها، كان هناك خبير بشري (محقق رفيع المستوى) ينظر إلى تقرير الـ "ربما" الخاص بالطائرة ويقرر: "هل هذه جريمة حقيقية، أم مجرد إنذار كاذب؟" وهذا ما خلق مجموعة تدريب ذات معايير ذهبية.

تعليم الذكاء الاصطناعي عملية الفرز (Triage)

قام الباحثون بعد ذلك بتدريب عدة أنواع مختلفة من "محققي الذكاء الاصطناعي" للتعلم من هذه القرارات البشرية. وقد اختبروا ثلاثة توجهات رئيسية:

  1. خبراء الرسوم البيانية (GNNs و ML الكلاسيكية): نظرت هذه النماذج إلى "رسم توضيحي للمصدر" (provenance graph)، وهو يشبه المخطط الانسيابي الذي يوضح بالضبط كيفية انتقال البيانات عبر الكود. لقد تعاملوا مع الكود كخريطة، بحثاً عن أنماط حركة محددة تؤدي عادةً إلى جريمة.
  2. خبراء اللغة (LLMs): هذه هي نفس أنواع الذكاء الاصطناعي التي تكتب القصص أو تدردش معك. تم تغذيتها بقطع الكود الفعلية وطُلب منها قراءتها كما يقرأها البشر، بحثاً عن "قصة" كيفية استغلال المخترق للنظام.
  3. الفريق الهجين: مزيج من خبراء قراءة الخرائط وخبراء قراءة القصص.

النتائج: من يفوز في السباق؟

كانت النتوات واضحة للغاية وفعالة بشكل مدهش.

  • الطريقة القديمة: الطائرة (NodeMedic-FINE) وحدها حققت درجة دقة (تسمى مقياس F1) بلغت 0.676. كانت جيدة، لكنها فاتتها الكثير من الجرائم الحقيقية وأعطت تنبيهات كثيرة لأشياء بريئة.
  • خبراء الرسوم البيانية: النماذج التي نظرت فقط إلى المخططات الانسيابية حققت أداءً أفضل بكثير، حيث وصلت إلى درجة 0.904. لقد كانوا بارعين في رصد الأنماط الهيكلية للجريمة.
  • خبراء اللغة: أدى الذكاء الاصطناعي الذي قرأ الكود كقصة أفضل أداءً. حقق النموذج الأعلى، وهو نسخة معدلة من DS-Distill-Qwen-7B، درجة 0.915.

تشير الورقة البحثية إلى أنه بينما كان "خبراء اللغة" هم الأكثر دقة، فإن "خبراء الرسوم البيانية" (وتحديداً نموذج يسمى XGBoost) كانوا قريبين جداً منهم في الأداء، لكنهم أسرع بكثير وأقل تكلفة في التشغيل.

لماذا هذا مهم: "قاعدة الـ 90%"

الاكتشاف الأكثر إثارة ليس فقط الدرجات العالية؛ بل هو مقدار العمل الذي توفره. سأل الباحثون: "إذا أردنا الإمساك بـ 90% من جميع الجرائم الحقيقية، فكم عدد الصور البريئة التي يتعين علينا التخلص منها؟"

عندما تم ضبط الذكاء الاصطناعي للإمساك بـ 90% من التهديدات الحقيقية، تمكن من استبعاد 75% من الإنذارات الكاذبة من القائمة التي كان على المحللين البشريين فحصها. في العالم الحقيقي، هذا يعني أن الفريق الأمني يمكنه التوقف عن التحديق في جبل من تقارير الـ "ربما" والتركيز بدلاً من ذلك على كومة أصغر وأعلى جودة من التهديدات "المحتملة".

وجدت الدراسة أيضاً أن هذه النماذج الذكية بارعة جداً في رصد الأسباب المحددة التي تجعل الطائرة ترتبك. على سبيل المثال، تعلموا أنه إذا كان الكود يستخدم أمراً معيناً يسمى spawn (والذي يكون عادةً آمناً)، فمن المرجح أنه إنذار كاذب، بينما exec (الذي يعد خطيراً) هو علامة خطر. كما تعلموا التعرف على الحالات التي يتم فيها حظر مدخلات المخترق بواسطة فحص أمان، حتى لو لم تلاحظ الطائرة ذلك.

الخلاصة

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

تشير الدراسة إلى أنه بينما تعد نماذج الذكاء الاصطناعي الأكثر تقدماً (LLMs) هي الأكثر دقة، فإن النماذج الأبسط والأسرع (مثل XGBoost) فعالة جداً أيضاً وقد تكون أفضل للفرق ذات القدرة الحاسوبية المحدودة. في النهاية، تثبت الورقة أن الجمع بين البيانات الخام من الماسحات المؤتمتة وبين الفرز الذكي المتعلم يمكن أن يجعل أمن البرمجيات أكثر قابلية للإدارة، محولاً الجبل الفوضوي من التقارير إلى مسار واضح وقابل للتنفيذ.

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

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

جرّب Digest →