
مخرجات بحثية لوكيل LLM قائم على MCP يحل تحديات CTF بشكل مستقل، بما في ذلك بيانات الاستئصال ونصوص التحليل ومكدس MCP مكوّن من ستة خوادم.
مواد مرجعية لـ "STRIATUM-CTF: A Protocol-Driven Agentic Framework for Autonomous CTF Solving" (IEEE CARS 2026)، Hugglestone، Chacko، Stoller، Schmidt، و Liu، جامعة ولاية فلوريدا.
جائزة أفضل ورقة (المركز الأول)، IEEE CARS 2026. نسخة أولية: arXiv:2603.22577.
يدعم هذا المستودع إعادة إنتاج البروتوكول والتحليل. وهو ليس مجموعة أدوات استغلال جاهزة للاستخدام: وفقًا لبيان الأخلاقيات في الورقة، لا يتم إصدار أي حمولات استغلال أو مجموعات قوالب هجوم. وما يعنيه ذلك على نحو ملموس موضّح تحت النطاق والاستثناءات أدناه.
| الدليل | المحتويات |
|---|---|
data/ | جدول نتائج 180 تشغيلًا (ablation_results.csv + المصدر .xlsx)، ومصفوفة كل تحدٍّ (الجدول III)، وتقدّم الحل في CTF المباشر (الشكل 2)، والأشكال المُصيَّرة، وcodebook.md. |
analysis/ | نصوص برمجية تعيد إنتاج كل إحصائية في الورقة من data/. |
code/ | حزمة MCP ذات الخوادم الستة: خادمان داخليان، ومثبِّت يثبّت الخوادم الثلاثة الخارجية على التزامات الدراسة الخاصة بها، وإعداد المضيف. |
challenges/ | بيان المصدر مع تجزئات التحقق، ونص برمجي لجلب التحديات القابلة لإعادة التوزيع، وبطاقات مواصفات لكل تحدٍّ، ومصدرا التحديين اللذين يجوز لنا إعادة توزيعهما. |
documentation_conditions/ | شروط الاستئصال الأربعة: مجموعة Minimal كاملة، وبيانات الملفات/الأسطر/الرموز لكل شرط (التي تعيد إنتاج الجدول II)، وفهرس قوالب العناوين فقط. |
cd analysis
pip install -r requirements.txt
python3 day1_analysis.py # Tables II & III, Wilson CIs, chi-square, subset analysis, durations
python3 day1_drill.py # provenance drill-down (public vs non-public)
python3 duration_and_gee.py # Kruskal-Wallis (p=0.77) and the GEE model (Wald chi2(3)=3.77, p=0.29)
python3 count_tokens.py # Table II line counts (exact) and token counts
تُعاد جميع الجداول II وIII، وفواصل ويلسون بنسبة 95%، والاختبارات الشاملة، وتحليل المجموعة الفرعية غير المشبعة، ونموذج GEE، وأرقام المدة بشكل مطابق تمامًا من data/. تُعاد أعداد الأسطر في الجدول II بدقة تامة؛ أما أعداد الرموز (tokens) فتعتمد على المُرمِّز (tokenizer) ولم يُسجَّل المُرمِّز الدقيق المستخدم في الورقة (انظر analysis/count_tokens.py وبيانات كل شرط).
هناك سببان مستقلان يحدّان مما يُنشر. لا يُعدّ أيٌّ منهما سهوًا.
الأخلاقيات (الورقة §"الاعتبارات الأخلاقية"): لا حمولات استغلال (exploit payloads) ولا مجموعات قوالب هجوم. لذلك تم حجب ما يلي:
workspaces/ الأصلية (الاستغلالات العاملة، وسكربتات الحلّال، وكتابات الحلول) — إذ تُنشر النتائج لكل تشغيل بدلًا من ذلك في data/ablation_results.csv؛AUTONOMOUS_SOLVER_README.md، TEMPLATE_COVERAGE.md)، وهي قوالب الهجوم التي يسمّيها بيان الأخلاقيات. وقد تم توصيفها — قوائم الملفات، وأعداد الأسطر والرموز، وفهرس بالعناوين فقط في documentation_conditions/ — بحيث يُوثَّق المتغير المستقل في تجربة الاستئصال (ablation)، لكن الحمولات لا تُنشر؛challenges/manifest.csv بدلًا من ذلك).النتيجة المترتبة، بصراحة: بما أن مجموعات القوالب/الأساسي هي المتغيّر المُعالَج في الدراسة ذات 180 تشغيلًا، فإن تلك التجربة غير قابلة للتكرار الكامل من هذا المستودع — إذ يتوفر البروتوكول فقط. بروتوكول الحلّال الكامل متاح للباحثين للاستخدام الدفاعي عند الطلب من المؤلف المراسل.
الترخيص: لا تُنسخ ملفات التحديات الثنائية (binaries) حيث لا نملك حق إعادة توزيعها — فتحديات picoCTF (CMU، جميع الحقوق محفوظة) ودروس angr_ctf (GPL-3.0) تُجلَب من المصدر الأصلي عبر challenges/fetch_challenges.sh؛ ولا تُشحن مكتبات النظام (libc، ld-linux) أبدًا. انظر THIRD_PARTY_LICENSES.md.
انظر CITATION.cff. الورقة: IEEE Cyber Awareness and Research Symposium (CARS) 2026.
كود المؤلفين وتوثيقهم: MIT (LICENSE). تحتفظ المكوّنات الخارجية بتراخيصها الخاصة؛ انظر NOTICE وTHIRD_PARTY_LICENSES.md.