
BoxPwnr v0.4.0
إطار عمل معياري لتقييم نماذج اللغة الكبيرة (LLMs) والاستراتيجيات الوكيلة في التحديات الأمنية عبر HackTheBox وTryHackMe وPortSwigger Labs وCybench وpicoCTF والمزيد.
BoxPwnr
تجربة ممتعة لمعرفة إلى أي مدى يمكن لنماذج اللغة الكبيرة (LLMs) أن تذهب في حل تحديات CTF والمختبرات الأمنية بشكل مستقل. بدأت مع HackTheBox وتغطي الآن العديد من المنصات والحلول الوكيلة.
يوفر BoxPwnr نظامًا جاهزًا للتشغيل (plug and play) يمكن استخدامه لاختبار أداء البنى الوكيلة المختلفة: --solver [claude_code, codex, cursor-cli, grok, kiro_cli, external, single_loop_xmltag, single_loop, single_loop_compactation, hacksynth].
المنصات المدعومة: --platform [htb, htb_ctf, htb_challenges, portswigger, ctfd, local, xbow, hackbench, cybench, cybergym, exploitbench, picoctf, tryhackme, levelupctf, argus]
انظر تطبيقات المنصات للحصول على توثيق مفصل لكل منصة مدعومة.
السجلات والمعايير
جميع سجلات الحل متاحة في سجلات ومعايير BoxPwnr. يتضمن كل سجل سجلات محادثة كاملة تُظهر تفكير النموذج اللغوي الكبير، والأوامر المنفذة، والمخرجات المستلمة. يمكنك إعادة تشغيل أي سجل في عارض ويب تفاعلي لترى بالضبط كيف تم حل الجهاز خطوة بخطوة.
| Platform | Solved | Completion | Traces |
|---|---|---|---|
| HTB Starting Point | 25/25 | 770 | |
| HTB Labs | 268/526 | 783 | |
| HTB Challenges | 324/818 | 732 | |
| PortSwigger Labs | 163/270 | 377 | |
| XBOW | 102/104 | 525 | |
| Cybench | 40/40 | 2165 | |
| CyberGym | 476/1507 | 977 | |
| picoCTF | 502/503 | 1215 | |
| TryHackMe | 213/477 | 905 | |
| HackBench | 11/16 | 27 | |
| ExploitBench | 2/42 | 58 | |
| LevelUpCTF | 50/254 | 146 | |
| Argus | 47/60 | 1026 | |
| BSidesSF CTF 2026 | 43/51 | 76 | |
| Cloud Village CTF 2026 | 12/20 | 30 | |
| Neurogrid CTF: The ultimate AI security showdown | 17/36 | 197 |
كيف يعمل
يستخدم BoxPwnr نماذج اللغة الكبيرة (أو عملاء CLI مثل Claude Code وCodex وGrok وCursor) لحل أهداف CTF / المختبرات بشكل مستقل عبر عملية تكرارية:
- البيئة: افتراضيًا، تُنفَّذ الأوامر داخل حاوية Docker مع Kali Linux (
--executor docker)
- يتم بناء الحاوية تلقائيًا عند أول تشغيل (يستغرق حوالي 10 دقائق)
- يتم إنشاء اتصال VPN تلقائيًا عندما تتطلبه المنصة
- حلقة التنفيذ (الحلول الافتراضية
single_loop_*):
- يتلقى النموذج موجه نظام مفصّلًا يحدد مهمته وقيوده
- يقترح النموذج الأمر التالي بناءً على المخرجات السابقة
- يُنفَّذ الأمر في المنفذ (executor) المحدد
- تُعاد المخرجات إلى النموذج للتحليل
- تتكرر العملية حتى يتم العثور على العلم (أو تحقيق معايير نجاح المنصة)
- الحلول القائمة على CLI (
claude_code,codex,grok,cursor-cli,kiro_cli) تشغّل حلقة الوكيل الخاصة بها وتبث النتائج مرة أخرى إلى BoxPwnr
- أتمتة الأوامر:
- يُطلب من الوكلاء تقديم أوامر مؤتمتة بالكامل دون أي تفاعل يدوي
- يجب أن تتضمن الأوامر مهلات زمنية مناسبة وتتعامل مع تأخيرات الخدمة
- النتائج:
- تُحفظ المحادثة والأوامر كسجلات للتحليل / إعادة التشغيل
- يمكن توليد ملخص عند العثور على العلم
- يتم تتبع إحصائيات الاستخدام (الرموز، التكلفة، الجولات)
الاستخدام
المتطلبات الأساسية
-
استنسخ المستودع مع الوحدات الفرعية ```bash git clone --recurse-submodules https://github.com/0ca/BoxPwnr cd BoxPwnr
Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
Sync dependencies (creates .venv)
uv sync
2. Docker
- يتطلب BoxPwnr تثبيت Docker وتشغيله
- يمكن العثور على تعليمات التثبيت على: [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)
### تشغيل BoxPwnr```bash
uv run boxpwnr --platform htb --target meow [options]
في أول تشغيل، سيُطلب منك أي مفاتيح API مطلوبة. تُحفظ المفاتيح في .env للاستخدام مستقبلًا. أدوات الحل عبر CLI (Claude Code, Codex, Grok, Cursor, Kiro) تستخدم تفويض الاشتراك الخاص بها بدلاً من مفاتيح API (أو بالإضافة إليها).
خيارات سطر الأوامر
الخيارات الأساسية
--platform: المنصة المطلوب استخدامها (htb,htb_ctf,htb_challenges,portswigger,ctfd,local,xbow,hackbench,cybench,cybergym,exploitbench,picoctf,tryhackme,levelupctf,argus)--target: اسم الهدف (مثل:meowلجهاز HTB، و"SQL injection UNION attack" لمختبر PortSwigger، أوXBEN-060-24لمعيار XBOW)--debug: تفعيل التسجيل المفصّل (يعرض أسماء الأدوات وأوصافها)--debug-langchain: تفعيل وضع تصحيح LangChain (يعرض طلبات HTTP كاملة مع مخططات الأدوات، وتتبعات LangChain، وحمولات API الخام - شديد التفصيل)--max-turns: الحد الأقصى لعدد الجولات قبل التوقف (مثل:--max-turns 10)--max-cost: الحد الأقصى للتكلفة بالدولار الأمريكي قبل التوقف (مثل:--max-cost 2.0)--max-time: الحد الأقصى للوقت بالدقائق لكل محاولة (مثل:--max-time 60)--attempts: عدد محاولات حل الهدف (مثل:--attempts 5لمعايير pass@5)--default-execution-timeout: المهلة الافتراضية لتنفيذ الأوامر بالثواني (الافتراضي: 30)--max-execution-timeout: الحد الأقصى لمهلة تنفيذ الأوامر بالثواني (الافتراضي: 300)--custom-instructions: تعليمات مخصصة إضافية تُلحق بموجه النظام
المنصات
--keep-target: إبقاء الهدف (جهاز/مختبر) قيد التشغيل بعد الاكتمال (مفيد للمتابعة اليدوية)