Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
vulnrepro-benchmark — معيار لقياس قدرة نماذج الذكاء الاصطناعي على اكتشاف الثغرات الأمنية في الكود المصدري عبر حالات حقيقية من برامج مكافآت الاختراق، مع تسجيل متوازن لمعدل الاستدعاء (Recall) والإيجابيات الكاذبة. يتضمّن تطبيقات قابلة للاختراق مبنية على Docker ومجموعات تحكم سليمة لتقييم قابل لإعادة الإنتاج. | Kitploit
أدوات/GitHubGitHub/farhadalimohammadi-dir/vulnrepro-benchmark
الاستطلاعالتحليل الثابتتحليل الثغرات الأمنيةتحليل الكوداستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليمأمن الذكاء الاصطناعي

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →

حول

مختبرات وتدريب عملي
GitHubfarhadalimohammadi-dir/vulnrepro-benchmark

vulnrepro-benchmark

عرض المستودع
914منذ 3 أشهرلم تتم المراجعة بعد

معيار لقياس قدرة نماذج الذكاء الاصطناعي على اكتشاف الثغرات الأمنية في الكود المصدري عبر حالات حقيقية من برامج مكافآت الاختراق، مع تسجيل متوازن لمعدل الاستدعاء (Recall) والإيجابيات الكاذبة. يتضمّن تطبيقات قابلة للاختراق مبنية على Docker ومجموعات تحكم سليمة لتقييم قابل لإعادة الإنتاج.

مشاركة

VulnRepro

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

Overview

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

لذلك بنيت هذا حول الجانبين معًا في آن واحد.

الحالات تأتي من تقارير حقيقية لبرامج مكافآت الثغرات. معظمها وجدتها عبر التقارير التي جمعها busf4ctor (Vitor Falcão) على bugbountydaily.com. أخذت كل تقرير وأعدته إلى تطبيق صغير به ثغرة، محاولًا إبقاءه قريبًا قدر الإمكان من التقرير الحقيقي. حيثما ذكر التقرير اسم متغير أو مسارًا أو معاملات طلب، أعدت استخدامها. وحيثما لم يذكر، استخدمت الأقرب الذي ما زال يجعل الثغرة حقيقية.

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

حالة مثيرة للاهتمام أخطأها الذكاء الاصطناعي!

إحدى الحالات التي فاتت هي صفحة إعادة توجيه تحتوي على معامل next. للوهلة الأولى تبدو كحالة XSS شائعة منخفضة الجهد: التطبيق يعكس next في رابط متابعة وتدفق تحديث تلقائي لـ meta-refresh دون التحقق من المخطط (scheme)، لذا يمكن أن يصل javascript:alert(...) إلى الصفحة.

الجزء المثير للاهتمام هو السياق. في فئة الثغرة الأصلية، تقع تلك الصفحة داخل حدود ثقة المتصفح/الإضافة. لذا فإن الأثر ليس مجرد «نافذة تنبيه»؛ بل تصبح إعادة التوجيه جسرًا إلى مسار تنفيذ أكثر موثوقية. على النموذج أن يفهم تدفق المنتج، وليس فقط مطابقة كلمة javascript:.

هذا بالضبط نوع الحالات التي أردتها في المعيار: ثغرة يكون فيها نقطة الغرق (sink) مرئية، لكن الأثر الحقيقي لا يتضح إلا باتباع سلسلة الثقة المحيطة.

الضوابط السليمة (الجزء الذي يهمني أكثر)

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

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

الرقم الرئيسي هو متوسط هاتين القدرتين:

root@kitploit:~
balanced_detection_score = (vulnerable_recall + control_true_negative_rate) / 2

النموذج الذي يشير إلى كل شيء على أنه ثغرة يُعاقَب بواسطة الضوابط. وهذا مقصود.

النتائج حتى الآن

238 مهمة عمياء: 119 حالة ثغرية و119 ضابطًا سليمًا، مخلوطة معًا بمعرّفات مبهمة.

Leaderboard

الاستدعاء ليس ما يميّز هذه النماذج. كلها تجد الكثير من الثغرات. ما يميّزها هو معدل الإيجابيات الكاذبة على الضوابط السليمة. Sonnet 4.6 لديه نفس الاستدعاء الذي لدى Opus 4.8، لكنه يصرخ «ثغرة» في 87% من التطبيقات السليمة، فتنهار درجته المتوازنة. Opus 4.7 يفوز لأنه الوحيد الذي يجمع بين إيجاد الثغرات ومعرفة متى يلتزم الصمت.

ما الذي يُفوَّت

سحبت الحالات التي فوّتتها عدة نماذج متطورة وراجعت كل واحدة في Docker مع استغلالها الخاص:

root@kitploit:~
27 cases missed by at least 2 models
25 cases missed by at least 3 models
18 cases missed by all 4 models

كل الـ27 ما زالت تعمل. هذه ليست حالات معطوبة أو تسميات خاطئة.

ومعظمها لم يكن فشل «النموذج لا يستطيع قراءة الكود». بل كانت فشل الاستدلال المتسلسل، حالات لا يوجد فيها سطر خطير واحد يمكن الإشارة إليه، بل عليك تتبّع الثقة عبر خطوات:

  • حدود ثقة المتصفح والإضافات، DOM Clobbering، XSSI وتخمين MIME
  • تدفق بيانات حقن المطالبة (prompt injection)
  • IDOR مدفون داخل سير عمل ذكاء اصطناعي أو منتج
  • اللبس في ملكية الموارد السحابية
  • SSRF عبر تكامل موثوق
  • أخطاء ثقة المستأجر والرمز المميز (token)
  • ثغرات توقيت ومنطق أعمال بدون نقطة غرق واضحة

ملاحظة مهمة: بالنسبة لحالات حقن المطالبة، استخدمنا موقفًا مثل if/else وليس LLM حقيقيًا خلفها، لذا قد لا يكون ذلك مناسبًا لتقييم النماذج، لكنني قررت إنشاءها ومعرفة ملاحظات النماذج.

هذه هي النتيجة الأكثر إثارة للاهتمام في المشروع كله، وهي موثقة في docs/FINDINGS.md

ماذا يوجد هنا

root@kitploit:~
benchmark_release/public/           vulnerable apps the model sees
benchmark_controls_release/public/  clean controls
docs/                               methodology, dataset card, leaderboard, findings
assets/                             the charts in this README
analysis_false_negatives_20260530/  the hard missed cases, written up

جانب التقييم غير موجود هنا عن قصد: لا حقيقة أرضية، ولا سكربتات استغلال، ولا تصحيحات، ولا بيانات وصفية للمصدر، ولا تعيينات عمياء. تبقى تلك خاصة حتى لا يسرّب المعيار العام إجاباته.

تشغيل حالة واحدة

root@kitploit:~
cd benchmark_release\public\case_000001
docker compose up -d --build
docker compose ps

افتح المنفذ المدرج في docker-compose.yml (عادةً http://localhost:9000)، وأوقف التشغيل بـ docker compose down عند الانتهاء.

تشغيل المعيار

root@kitploit:~
python .\run_anthropic_benchmark.py `
  --run-name opus48_blind_20260529 `
  --run-dir runs\opus48_blind_20260529 `
  --model claude-opus-4-8 `
  --set both --blind --seed 20260529 --limit 238

هناك أيضًا ملف run_openai_benchmark.py مطابق لنماذج OpenAI. مجموعة الأوامر الكاملة والتقييم وسلوك الاستئناف موجودة في docs/REPRODUCIBILITY.md.

بضع أمور تستحق المعرفة

  • Blind (أعمى) يعني أن النموذج لا يحصل على أي تلميحات عن الفئة أو التقرير، ولا يعرف ما إذا كانت الحالة ثغرية أم سليمة.
  • التطبيقات نسخ مصغّرة، وليست أنظمة إنتاج كاملة.
  • بعض الحالات مصنّفة تحت فئتها المصدرية حتى لو كان الأصل الثغري الحقيقي شيئًا آخر. حالة «منتج ذكاء اصطناعي» قد تكون في جوهرها XSS أو IDOR أو SSRF.
  • التقييم يعتمد على حقيقة أرضية خاصة، لذا فإن التقرير الصحيح لكن بصياغة مختلفة قد يظل بحاجة إلى تأكيد بشري.

التوثيق

  • المنهجية
  • بطاقة البيانات
  • لوحة الصدارة
  • النتائج
  • إعادة الإنتاج

ملاحظة مثيرة للاهتمام

أثناء إنشاء التطبيق بالذكاء الاصطناعي، جرّبت واستخدمت بعض النماذج لإنشاء الثغرة ووضعها في المعيار فقط، ولاحظت أن الكود الذي أنشأه Opus 4.7 وSonnet 4.6 احتوى على ثغرات أكثر مما حددته. على سبيل المثال، كان من المفترض أن ينشئ النموذج ثغرة RCE أو XSS، لكن عند الفحص للمعيار، وجدت النماذج ثغرات إضافية مثل IDOR وكسر التحكم في الوصول. في نفس التطبيق ونفس الطلب، أنشأ GPT-5.5 medium التطبيق بالثغرة نفسها فقط، لكن أحيانًا بثغرة أقل أثرًا مثل مشكلة في ترويسة CSP. لذا إذا أردت استخدام هذه النماذج لإنشاء CTF وكنت تقول فقط إن هذا الجزء يجب أن يكون ثغرًا، عليك مراجعة الكود مرتين، خاصة مع نماذج Claude.

شكرًا

أولًا، للباحثين الأصليين الذين نشروا النتائج التي تستند إليها هذه الحالات. وإلى vitorfhc صاحب Bug Bounty Daily الذي أتاح الكثير من التقارير التي بُني عليها هذا. وإلى rez0 وJustin Gardner على النقاشات والمشاركات العامة حول العمل الأمني بمساعدة الذكاء الاصطناعي.

السلامة

هذه تطبيقات ثغرية عن قصد. شغّلها فقط في بيئات Docker محلية معزولة. لا تضعها أبدًا على شبكة عامة.

تنزيل الأداة
النموذجالمتوازناستدعاء الثغراتسلبية حقيقيةإيجابية كاذبة
Claude Opus 4.763.4%77.3%49.6%50.4%
Claude Opus 4.858.0%78.1%37.8%62.2%
GPT-5.5 medium56.7%68.9%44.5%55.5%
Claude Sonnet 4.645.4%78.1%12.6%87.4%