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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
owasp-ctf-in-a-box — مجموعة OWASP CTF ذاتية الاستضافة: صندوق واحد، منظمة GitHub مجانية واحدة، بدون تبعيات سحابية | Kitploit
أدوات/GitHubGitHub/owasp/owasp-ctf-in-a-box
أمن الحاوياتتحليل الثغرات الأمنيةالمحاكاة الافتراضية للأمانأمن الويبCTFاختبار الاختراقDevSecOpsالتعلم والتعليممختبرات وتدريب عملي
GitHubowasp/owasp-ctf-in-a-box

owasp-ctf-in-a-box

مجموعة OWASP CTF ذاتية الاستضافة: صندوق واحد، منظمة GitHub مجانية واحدة، بدون تبعيات سحابية

1148منذ 20س 43دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني

OWASP

OWASP CTF

لوحة تحكم مستضافة ذاتيًا لفعاليات التعلّم الأمني — صندوق واحد، ومنظمة GitHub مجانية واحدة.
شغّلها لجامعة، أو مدرسة ثانوية، أو فرع OWASP، أو لقاء تقني.

ci docs license MIT

جولة توضيحية في لوحة صدارة المتسابقين: تمرير الرسم البياني للنقاط عبر الزمن لقراءة نقاط كل فريق في تلك اللحظة، ثم توسيع الفريق المتصدر لعرض أعضائه وأعلامه لكل هدف، وكل منها مُعلَّم كمُرقَّع أو مفتوح ومربوط بفئة OWASP الخاصة به

العمل على المجموعة (البشر والوكلاء)

اقرأ AGENTS.md قبل أن تكتب أي كود. فهو دليل التشغيل: الأوامر الدقيقة التي يشغّلها CI، وأنماط الفشل التي واجهها هذا المستودع سابقًا، وثوابت المراجعة في docs/reviewing.md. وCLAUDE.md هو مجرد مؤشر إلى الملف نفسه.

يكون التغيير جاهزًا عندما يصبح CI أخضر و تُحلّ كل محادثة CodeRabbit قابلة للتنفيذ على أحدث commit (أو تُرفض بشكل موثّق). تتبع الـ commits نمط Conventional Commits ولا تحمل أي إسناد للذكاء الاصطناعي.

يُوسَم العمل الصغير المحدد جيدًا بـ good first issue. تبدأ الوحدات الجديدة كـ issue، لا كـ PR — راجع CONTRIBUTING.md.

ما هذا

لوحة تحكم، لا لعبة واحدة. يمنح الصندوق الفعالية عمودها الفقري المشترك — منظمة GitHub، وتسجيل الفرق، ولوحة صدارة حية، ولوحة إدارة للمنظّمين، وخط أنابيب التقييم الذي يغذّيها. تُوصِل الوحدات محتوى التحديات إلى ذلك العمود الفقري، ويمكن لأي مجموعة فرعية أن تعمل وحدها أو معًا: التصحيح-للتقييم Secure Development، وبنك Quiz، ولوحة Jeopardy، وتحديات AI المستضافة خارجيًا. عقد الوحدة هو الحد الفاصل بين العمود الفقري والمحتوى، لذا صُمِّم الصندوق لاستضافة وحدات إضافية — التحقيق الجنائي الرقمي، وأمن الـ API، والسحابة — مع ظهورها.

لماذا وُجد. تُعلِّم وحدة Secure Development الدفاع بدلًا من الهجوم، وهي طريقة جيدة حقًا لتعليم البرمجة الآمنة. حتى الآن، كان تشغيلها يعني إعداد Vercel وUpstash وLambda وDynamoDB، وتحمل فاتورة السحابة، والحصول على صورة تقييم خاصة. هذا طلب معقول لمؤتمر له ميزانية. لكنه طلب غير معقول لمقرر أمني جامعي، أو نادٍ مدرسي، أو أمسية فرع OWASP، أو ورشة نهاية أسبوع.

تُزيل هذه المجموعة ذلك. كل شيء يعمل من Docker Compose على جهاز واحد تملكه بالفعل — حاسوب محمول، أو حاسوب مكتبي احتياطي، أو VPS صغير — بالإضافة إلى منظمة GitHub مجانية واحدة للـ forks. تأتي معايير التقييم لجميع الأهداف الستة داخل الصندوق، فلا توجد صورة خاصة لطلبها ولا كود تقييم لكتابته. لا شيء يُفوتَر، ولا شيء يتصل بالخارج، وعندما تنتهي الفعالية تُؤرشف المستودعات وتوقف الـ stack.

لمن هذا: أي شخص يريد تشغيل هذه الفعالية ولا يريد أن يصبح مشغّل سحابة للقيام بذلك — مدربو المقررات، ومنظّمو الأندية، وقادة فروع OWASP، وميسّرو الورش، والفرق الأمنية التي تدير يوم تدريب داخلي.

الحالة

مُنشَرة ومُجرَّبة من البداية إلى النهاية؛ لكن لم تُشغَّل بعد لمجموعة حقيقية. يأتي مسار التقييم الكامل داخل المجموعة — POST /score المُصادَق عليه بـ bearer الخاص بالمُقيِّم، وسير عمل التقييم المستقل للـ forks، ونقل الاستطلاع — ويقود scripts/smoke.sh خط الأنابيب بأكمله مقابل محاكيات. علاوة على ذلك، تعمل المجموعة باستمرار على صندوق مستضاف من ملف Compose نفسه الذي يوفّره هذا المستودع، ويُبلِّغ GET /health عن الإصدار الدقيق الذي يخدمه، وقد كُشِف عن مجموعة من العيوب الحقيقية وأُصلِحت خلال تمريرة من البداية إلى النهاية على تلك النسخة الحية — من النوع الذي لا تستطيع مجموعة اختبارات محاكاة رؤيته.

ما لم يحدث هو فعالية حقيقية: مجموعة من المتسابقين يفتحون PRs حقيقية مقابل forks حقيقية، في وقت واحد، لساعات. تلك هي الفجوة بين "خط الأنابيب يعمل" و"خط الأنابيب يعمل مع 40 شخصًا". هناك تحذيران معلنان لا مدفونان: لمطابق نتائج Security Shepherd حدّ متبقٍ معلن (فقد يُقرأ رفض بصياغة غير معتادة كأنه حل — يمكن أن يمنح نقاطًا أقل لتصحيح صحيح، لكنه لا يمنح نقطة مجانية أبدًا)، كما أن ملف التحميل لمجموعة كاملة غير مُختبَر. التفاصيل والحالة الحالية: الحالة والاعتماديات الخارجية.

ما ليس هذا

  • ليس منصة CTF عامة. CTFd ناضجة، ومُجرَّبة في المعارك، ولديها نظام إضافات كبير — إذا أردت فعالية jeopardy أو هجوم-دفاع تقليدية بأقصى مرونة، استخدم CTFd. وحدة Jeopardy في هذه المجموعة أصغر عمدًا من CTFd.
  • ليس صالة تدريب مستضافة. picoCTF يمنحك منهجًا وتحديات دون أي عمليات — إذا لم تكن بحاجة لتشغيل فعاليتك الخاصة بمحتواك وقائمتك، فهو الجواب الأفضل.
  • ليس مدرب هجوم. الوحدة الرئيسية تُقيِّم التصحيحات، لا الاستغلالات. يُصلِح المتسابقون الثغرات ويُثبِت خط أنابيب أن الإصلاح صحيح.

ما تفعله هذه المجموعة ولا تفعله تلك: تدريب دفاعي بالتصحيح-للتقييم مُقيَّم عبر طلبات السحب على GitHub، وعقد وحدة لخلط أنواع الألعاب على لوحة صدارة واحدة، ولوحة تحكم تملكها من البداية إلى النهاية — صندوق واحد، ومنظمة مجانية واحدة، بلا فاتورة سحابة، بلا قياس عن بُعد.

هذا المشروع غير تابع لمؤسسة OWASP ولا معتمد منها. أربعة من الأهداف الستة القابلة للاستغلال هي مشاريع OWASP (Juice Shop، وWebGoat، وSecurity Shepherd، وVulnerableApp)؛ أما DVWA وVAmPI فهما مشروعان مجتمعيان.

البدء السريع

شاهده يعمل في دقيقتين — بلا منظمة GitHub، بلا تطبيق OAuth، لا شيء لإعداده. تحتاج إلى Docker مع Compose v2 و**openssl**:```sh git clone https://github.com/OWASP/owasp-ctf-in-a-box cd owasp-ctf-in-a-box ./scripts/dev-stack up

root@kitploit:~
يكتب أسرارًا محلية مؤقتة، ويبني صور المُسجِّل والتطبيق، ويُشغِّل
الحزمة، ويُهيِّئ لوحة صدارة تجريبية عبر واجهة برمجة التطبيقات الحقيقية للمُسجِّل،
ويطبع عنوان URL للفتح. يجب أن ترى لوحة الصدارة مع فرق مُهيَّأة
ورسم بياني للنقاط عبر الزمن؛ `./scripts/dev-stack score <login> juice-shop 3`
يُسجِّل ثلاثة حلول إضافية مباشرةً. `./scripts/dev-stack down` يُزيلها.

**شغِّل حدثًا حقيقيًا** باستخدام المعالج الموجَّه. أضف **[`gh`
CLI](https://cli.github.com)** (مُصادَق عليه)، بالإضافة إلى **منظمة GitHub مجانية واحدة**
إذا كان الحدث يشغِّل Secure Development؛ يتحقق `./setup/ctf-setup.sh check` من
الأدوات أولًا:```sh
./setup/ctf-setup.sh            # guided, prompts for values, resumable

يطلب كل قيمة أثناء تقدمه — رابط صندوقك، الجهة المنظِّمة للحدث، تسجيلات دخول المسؤول، ما إذا كنت تشغّل Secure Development، بيانات اعتماد GitHub — يكتب .env، ينفّذ كل خطوة قابلة للأتمتة، يرشدك عبر الخطوات التي تتطلب واجهة GitHub، ويستأنف إذا توقفت وعدت لاحقًا. كل ما عدا ذلك (اسم الحدث، أي الوحدات تعمل، أي الأهداف) هو إعداد وقت التشغيل في /admin، لذا لا يوجد ملف تهيئة لتحريره. لا يسأل إلا عمّا تحتاجه فعلاً: حدث بدون Secure Development لا يحتاج إلى org، ولا forks، ولا صورة scorer، ولا يُسأل عنها أبدًا. عاين أي خطوة معدِّلة باستخدام --dry-run — يروي الخطوات 4–9 من .env مكتمل بالفعل، ويرفض (بحكم التصميم) عندما لا يوجد تسجيل دخول مسؤول، أو عندما يكون Secure Development مفعّلاً بدون org. يُغلق المعالج بتشغيل ./setup/ctf-setup.sh doctor — مصفوفة حالة لكل fork يمكنك إعادة تشغيلها في أي وقت — ثم يعرض نشر fly.io اختياريًا (الافتراضي لا)، لذا فإن وضع الحدث نفسه على اسم مضيف عام هو تدفق موجَّه — اسم المضيف، نشر معاين، ثم تأكيد — بدلاً من رحلة عبر وثائق النشر.

The ctf-setup.sh guided wizard: ASCII banner and step-by-step prompts

تريد التفاصيل؟ كل أمر فرعي منفصل، وكل خطوة تتطلب الواجهة فقط، وكيف يختلف تطبيقا GitHub: docs/hosting.md. في السحابة بدلاً من ذلك؟ docs/aws.md (Terraform: ECS Fargate، وElastiCache وALB — apply للأعلى / destroy للأسفل) أو docs/fly.md (جهاز Fly واحد).

الوحدات

Secure Development — اعمل fork لتطبيق معرَّض للثغرات عن قصد، اعثر على الخلل، رقّعه، وافتح PR. يشغّل GitHub Action في الـ fork معيار التقييم الخاص بالهدف مقابل التصحيح وتصل النتيجة إلى لوحة الصدارة (بعد ~30 ثانية في وضع الاستطلاع). ستة أهداف، 321 تحديًا؛ النتيجة الأساسية 0، والتصحيح الصحيح يكسب نقاطه — محكوم في كلا الاتجاهين. يحتاج إلى org على GitHub وخط أنابيب التقييم.

Quiz — أسئلة أمنية أحادية ومتعددة الاختيار، تُقيَّم في التطبيق لحظة الإجابة عليها (كل شيء أو لا شيء في متعدد الاختيار)، مع حد أقصى للمحاولات وفترة تهدئة لإعادة المحاولة. تُنشأ من /admin واحدة تلو الأخرى أو تُستورد وتُصدَّر كحزمة JSON واحدة. لا يحتاج إلى GitHub، ولا forks، ولا خط أنابيب.

Jeopardy — لوحة من الأعلام التي ينشئها المنظِّم في فئات. تُشذَّب الإجابات وتُوحَّد، ويُتسامح مع حالة الأحرف ما لم يُعلَّم العلم بأنه حساس لحالة الأحرف (بطاقته تقول ذلك)، مع فترة تهدئة للإرسال وتلميحات مدفوعة اختيارية. نفس إنشاء /admin + حزمة JSON كما في quiz. لا يحتاج إلى GitHub أيضًا.

AI — تحديات حقن الأوامر والحواجز الأمنية المستضافة خارج الصندوق. تُنشئ صفحة تحديات كل متسابق رابط إطلاق شخصيًا إلى الموقع الخارجي؛ ويُبلَّغ عن الحل إلى لوحة الصدارة، إما عبر callback الموقع نفسه أو عبر علم يُكتب في التطبيق. لا يحتاج إلى GitHub، ولا forks، ولا خط أنابيب.

حول أي وحدات تفعّلها، توفّر المنصة: التسجيل الذاتي للفرق مع القادة، ورموز الانضمام وروابط /join/<code> (اللعب الفردي فريق من واحد؛ العلم الذي يحله عدة أعضاء يُحتسب مرة واحدة)؛ لوحة الصدارة الحية مع رسم بياني للنقاط عبر الزمن بأسلوب CTFd من الطوابع الزمنية الحقيقية لكل حل؛ لوحة /admin المدرجة في القائمة المسموح بها — التجميد، ونوافذ التقييم والتسجيل، والتلميحات وتكاليفها، والحد الأقصى للفرق، وفترات التهدئة، ومحتوى الوحدات، وإجراءات الدعم لكل متسابق، وتدفق النشاط ومقاييس التفاعل — كلها وقت تشغيل، بلا إعادة بناء؛ وسجل تدقيق محدود السعة على كل إجراء إداري.

تفصيل المتسابقمتصفح التحديات
A contestant's row expanded: per-module totals, then per-target progress with each challenge's patched or open stateThe challenge browser: one card per vulnerable app, expandable to every challenge with its point value and OWASP category, searchable by challenge, app or OWASP code
لوحة أعلام JeopardyQuiz
The Jeopardy board: challenges grouped by category as compact tiles — title, points, and a green check once solved — each opening the challenge's own page with the description and flag formThe quiz: single- and multi-select questions, each showing its point value and remaining attempts, graded on submit

Captured from the contestant app running locally via scripts/dev-stack up with seeded demo players. Targets and fork links are event-config driven; the event name and the rest of its branding are admin-panel settings.

كيف يعمل

حزمة Docker Compose واحدة: يُنهي Caddy بروتوكول TLS أمام تطبيق Next.js؛ يتحدث التطبيق إلى Redis فقط عبر srh (وكيل REST متوافق مع Upstash) — الشبكة مقسّمة بحيث لا يملك أي شيء مواجه للإنترنت مسارًا إلى redis:6379. يُقيَّم Quiz وJeopardy وAI داخل التطبيق وتُودَع النقاط مباشرة في Redis. يُقيَّم Secure Development خارج الصندوق: يشغّل fork المتسابق GitHub Action يُقلع الهدف، ويشغّل معيار التقييم مقابل التصحيح، و ينشر تعليقًا بنتيجة قابلة للقراءة آليًا على PR. يسحب مُستطلِع sync تلك التعليقات — بلا أي سطح شبكي وارد، لذا يعمل الصندوق خلف NAT وعلى واي فاي المكان (هذا هو النقل الوحيد: أُزيل الدفع الوارد في v0.6، انظر #377). تدخل النتيجة عبر كاتب واحد مُدقَّق: POST /score الخاص بالمقيّم والمصادَق عليه بحامل الرمز، والذي يتحقق ويكتب بشكل رتيب — لا يُلغى حل أبدًا بسبب تشغيل فاشل لاحق.

Animated diagram. A contestant answers quiz and Jeopardy challenges in the app, and opens a patch PR against a fork in the event org. The fork's Action runs the rubric and posts a score comment on the PR. Sync pulls that comment about every 30 seconds, needing no inbound network surface: polling is the one score transport, the push branch that once let the Action POST straight to the scorer having been removed in v0.6 per issue 377. The score enters through one audited writer, the scorer's bearer-authed POST /score, which validates and writes monotonically into redis, and the app renders the live leaderboard from it.

الصورة الكاملة — المكوّنات، وتدفق بيانات النتيجة ذو الخطوات التسع، ونموذج الأمان — في docs/architecture.md.

Secure Development: الأهداف ومعايير التقييم

محتوى هذه الوحدة هو مجموعة من الأهداف المعرَّضة للثغرات ومعايير التقييم الخاصة بتقييمها. يختار المتسابقون هدفًا، ويعملون fork لنسخة الـ org، ويرقّعونها، و يفتحون PR. تحديات كل هدف هي مجموعات node:test قابلة للتنفيذ، مسعَّرة حسب الصعوبة.

Counts are maintained by hand and pinned to the vendored rubric by apps/web/src/lib/tests/apps-catalogue.test.ts — re-check them after a vendor-rubric.sh bump. Reference patches that prove a correct fix scores (the positive-direction gate) live separately under patches/.

توجد معايير التقييم في scorer/rubric.owasp/، منسوخة من OWASP-CTF/dc34-owasp-secure-development-ctf ومثبَّتة على الالتزام الواحد في المستودع upstream المسجَّل في scorer/rubric.owasp/PROVENANCE.md. أعد النسخ مقابل التزام أحدث باستخدام:```sh ./scripts/vendor-rubric.sh --all --ref

root@kitploit:~
يُدعم شكلان من معايير التقييم في آنٍ واحد، ويمكن لدليل معايير واحد أن يخلط بينهما: ملفات `<target>.yaml` تستخدم قواعد فحص طلب/توقّع HTTP التصريحية، بينما تستخدم أدلة `<target>/tests/challenges/` اختبارات قابلة للتنفيذ مسعّرة عبر `catalogue.<target>.json`. دليل التأليف:
[docs/scorer.md](https://github.com/owasp/owasp-ctf-in-a-box/blob/main/docs/scorer.md).

**حول سرية معايير التقييم.** هذه المعايير علنية. الأهداف مفتوحة المصدر وحلولها منشورة بالفعل، لذا تعامل المجموعة خصوصية المعايير كحماية ضد التلاعب بالفحوصات بدلاً من الحماية ضد معرفة الإجابات — وهي مقايضة مقبولة لحدث مستضاف ذاتياً. يمكنك تجاوزها بمعاييرك الخاصة في أي وقت:```sh
cp -r /path/to/private-rubric scorer/rubric
docker build -t ghcr.io/<org>/score:latest --build-arg RUBRIC_DIR=rubric scorer/

scorer/rubric/ مُستبعد من git ومخصص لهذا الغرض تحديدًا.

تشغيل فعالية

بمجرد أن تصبح المنظومة جاهزة على EVENT_URL الخاص بك:

  • المتسابقون يسجّلون الدخول عبر GitHub ويشكّلون فريقًا أو ينضمون إلى فريق — الفريق مطلوب للتنقيط، واللعب فرديًا ينشئ فريقًا من شخص واحد بنقرة واحدة. ثم يلعبون الوحدات التي فعّلتها: patch-and-PR للتطوير الآمن، والإجابة والتسليم داخل التطبيق للاختبارات والكلاسيكي، أو فتح رابط إطلاق شخصي للـ ai.
  • المنظّمون يديرون /admin: تجميد لوحة المتصدرين، وفتح وإغلاق التسجيل، وضبط الجدول الزمني، وتأليف أسئلة الاختبارات، والتحديات الكلاسيكية وتحديات ai — وعندما يتعثّر أحد المتسابقين، أصلح ذلك المتسابق وحده بدلًا من إعادة ضبط الفعالية.
  • راقب الـ poller عبر docker compose logs -f sync (يعمل مع تمكين secure-development). كل الحالة تعيش في أحجام Docker المُسمّاة، لذا إعادة تشغيل الجهاز لا تفقد شيئًا.
  • عند انتهاء الفعالية، يقوم ./setup/ctf-setup.sh teardown بأرشفة المستودعات المستهدفة — ثم ألغِ تثبيت GitHub App واحذف أسرار Actions الخاصة بالمنظمة بنفسك. الفعالية بدون secure-development ليس لديها forks لأرشفتها.

الفرق، ولوحة الإدارة، والتحقق من المجموعة قبل اليوم، وبيئة التطوير المحلية كلها مشروحة في docs/operations.md؛ والمتطلبات المسبقة، ونقل النقاط، وإعداد OAuth وإعداد الفعالية في docs/hosting.md.

لماذا بُني بهذه الطريقة

  • مكتفٍ ذاتيًا، بلا سحابة. كل شيء يعمل من Docker Compose على جهاز واحد بالإضافة إلى منظمة GitHub مجانية واحدة. تأتي معايير التقييم ضمن المجموعة — لا صورة خاصة لطلبها، ولا كود تنقيط لكتابته — وكل شيء ينجو من إعادة التشغيل على أحجام Docker المُسمّاة.
  • الكود الأصلي يسجّل صفرًا، والتصحيح يكسب نقاطه. كل هدف مُقيّد: اختبار ينجح ضد التطبيق غير المُصحّح سيكون نقطة مجانية لكل متسابق، لذا يرفض البناء تسليمه.
  • صفر سطح شبكة وارد. لا شيء يحتاج إلى الوصول إلى جهازك — فهو يستعلم من GitHub عن تعليقات النقاط — لذا تعمل شبكة الحرم الجامعي، أو مختبر مقيّد، أو wifi المكان دون تغيير في الجدار الناري.

التبرير الكامل، والبدائل، والمقايضات مسجّلة كـ ADRs مرقّمة في docs/decisions.md.

التوثيق

معروض على owasp.github.io/owasp-ctf-in-a-box.

المساهمة والأمان

المساهمات مرحّب بها — CONTRIBUTING.md يغطي بيئة التطوير، وبوابات CI، وكيفية اقتراح وحدة؛ وCODE_OF_CONDUCT.md ساري.

يجب على الوكلاء اتباع AGENTS.md. الأوامر أدناه تطابق CI؛ وmake help يسرد نفس الأهداف.

كل خدمة تُختبر بشكل مستقل (Node 22 في كل مكان):```sh (cd sync && npm ci && npm test) (cd scorer && npm ci && npm test && node tools/vacuous-sweep.mjs) ./scripts/acceptance-scorer.sh # from the repo root — the script lives in scripts/ (cd apps/web && corepack pnpm install --frozen-lockfile && corepack pnpm lint && corepack pnpm test) ./scripts/smoke.sh # the full poll pipeline, end to end

root@kitploit:~
وجدت ثغرة في المجموعة نفسها؟ **[SECURITY.md](https://github.com/owasp/owasp-ctf-in-a-box/blob/main/SECURITY.md)** — ثغرات الأهداف مقصودة وخارج النطاق.

## الترخيص والحقوق

MIT — انظر [LICENSE](https://github.com/owasp/owasp-ctf-in-a-box/blob/main/LICENSE). محتوى معايير التقييم تحت `scorer/rubric.owasp/`
مُضمَّن من حدث
[OWASP-CTF](https://github.com/OWASP-CTF/dc34-owasp-secure-development-ctf)
الأصلي، مثبَّت على الالتزام المذكور في `scorer/rubric.owasp/PROVENANCE.md` — هذه المجموعة
موجودة لأن ذلك الحدث كان يستحق التكرار أكثر من مرة. الأهداف القابلة للاستغلال غير مُضمَّنة:
بل تُفرِّعها الأحداث من مصادرها الأصلية
([Juice Shop](https://github.com/juice-shop/juice-shop)،
[WebGoat](https://github.com/WebGoat/WebGoat)،
[DVWA](https://github.com/digininja/DVWA)،
[Security Shepherd](https://github.com/OWASP/SecurityShepherd)،
[VulnerableApp](https://github.com/SasanLabs/VulnerableApp)،
[VAmPI](https://github.com/erev0s/VAmPI))، ولكل منها ترخيصه الخاص.
OWASP® علامة تجارية مسجلة لمؤسسة OWASP؛ هذا المشروع غير
تابع لها ولا معتمد منها.
تنزيل الأداة
الهدفالتحدياتالنقاطملاحظات
vulnerableapp110187أكبر هدف؛ يُقيَّم بتوازٍ ثماني الاتجاهات
webgoat69137بناء على مرحلتين: Maven، ثم Dockerfile الخاص بالـ fork للوقت التشغيلي فقط
dvwa55108يحتاج إلى MariaDB مرافق وتهيئة schema
securityshepherd4079HTTPS، حزمة من ثلاث حاويات، تسلسلي بشكل صارم
juice-shop38141الهدف الوحيد الذي تصل صعوبته إلى 6 نجوم
vampi916مكتفٍ ذاتيًا؛ أسرع إثبات من البداية إلى النهاية
الإجمالي321668كل حدث يوفّر الستة جميعًا؛ اختر مجموعة فرعية في /admin → Secure Development → Targets
اقرأ هذا عندما تكون…المستند
تُجهّز المجموعةdocs/hosting.md — المتطلبات المسبقة، والمعالج وكل خطوة منفصلة، وكيف تصل النقاط إلى الجهاز، وتطبيق GitHub OAuth، وإعداد الفعالية
تنشر إلى سحابةdocs/aws.md (Terraform: ECS Fargate + ElastiCache + ALB) · docs/fly.md (جهاز Fly واحد)
على وشك فتح الأبوابdocs/security-checklist.md — جولة ما قبل الفعالية من صفحة واحدة
تدير الفعاليةdocs/operations.md — الفرق، ولوحة الإدارة، وأدلة منظّم الاختبارات/الكلاسيكي/ai، والتحقق، والتفكيك
تفهم النظامdocs/architecture.md — المخطط، وتدفق بيانات النقاط، ومفاتيح Redis، ونموذج الأمان، واستراتيجية الاختبار
تكتب معايير تقييمdocs/scorer.md — وضعا serve + judge، وقواعد معايير التقييم، والتأليف والبناء
تبني وحدة جديدةdocs/modules.md — عقد المنصة/الوحدة
تسأل "لماذا هو هكذا؟"docs/decisions.md — ADRs مرقّمة