
إطار عمل معياري لتقييم نماذج اللغة الكبيرة (LLMs) والاستراتيجيات الوكيلة في التحديات الأمنية عبر HackTheBox وTryHackMe وPortSwigger Labs وCybench وpicoCTF والمزيد.
تجربة ممتعة لمعرفة إلى أي مدى يمكن لنماذج اللغة الكبيرة (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. يتضمن كل سجل سجلات محادثة كاملة تُظهر تفكير النموذج اللغوي الكبير، والأوامر المنفذة، والمخرجات المستلمة. يمكنك إعادة تشغيل أي سجل في عارض ويب تفاعلي لترى بالضبط كيف تم حل الجهاز خطوة بخطوة.
يستخدم BoxPwnr نماذج اللغة الكبيرة (أو عملاء CLI مثل Claude Code وCodex وGrok وCursor) لحل أهداف CTF / المختبرات بشكل مستقل عبر عملية تكرارية:
--executor docker)single_loop_*):claude_code, codex, grok, cursor-cli, kiro_cli) تشغّل حلقة الوكيل الخاصة بها وتبث النتائج مرة أخرى إلى BoxPwnrاستنسخ المستودع مع الوحدات الفرعية ```bash git clone --recurse-submodules https://github.com/0ca/BoxPwnr cd BoxPwnr
curl -LsSf https://astral.sh/uv/install.sh | sh
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)--keep-target: إبقاء الهدف (جهاز/مختبر) قيد التشغيل بعد الاكتمال (مفيد للمتابعة اليدوية)--analyze-attempt: تحليل المحاولات الفاشلة باستخدام TraceAnalyzer بعد الاكتمال--generate-summary: إنشاء ملخص للحل بعد الاكتمال--generate-progress: إنشاء ملف تسليم التقدم (progress.md) للمحاولات الفاشلة/المتقطعة. يمكن استخدام هذا الملف لاستئناف المحاولة لاحقًا.--resume-from: مسار إلى ملف progress.md من محاولة سابقة. سيتم حقن المحتوى في موجه النظام للمتابعة من حيث توقفت المحاولة السابقة.--generate-report: إنشاء تقرير جديد من دليل تتبع موجود--solver: حلّال LLM المطلوب استخدامه (claude_code, codex, cursor-cli, grok, kiro_cli, external, single_loop_xmltag, single_loop, single_loop_compactation, hacksynth)--model: نموذج الذكاء الاصطناعي المطلوب استخدامه (الافتراضي: openrouter/openai/gpt-oss-120b). تشمل النماذج المدعومة:
claude-sonnet-4-0، ، )يتيح حلّال external لـ BoxPwnr التفويض إلى أي أداة خارجية (Claude Code، Aider، نصوص برمجية مخصصة، إلخ):
--external-timeout: مهلة العملية الفرعية للحلّال الخارجي بالثواني (الافتراضي: 3600)--: الأمر الخارجي الذي سيتم تنفيذه (مثل: -- claude -p "$BOXPWNR_PROMPT")متغيرات البيئة المتاحة للأدوات الخارجية:
BOXPWNR_PROMPT: موجه النظام الكامل مع معلومات الهدفBOXPWNR_TARGET_IP: معلومات اتصال الهدف (IP/اسم المضيف)BOXPWNR_CONTAINER: اسم حاوية Docker (مفيد لسيناريوهات VPN)يدعم BoxPwnr بيئات مختلفة لتنفيذ الأوامر باستخدام --executor:
docker (الافتراضي): ينفّذ الأوامر داخل حاوية Docker معزولة بنظام Kali Linux يقوم BoxPwnr ببنائها وإدارتها تلقائيًا. هذا هو الخيار الموصى به لمعظم المنصات وحالات الاستخدام.ssh: ينفّذ الأوامر على مضيف بعيد عبر SSH. مفيد للإعدادات الشبكية المخصصة أو عند التشغيل على البنية التحتية الخاصة بك. يتطلب --ssh-host (وبشكل اختياري --ssh-username, --ssh-key-path, --ssh-port).platform: يوجّه الأوامر عبر صندوق الهجوم/الطرفية الخاص بالمنصة (WebSocket). هذا مطلوب عند استخدام --platform levelupctf.خيارات ذات صلة:
--keep-container: إبقاء حاوية Docker قيد التشغيل بعد الاكتمال (يُسرّع المحاولات اللاحقة).--architecture: فرض بنية حاوية محددة (amd64 مفيد على Apple Silicon).--image: استخدام صورة Docker مخصصة بدلاً من صورة Kali المدمجة.--ctf-id: معرّف حدث CTF (مطلوب عند استخدام --platform htb_ctf)--ctfd-url: عنوان URL لمثيل CTFd (مطلوب عند استخدام --platform ctfd)--exploitbench-config: اسم إعداد المعيار (الافتراضي: v8)--exploitbench-success-cap: الإمكانية التي تُحتسب كنجاح (الافتراضي: ace)--exploitbench-seed: بذرة الحلقة (الافتراضي: 1)uv run boxpwnr --platform htb --target meow --debug
uv run boxpwnr --platform htb --target meow --debug --keep-container
uv run boxpwnr --platform htb --target meow --architecture amd64
uv run boxpwnr --platform htb --target meow --max-turns 10
uv run boxpwnr --platform htb --target meow --max-cost 1.5
uv run boxpwnr --platform htb --target meow --attempts 5
uv run boxpwnr --platform htb --target meow --model claude-sonnet-4-0
uv run boxpwnr --platform htb --target meow --model claude-haiku-4-5-20251001 --max-cost 0.5
uv run boxpwnr --platform htb --target meow --model gpt-5-mini --max-cost 1.0
uv run boxpwnr --platform htb --target meow --model grok-4 --max-cost 2.0
uv run boxpwnr --platform htb --target meow --model openrouter/openrouter/free --max-cost 0.5
uv run boxpwnr --platform htb --target meow --model openrouter/openai/gpt-oss-120b --max-cost 1.0
uv run boxpwnr --platform htb --target meow --model openrouter/moonshotai/kimi-k2.5 --max-cost 1.0
uv run boxpwnr --platform htb --target meow --model cline/minimax/minimax-m2.5
uv run boxpwnr --platform htb --target meow --model z-ai/glm-5 --max-cost 1.0
uv run boxpwnr --platform htb --target meow --model kilo/z-ai/glm-5
uv run boxpwnr --platform htb --target meow --model kimi/kimi-k2.5 --max-cost 1.0
uv run boxpwnr --platform htb --target meow --model opencode/big-pickle --max-cost 0.5
uv run boxpwnr --platform htb --target meow --solver claude_code --model claude-sonnet-4-0 --max-cost 2.0
uv run boxpwnr --platform htb --target meow --solver codex --model gpt-5.3-codex --max-time 60
uv run boxpwnr --platform cybench --target "[Very Easy] Dynastic" --solver grok --max-time 60
uv run boxpwnr --platform htb --target meow --solver cursor-cli --model composer-2.5 --max-time 60
uv run boxpwnr --platform htb --target meow --solver kiro_cli --max-time 60
uv run boxpwnr --platform htb --target meow --solver hacksynth --model gpt-5 --max-cost 1.0
uv run boxpwnr --platform htb --target meow --solver single_loop_compactation --model gpt-5 --max-turns 100
uv run boxpwnr --platform htb --target meow --solver single_loop_compactation --compaction-threshold 0.70 --preserve-last-turns 15
uv run boxpwnr --platform htb --target meow --model nvidia/moonshotai/kimi-k2.6 --max-cost 1.0 uv run boxpwnr --platform htb --target meow --model nvidia-web/moonshotai/kimi-k2.6 --max-time 60
uv run boxpwnr --generate-report machines/meow/traces/20250129_180409
uv run boxpwnr --platform htb_challenges --target "Flag Command"
uv run boxpwnr --platform htb_ctf --ctf-id 1234 --target "Web Challenge"
uv run boxpwnr --platform ctfd --ctfd-url https://ctf.example.com --target "Crypto 101"
uv run boxpwnr --platform htb --target meow --custom-instructions "Focus on privilege escalation techniques and explain your steps in detail"
uv run boxpwnr --platform htb --target meow --generate-progress --max-turns 20
uv run boxpwnr --platform htb --target meow --resume-from targets/htb/meow/traces/20250127_120000/progress.md --max-turns 30
uv run boxpwnr --platform xbow --target XBEN-060-24 --model gpt-5 --max-turns 30
uv run boxpwnr --platform xbow --list
uv run boxpwnr --platform cybench --target "[Very Easy] Dynastic" --model gpt-5 --max-cost 2.0
uv run boxpwnr --platform cybench --target "benchmark/hackthebox/cyber-apocalypse-2024/crypto/[Very Easy] Dynastic" --model gpt-5 --max-cost 2.0
uv run boxpwnr --platform cybench --list
uv run boxpwnr --platform exploitbench --target sample-stack-bof --solver grok --exploitbench-success-cap ace --max-time 60 uv run boxpwnr --platform exploitbench --list
uv run boxpwnr --platform argus --list uv run boxpwnr --platform argus --target APEX-001 --model gpt-5 --max-cost 1.0
uv run boxpwnr --platform cybergym --list uv run boxpwnr --platform cybergym --target arvo:10013 --model gpt-5 --max-cost 2.0
uv run boxpwnr --platform htb --target meow --solver external -- bash -c 'claude --dangerously-skip-permissions -p "$BOXPWNR_PROMPT"'
uv run boxpwnr --platform htb --target meow --solver external -- bash -c 'codex --yolo "$BOXPWNR_PROMPT"'
uv run boxpwnr --platform htb --target meow --solver external --external-timeout 7200 -- bash -c 'claude --dangerously-skip-permissions -p "$BOXPWNR_PROMPT"'
uv run boxpwnr --platform htb --target meow --solver external --
bash -c 'docker exec -e IS_SANDBOX=1 -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" "$BOXPWNR_CONTAINER" claude --dangerously-skip-permissions -p "$BOXPWNR_PROMPT"'
## لماذا HackTheBox؟
توفر أجهزة HackTheBox بيئة اختبار شاملة ممتازة لتقييم أنظمة الذكاء الاصطناعي لأنها تتطلب:
- قدرات تفكير معقدة
- تفكيرًا إبداعيًا "خارج الصندوق"
- فهمًا لمفاهيم أمنية مختلفة
- القدرة على ربط خطوات متعددة معًا
- مهارات حل المشكلات الديناميكية
## لماذا الآن؟ *(كُتب في 26 يناير 2025)*
مع التطورات الأخيرة في تقنية نماذج اللغة الكبيرة (LLM):
- أصبحت النماذج أكثر تطورًا في قدراتها الاستدلالية
- تنخفض تكلفة تشغيل هذه النماذج (انظر DeepSeek R1 Zero)
- تتحسن قدرتها على فهم الشيفرة البرمجية وتوليدها
- أصبحت أفضل في الحفاظ على السياق وحل المشكلات متعددة الخطوات
أعتقد أنه خلال السنوات القليلة القادمة، ستمتلك نماذج اللغة الكبيرة القدرة على حل معظم أجهزة HTB بشكل مستقل، مما يمثل علامة فارقة في اختبار الأمان وقدرات حل المشكلات باستخدام الذكاء الاصطناعي.
## التطوير
### الاختبار
يدعم BoxPwnr تشغيل مهام GitHub Actions محليًا باستخدام `[act](https://github.com/nektos/act)`، والتي تحاكي بيئة CI الدقيقة قبل الدفع إلى GitHub:```bash
# Install act (macOS)
brew install act
# Run CI workflows locally
make ci-test # Run main test workflow
make ci-integration # Run integration tests (slow - downloads Python each time)
make ci-docker # Run docker build test
make ci-all # Run all workflows
هذا المشروع مخصص لأغراض البحث والتعليم فقط. احرص دائمًا على اتباع شروط الخدمة والإرشادات الأخلاقية لكل منصة عند استخدام هذه الأداة.
| 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 |
--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: تعليمات مخصصة إضافية تُلحق بموجه النظامclaude-opus-4-0claude-haiku-4-5-20251001gpt-5, gpt-5-nano, gpt-5-minideepseek-reasoner, grok-4, gemini-3-flash-previewopenrouter/company/model (مثل: openrouter/openrouter/free، openrouter/openai/gpt-oss-120b، openrouter/x-ai/grok-4-fast، openrouter/moonshotai/kimi-k2.5)nvidia/company/model (مثل: nvidia/moonshotai/kimi-k2.6) عبر integrate.api.nvidia.comnvidia-web/company/model (مثل: nvidia-web/moonshotai/kimi-k2.6)z-ai/model-name (مثل: z-ai/glm-5، z-ai/glm-5.2) لنماذج Zhipu AI GLMkilo/model-name (مثل: kilo/z-ai/glm-5) عبر بوابة Kilokimi/model-name (مثل: kimi/kimi-k2.5، kimi/kimi-k2.7) لاشتراك Kimi Codecline/minimax/minimax-m2.5، cline/moonshotai/kimi-k2.5 (يتطلب cline auth، انظر أدناه)ollama-cloud/model-name (مثل: ollama-cloud/minimax-m3:cloud)ollama:model-name--reasoning-effort: مستوى جهد الاستدلال للنماذج القادرة على الاستدلال (minimal, low, medium, high). يُطبَّق فقط على النماذج التي تدعم الاستدلال مثل gpt-5, o4-mini, grok-4. الافتراضي هو medium للنماذج الاستدلالية.