تُثبت هذه الورقة أن نهج النماذج اللغوية الكبيرة الوكيل (agentic LLM) يتفوق بشكل كبير على المحلل الساكن التقليدي FlowDroid في اكتشاف تسريبات البيانات في أندرويد، لا سيما في السيناريوهات المعقدة مثل الاتصال بين المكونات، والتدفقات الضمنية، والانعكاس (reflection)، مما يشير إلى أن استدلال النماذج اللغوية الكبيرة يمكن أن يكمل تقنيات تحليل التلوث (taint analysis) الحالية بفعالية.
المؤلفون الأصليون:Nicholas Miazzo, Marco Alecci, Jordan Samhi, Jacques Klein, Eleonora Losiouk
في عالم التطبيقات الرقمية، تدور معركة صامتة ومستمرة ضد سرقة المعلومات الخاصة. ففي كل مرة يصل فيها تطبيق الهاتف الذكي إلى موقع المستخدم، أو جهات اتصاله، أو معرف جهازه الفريد، فإنه يلمس قطعة حساسة من البيانات. وتنشأ الخطورة عندما تنتقل تلك البيانات من مصدرها إلى وجهة غير آمنة، مثل خادم شبكة أو سجل عام، حيث يمكن اعتراضها من قبل جهات خبيثة. ولإيقاف ذلك، يستخدم خبراء الأمن تقنية تسمى "تحليل التلطيخ" (Taint Analysis). تخيل هذه العملية كنظام تتبع رقمي يضع علامة "بقعة" افتراضية على البيانات الحساسة ويتبعها عبر الكود المعقد للتطبيق ليرى ما إذا كانت ستصل في النهاية إلى مخرج خطير. لسنوات طويلة، كانت الطريقة الأكثر موثوقية للقيام بذلك هي أدوات "التحليل الساكن" (Static Analysis)، والتي تشبه خرائط متخصصة للغاية رسمها الخبراء بشق الأنظى لفهم كيفية عمل نظام أندرويد. تسمح هذه الخرائط للأدوات بالتنبؤ بكيفية انتقال البيانات، لكنها هشة؛ فإذا استخدم التطبيق خدعة لا تعرفها الخريطة، يفقد جهاز التتبع الإشارة.
مؤخرًا، ظهر نوع جديد من الذكاء في مجال البرمجيات: النماذج اللغوية الكبيرة. هذه أنظمة حاسوبية قوية مدربة على كميات هائلة من النصوص والأكواد، وهي قادرة على فهم السياق والاستنتاج لحل المشكلات تمامًا كما يفعل القارئ البشري. وقد طرح فريق من الباحثين من جامعة بادوفا وجامعة لوكسمبورغ سؤالًا جريئًا: هل يمكن لهذه الأنظمة الذكية، دون أي تدريب خاص أو خرائط مرسومة مسبقًا لعالم أندرويد، أن تكتشف كيفية انتقال البيانات الحساسة عبر التطبيق من تلقاء نفسها؟ أرادوا معرفة ما إذا كان بإمكان آلة تفهم اللغة أن تقرأ الكود ببساطة، وتتبع الأدلة، وتكتشف التسريبات التي تغفل عنها الأدوات التقليدية. وتشير تحقيقاتهم إلى أن الإجابة هي نعم، وأن هذه الأنظمة الجديدة قد لا تحل محل الأدوات القديمة، بل تعمل جنبًا إلى جنب معها للإمساك بالتهديدات الأكثر مراوغة.
لقد شرع الباحثون في اختبار هذه الفكرة من خلال وضع أداة أمنية قياسية ومعروفة في مواجهة نموذج لغوي كبير حديث. واستخدموا معيارًا يسمى "DroidBench"، وهو مجموعة من 190 حالة اختبار مصممة خصيصًا لتحدي البرمجيات الأمنية عبر سيناريوهات معقدة مثل الكود المخفي، والتحميل الديناميكي، والتواصل المعقد بين أجزاء مختلفة من التطبيق. تعتمد الأداة التقليدية، المعروفة باسم "FlowDroid"، على الخرائط الهندسية الدقيقة المذكورة سابقًا. وعندما أجرى الباحثون الاختبار، تمكنت الأداة التقليدية من العثور على حوالي نصف تسريبات البيانات المعروفة فقط، محققة نتيجة تعكس صراعها مع الحالات الأكثر صعوبة. وفي المقابل، عمل النموذج اللغوي الكبير، وتحديدًا نسخة تسمى "Gemini-1.5 Flash"، كوكيل مستقل. فبدلاً من اتباع مجموعة صارمة من القواعد، مُنح القدرة على استكشاف كود التطبيق خطوة بخطوة، وطرح الأسئلة وتتبع المسارات تمامًا كما يفعل المحلل البشري. سمح هذا النهج للنموذج بالعثور على كل تسريب تقريبًا في مجموعة الاختبار، محققًا معدل نجاح يقارب ضعف الأداة التقليدية.
ظهرت النتائج الأكثر إثارة للدهشة في الفئات التي تفشل فيها الأداة التقليدية عادةً. فعندما تتحرك البيانات عبر الاتصالات الداخلية المعقدة، أو عندما يستخدم التطبيق تقنية "الانعكاس" (Reflection) — وهي تقنية يمكن للكود من خلالها فحص نفسه وتعديله أثناء التشغيل — غالبًا ما لا ترى الأداة التقليدية أي شيء على الإطلاق. ومع ذلك، نجح النموذج اللغوي الكبير في تجاوز هذه العقبات، محددًا التدفقات بدقة عالية. كما أدى أداءً استثنائيًا مع "التدفقات الضمنية" (Implicit Flows)، حيث تتسرب البيانات من خلال آثار جانبية دقيقة بدلاً من عمليات النقل المباشرة، ومع "الكود الأصلي" (Native Code)، الذي يُكتب بلغة مختلفة وغالبًا ما يكون مخفيًا عن التحليل القياسي. ووجد الباحثون أنه بينما كانت الأداة التقليدية حذرة للغاية ونادرًا ما توجه اتهامات خاطئة، إلا أنها أغفلت الكثير من المشكلات الحقيقية. وعلى العكس من ذلك، كان النموذج اللغوي الكبير أفضل بكثير في العثور على التسريبات المخفية، رغم أنه ارتكب أخطاءً أحيانًا عبر رؤية أنماط ليست موجودة بالفعل.
وللتأكد مما إذا كان هذا الصمود مستمرًا في العالم الحقيقي، طبق الفريق نفس المنهج على مجموعة صغيرة من تطبيقات أندرويد الفعلية التي تم تحميلها من متجر جوجل بلاي. وبما أنه لا توجد قائمة مثالية للتسريبات لمقارنتها بالتطبيقات الحقيقية، فقد قام الباحثون بفحص النتائج يدويًا. واكتشفوا أن النموذج اللغوي الكبير وجد 17 تسريبًا محتملاً فاتت الأداة التقليدية تمامًا. وعند الفحص البشري الدقيق، تبين أن 16 منها كانت تسريبات بيانات حقيقية، مما يثبت قدرة النموذج على كشف المخاطر في البرمجيات الحية التي لم تُكتشف من قبل. تضمن أحد الأمثلة المحددة تطبيقًا كانت الطريقة التي بدأت بها عملية تسريب البيانات مخفية خلف "استدعاء انعكاسي" (Reflective Call)، وهي خدعة أوقفت الأداة التقليدية عن بدء بحثها حتى. ومع ذلك، استطاع النموذج اللغوي الكبير الاستنتاج عبر الارتباك وتتبع مسار البيانات. وهذا يشير إلى أن النهج الجديد ليس مجرد تمرين نظري، بل هو أداة عملية قادرة على كشف الثغرات الحقيقية.
لا تدعي الدراسة أن النماذج اللغوية الكبيرة هي بديل مثالي لأدوات الأمن الموجودة. فقد لاحظ الباحثون أن النهج الجديد ليس ضروريًا دائمًا في الحالات البسيطة ويمكن أن يكون مكلفًا حاسوبيًا. علاوة على ذلك، يمكن أن تكون النماذج غير متسقة، حيث تعطي أحيانًا نتائج مختلفة لنفس الكود، ويمكنها أحيانًا "الهلوسة"، أي اختلاق تسريبات لا وجود لها. وللتعامل مع ذلك، قام الفريق بإجراء التحليل عدة مرات ولم يقبلوا إلا النتائج التي ظهرت باستمرار عبر جميع الجولات. والخلاصة النهائية هي أن مستقبل أمن التطبيقات يكمن على الأرجح في نهج هجين. فالأدوات التقليدية، التي تتميز بالسرعة والموثوقية في المشكلات الشائعة، يمكنها التعامل مع الجزء الأكبر من العمل، بينما يمكن نشر النماذج اللغوية الكبيرة بشكل انتقائي لمعالجة السيناريوهات الأكثر تعقيدًا وإرباكًا حيث تفشل الخرائط القياسية. هذا الجمع من شأنه أن يستفيد من سرعة الأساليب الراسخة وقوة الاستنتاج للذكاء الاصطناعي لخلق دفاع أكثر قوة ضد سرقة البيانات.
ملخص تقني: نحو تحليل تدفق البيانات (Taint Analysis) المعزز بالنماذج اللغوية الكبيرة في نظام أندرويد
بيان المشكلة
يعد تحليل تدفق البيانات (Taint Analysis) تقنية بالغة الأهمية للكشف عن تسريبات البيانات الحساسة في تطبيقات أندرويد، وذلك عبر تتبع تدفق البيانات من المصادر ذات الخصوصية العالية (مثل معرفات الجهاز، أو الموقع الجغراي) إلى المصبات غير الآمنة (مثل واجهات الشبكة). وبينما تُستخدم أدوات التحليل الساكن مثل FlowDroid على نطاق واسع لكونها دقيقة وواعية بالسياق، إلا أنها تواجه قيوداً موثقة جيداً. تعتمد هذه الأدوات بشكل كبير على نماذج مصممة يدوياً لإطار عمل أندرويد، والتي غالباً ما تجد صعوبة في التعامل بدقة مع السلوكيات المعقدة مثل التواصل بين المكونات (ICC)، الانعكاس (Reflection)، تحميل الكود الديناميكي، التدفقات الضمنية (Implicit Flows)، والكود الأصلي (Native Code). ونتيجة لذلك، تفشل هذه الأدوات بشكل متكرر في رصد تدفقات البيانات الصالحة (انخفاض الاستدعاء/Recall)، خاصة في السيناريوهات التي يكون فيها نمذجة إطار العمل غير مكتملة أو شديدة التعقيد.
في الوقت نفسه، أظهرت النماذج اللغوية الكبيرة (LLMs) قدرات قوية في التفكير والاستنتاج عبر اللغات الطبيعية ولغات البرمجة، ونجحت في سد الفجوات في مهام هندسة البرمجيات مثل اكتشاف الأخطاء وتحليل الثغرات الأمنية. ومع ذلك، لا يزال من الأسئلة المفتوحة ما إذا كانت النماذج اللغوية الكبيرة الجاهزة (Off-the-shelf)، دون تدريب مخصص للمهمة أو نماذج إطار عمل مصممة يدوياً، قادرة على التفكير بفعالية في تدفقات البيانات في تطبيقات أندرويد.
المنهجية
يقترح المؤلفون نهجاً أولياً يستخدم نموذجاً لغوياً كبيراً يعمل كوكيل (Agentic LLM) للقيام بتحليل تدفق البيانات، مستبدلاً الحاجة إلى نمذجة صريحة لإطار العمل بالاستكشاف التكراري للكود.
النهج الجوهري
التفاعل الوكيل (Agentic Interaction): يعمل النموذج اللغوي كوكيل تحليل يقوم بالتنقل ديناميكياً عبر الكود المفكك (Decompiled Code). وبدلاً من الاعتماد على النماذج الثابتة، يستكشف النموذج الكود بشكل تكراري لوضع فرضيات والتحقق من علاقات المصدر بالمصب (Source-to-Sink).
سلسلة الأدوات (MCP): لتمكين التفاعل مع الكود، يستخدم النظام بروتوكول سياق النموذج (Model Context Protocol - MCP). يسمح هذا المعيار للنموذج باستدعاء أدوات خارجية:
Ghidra-MCP: يُستخدم لتحليل المكتبات الأصلية (ملفات .so) لفحص هياكل البرامج منخفضة المستوى والدوال.
سير العمل:
يتم فك تشفير ملف APK عبر JADX.
تتم معالجة المكتبات الأصلية عبر Ghidra.
يقوم النموذج اللغوي بالاستعلام من هذه الأدوات لتتبع انتشار المعلومات الحساسة عبر المكونات واللغات.
يتم تسلسل التدفقات المحددة في تقرير مهيكل بصيغة JSON.
الحد من عدم الحتمية (Non-Determinism): لمعالجة الهلوسة (Hallucinations) والمخرجات الزائفة للنماذج اللغوية، يتم تحليل كل تطبيق N من المرات باستخدام نفس المطالبة (Prompt). ولا يُعتبر التدفق صالحاً إلا إذا ظهر في ⌊N/2⌋+1 من المرات.
الإعداد التجريبي
النماذج التي تم تقييمها: النموذج المملوك Gemini 3 Flash والنموذج مفتوح المصدر Qwen3.5-27B.
المعايير المرجعية (Benchmarks):
DroidBench (v3.0): 190 حالة اختبار موزعة على 19 فئة (مثل ICC، الانعكاس، دورة الحياة).
تطبيقات من العالم الحقيقي: مجموعة صغيرة مكونة من 5 تطبيقات من AndroZoo (متوفرة على Google Play خلال السنوات الخمس الماضية) للتقييم النوعي.
الخط المرجعي (Baseline): أداة FlowDroid التي تم تشغيلها بإعداداتها الافتراضية (الاستخدام كصندوق أسود) لتعكس سيناريوهات الاستخدام الشائعة.
المساهمات الرئيسية
منظور جديد: استقصاء ما إذا كان بإمكان النماذج اللغوية الكبيرة الجاهزة التفكير في تدفقات بيانات أندرويد دون الحاجة لنماذج إطار عمل صريحة أو تدريب مخصص للمهمة.
نهج مدفوع بالنماذج اللغوية: تصميم يجمع بين الكود المفكك والتفاعل مع الأدوات عبر بروتوكول MCP (JAD-MCP و Ghidra) لإنشاء وكيل تحليل تكراري.
دراسة تجريبية أولية: تقديم أدلة تثبت أن التفكير القائم على النماذج اللغوية يمكن أن يكمل المحللات التقليدية، لا سيما في السيناريوهات الصعبة، مما يحفز بناء توجهات هجينة في المستقبل.
النتائج التجريبية
السؤال البحثي الأول (RQ1): الأداء العام على DroidBench
تفوق النهج القائم على النماذج اللغوية بشكل كبير على FlowDroid من حيث مقياس F1-score.
FlowDroid: سجل F1-score قدره 0.55 (الدقة/Precision: 0.83، الاستدعاء/Recall: 0.42).
Qwen3.5-27B: سجل F1-score قدره 0.88. يعود هذا التحسن بشكل أساسي إلى الزيادة الكبيرة في الاستدعاء (Recall)، مما يشير إلى قدرة النموذج اللغوي على اكتشاف التدفقات التي تغفل عنها FlowDroid.
السؤال البحثي الثاني (RQ2): الأداء عبر الفئات
أظهر نهج النماذج اللغوية تفوقاً ملحوظاً في الفئات التي تعاني فيها الأدوات التقليدية:
التواصل بين المكونات (ICC): 0.95 (النموذج اللغوي) مقابل 0.17 (FlowDroid).
التدفقات الضمنية (Implicit Flows): 0.94 (النموذج اللغوي) مقابل 0.00 (FlowDroid).
الانعكاس (Reflection): 1.00 (النموذج اللغوي) مقابل 0.50 (FlowDroid).
الكود الأصلي (Native Code): 1.00 (النموذج اللغوي) مقابل 0.00 (FlowDroid). وعلى العكس من ذلك، واجه كلا النهجين صعوبة في التحميل الديناميكي (Dynamic Loading) والكود غير القابل للوصول (Unreachable Code)، مما يشير إلى أن النماذج اللغية ليست حلاً سحرياً لجميع تحديات التحليل الساكن.
السؤال البحثي الثالث (RQ3): تطبيقات العالم الحقيقي
في مجموعة من 5 تطبيقات من العالم الحقيقي، حدد نهج النماذج اللغية (Gemini 3 Flash) 17 تدفقاً إضافياً لم تبلغ عنها FlowDroid.
التحقق: قام خبيران بشريان بعملية هندسة عكسية يدوية لهذه التدفقات. وقد تأكد أن 16 من أصل 17 كانت حالات إيجابية حقيقية (تسريبات بيانات فعلية). بينما تم تحديد حالة واحدة كـ "هلوسة" للنموذج اللغوي.
حالة محددة: في إحدى الحالات، تم استرداد دالة المصدر عبر "الانعكاس"، حيث فشلت FlowDroid في حل المصدر أثناء البحث، بينما نجح النموذج اللغوي في التفكير في التدفق عبر الاستكشاف التكراري.
التكامل: فات بعض التدفقات التي اكتشفتها FlowDroid من جانب النموذج اللغوي، مما يؤكد أن النهجين يلتقطان فئات مختلفة جزئياً من تدفقات البيانات.
الأهمية والادعاءات
يصنف هذا البحث عمله كـ دراسة أولية وليس كحل جاهز للإنتاج. تكمن أهميته الأساسية في إثبات ما يلي:
النماذج اللغية يمكنها التفكير بدون نماذج: يمكن للنماذج اللغية الجاهزة تحديد تدفقات بيانات غير بديهية بفعالية دون الحاجة لنماذج إطار عمل أندرويد مصممة يدوياً.
التكامل بدلاً من الاستبدال: النماذج اللغية فعالة بشكل خاص في السيناريوهات المعقدة (ICC، الانعكاس، الكود الأصلي) حيث تفشل النمذجة التقليدية، لكنها قد تكون غير ضرورية أو مكلفة في الحالات القياسية.
إمكانية النهج الهجين: تحفز النتائج بناء خط تحليل هجين حيث تتعامل أدوات التحليل الساكن التقليدية مع الحالات الشائعة بكفاءة، بينما يتم استدعاء النماذج اللغية بشكل انتقائي للسيناريوهات الصعبة لتحسين الاستدعاء والفعالية الإجمالية.
يقر المؤلفون بالقيود، بما في ذلك عدم حتمية النماذج اللغية، والهلوسة، والتكلفة الحسابية العالية لتعدد مرات التشغيل. ويخلصون إلى أنه بينما لا تحل النماذج اللغية محل التحليل الساكن التقليدي، إلا أنها تقدم تقنية تكميلية واعدة لتعزيز تحليل تدفق البيانات في بيئات أندرويد الصعبة. سيركز العمل المستقبلي على تصميم خطوط أنابيب هجينة قوية وتوسيع التقييمات لتشمل مجموعات بيانات أكبر من العالم الحقيقي.