Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
owasp-ctf-in-a-box — सेल्फ-होस्टेड OWASP CTF किट: एक बॉक्स, एक मुफ़्त GitHub org, कोई क्लाउड निर्भरता नहीं | Kitploit
उपकरण/GitHubGitHub/owasp/owasp-ctf-in-a-box
कंटेनर सुरक्षाभेद्यता विश्लेषणसुरक्षा वर्चुअलाइजेशनवेब सुरक्षाCTFपेनिट्रेशन टेस्टिंगDevSecOpsलर्निंग और शिक्षालैब और अभ्यास
GitHubowasp/owasp-ctf-in-a-box

owasp-ctf-in-a-box

सेल्फ-होस्टेड OWASP CTF किट: एक बॉक्स, एक मुफ़्त GitHub org, कोई क्लाउड निर्भरता नहीं

114820घं 51मि पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
वेबसाइट

OWASP

OWASP CTF

सुरक्षा-शिक्षण आयोजनों के लिए एक स्व-होस्टेड नियंत्रण तल — एक बॉक्स, एक मुफ़्त GitHub संगठन।
इसे किसी विश्वविद्यालय, हाई स्कूल, OWASP चैप्टर, या मीटअप के लिए चलाएँ।

ci docs license MIT

प्रतियोगी लीडरबोर्ड का वॉकथ्रू: समय-के-साथ-स्कोर ग्राफ़ को स्वीप करके उस क्षण हर टीम के अंक पढ़ना, फिर अग्रणी टीम को उसके सदस्यों और उसके प्रति-लक्ष्य फ़्लैग तक विस्तृत करना, प्रत्येक को पैच्ड या ओपन के रूप में चिह्नित और उसकी OWASP श्रेणी से लिंक किया गया

किट पर काम करना (मनुष्य और एजेंट)

कोड लिखने से पहले AGENTS.md पढ़ें। यह संचालन पुस्तिका है: CI जो ठीक-ठीक कमांड चलाता है, इस रेपो में पहले ही आ चुकी विफलता विधियाँ, और docs/reviewing.md में दिए गए समीक्षा अपरिवर्तनीय नियम। CLAUDE.md उसी फ़ाइल की ओर एक संकेत है।

एक परिवर्तन तब तैयार होता है जब CI हरा हो और नवीनतम कमिट पर हर कार्रवाई-योग्य CodeRabbit थ्रेड हल हो चुका हो (या रिकॉर्ड पर अस्वीकार किया गया हो)। कमिट Conventional Commits का पालन करते हैं और उनमें कोई AI एट्रिब्यूशन नहीं होता।

छोटे, सुस्पष्ट काम को good first issue टैग किया जाता है। नए मॉड्यूल एक इश्यू के रूप में शुरू होते हैं, PR के रूप में नहीं — देखें CONTRIBUTING.md।

यह क्या है

एक नियंत्रण तल, कोई एकल गेम नहीं। यह बॉक्स किसी आयोजन को उसकी साझा रीढ़ देता है — एक GitHub संगठन, टीम पंजीकरण, एक लाइव लीडरबोर्ड, एक आयोजक एडमिन पैनल, और उसे पोषित करने वाली स्कोरिंग पाइपलाइन। मॉड्यूल उस रीढ़ में चैलेंज सामग्री जोड़ते हैं, और कोई भी उपसमुच्चय अकेले या साथ में चल सकता है: पैच-टू-स्कोर Secure Development, एक Quiz बैंक, एक Jeopardy बोर्ड, और बाहरी रूप से होस्ट किए गए AI चैलेंज। मॉड्यूल अनुबंध रीढ़ और सामग्री के बीच की सीमा है, इसलिए यह बॉक्स आगे और मॉड्यूल — फ़ॉरेंसिक्स, API-सुरक्षा, क्लाउड — को उनके आने पर होस्ट करने के लिए बना है।

यह क्यों मौजूद है। Secure Development मॉड्यूल हमले के बजाय रक्षा सिखाता है, और यह सुरक्षित कोडिंग सिखाने का वास्तव में अच्छा तरीका है। अब तक, इसे चलाने का मतलब था Vercel, Upstash, Lambda और DynamoDB खड़ा करना, क्लाउड बिल उठाना, और एक निजी स्कोरिंग इमेज तक पहुँच रखना। बजट वाले किसी सम्मेलन के लिए यह एक उचित माँग है। किसी विश्वविद्यालय के सुरक्षा पाठ्यक्रम, हाई-स्कूल क्लब, OWASP चैप्टर नाइट, या सप्ताहांत कार्यशाला के लिए यह अनुचित माँग है।

यह किट उसे हटा देता है। सब कुछ Docker Compose से एक ऐसी मशीन पर चलता है जो आपके पास पहले से है — एक लैपटॉप, एक अतिरिक्त डेस्कटॉप, एक छोटा VPS — साथ ही फ़ॉर्क के लिए एक मुफ़्त GitHub संगठन। सभी छह लक्ष्यों के रूब्रिक बॉक्स के अंदर ही आते हैं, इसलिए न कोई निजी इमेज माँगनी है और न कोई स्कोरिंग कोड लिखना है। कुछ भी बिल नहीं होता, कुछ भी घर फ़ोन नहीं करता, और जब आयोजन समाप्त होता है तो आप रेपो संग्रहित कर देते हैं और स्टैक बंद कर देते हैं।

यह किसके लिए है: कोई भी जो इस आयोजन को चलाना चाहता है और ऐसा करने के लिए क्लाउड ऑपरेटर नहीं बनना चाहता — पाठ्यक्रम प्रशिक्षक, क्लब आयोजक, OWASP चैप्टर लीड, कार्यशाला सुविधाकर्ता, आंतरिक प्रशिक्षण दिवस चलाने वाली सुरक्षा टीमें।

स्थिति

तैनात और शुरू से अंत तक अभ्यासित; अभी तक किसी वास्तविक समूह के लिए नहीं चलाया गया। पूरा स्कोरिंग पथ किट में ही आता है — स्कोरर का bearer-authed POST /score, फ़ॉर्क के लिए स्व-निहित स्कोरिंग वर्कफ़्लो, पोल ट्रांसपोर्ट — और scripts/smoke.sh उस पूरी पाइपलाइन को मॉक्स के विरुद्ध चलाता है। इसके अलावा, यह किट उसी Compose फ़ाइल से एक होस्टेड बॉक्स पर लगातार चलता है जो यह रेपो भेजता है, GET /health उसकी सेवा करने वाले सटीक रिवीज़न की रिपोर्ट करता है, और उस लाइव इंस्टेंस पर एक शुरू-से-अंत पास वह जगह है जहाँ वास्तविक दोषों का एक समूह पाया और ठीक किया गया — वैसे दोष जो एक मॉक्ड सूट नहीं देख सकता।

जो नहीं हुआ है वह है एक वास्तविक आयोजन: वास्तविक फ़ॉर्क के विरुद्ध वास्तविक PR खोलने वाले प्रतियोगियों का एक समूह, एक साथ, घंटों तक। यही "पाइपलाइन काम करती है" और "पाइपलाइन 40 लोगों पर काम करती है" के बीच का अंतर है। दो चेतावनियाँ दबाई नहीं गई हैं बल्कि खुली हैं: Security Shepherd परिणाम मैचर की एक बताई गई अवशिष्ट सीमा है (असामान्य रूप से कहा गया इनकार अभी भी एक सॉल्व के रूप में पढ़ा जा सकता है — यह एक सही पैच को कम क्रेडिट दे सकता है, कभी मुफ़्त अंक नहीं दे सकता), और एक पूरे समूह का लोड प्रोफ़ाइल अपरीक्षित है। विवरण और वर्तमान स्थिति: Status and upstream dependencies।

यह क्या नहीं है

  • कोई सामान्य CTF प्लेटफ़ॉर्म नहीं। CTFd परिपक्व, युद्ध-परीक्षित है, और उसका एक बड़ा प्लगइन पारिस्थितिकी तंत्र है — यदि आप अधिकतम लचीलेपन के साथ एक पारंपरिक jeopardy या attack-defense आयोजन चाहते हैं, तो CTFd का उपयोग करें। इस किट का Jeopardy मॉड्यूल जानबूझकर CTFd से छोटा है।
  • कोई होस्टेड अभ्यास जिम नहीं। picoCTF आपको शून्य संचालन के साथ पाठ्यक्रम और चैलेंज देता है — यदि आपको अपने स्वयं के आयोजन को अपनी सामग्री और रोस्टर के साथ चलाने की आवश्यकता नहीं है, तो यह बेहतर उत्तर है।
  • कोई हमला प्रशिक्षक नहीं। प्रमुख मॉड्यूल पैच को ग्रेड करता है, एक्सप्लॉइट को नहीं। प्रतियोगी कमज़ोरियाँ ठीक करते हैं और एक पाइपलाइन उस सुधार को सिद्ध करती है।

यह जो करता है जो वे नहीं करते: GitHub पुल रिक्वेस्ट के माध्यम से ग्रेड किया गया पैच-टू-स्कोर रक्षा प्रशिक्षण, एक लीडरबोर्ड पर गेम प्रकारों को मिलाने के लिए एक मॉड्यूल अनुबंध, और एक नियंत्रण तल जो पूरी तरह आपका है — एक बॉक्स, एक मुफ़्त संगठन, कोई क्लाउड बिल नहीं, कोई टेलीमेट्री नहीं।

यह परियोजना OWASP Foundation से संबद्ध या समर्थित नहीं है। छह कमज़ोर लक्ष्यों में से चार OWASP परियोजनाएँ हैं (Juice Shop, WebGoat, Security Shepherd, VulnerableApp); DVWA और VAmPI समुदाय परियोजनाएँ हैं।

क्विकस्टार्ट

इसे दो मिनट में चलते हुए देखें — कोई GitHub संगठन नहीं, कोई OAuth ऐप नहीं, कॉन्फ़िगर करने के लिए कुछ भी नहीं। आपको Compose v2 वाला Docker और 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:~
यह थ्रोअवे लोकल सीक्रेट्स लिखता है, स्कोरर और ऐप इमेज बनाता है, स्टैक को अप करता है, स्कोरर के असली स्कोरिंग API के माध्यम से एक डेमो लीडरबोर्ड सीड करता है, और खोलने के लिए URL प्रिंट करता है। आपको सीडेड टीमों के साथ लीडरबोर्ड और एक स्कोर-ओवर-टाइम ग्राफ दिखना चाहिए; `./scripts/dev-stack score <login> juice-shop 3` लाइव तीन और सॉल्व लैंड करता है। `./scripts/dev-stack down` इसे टियर डाउन करता है।

**गाइडेड विज़ार्ड के साथ एक असली इवेंट चलाएं।** **[`gh`
CLI](https://cli.github.com)** (प्रमाणित) जोड़ें, साथ ही **एक मुफ्त GitHub org** यदि इवेंट Secure Development चलाता है; `./setup/ctf-setup.sh check` पहले टूलिंग को सत्यापित करता है:```sh
./setup/ctf-setup.sh            # guided, prompts for values, resumable

यह हर मान को क्रम से पूछता है — आपका box URL, event org, admin logins, क्या आप Secure Development चलाते हैं, GitHub credentials — .env लिखता है, हर स्वचालित किए जा सकने वाला चरण करता है, GitHub-UI वाले चरणों में आपका मार्गदर्शन करता है, और यदि आप रुकते हैं और वापस आते हैं तो फिर से शुरू करता है। बाकी सब कुछ (event का नाम, कौन से modules चलते हैं, कौन से targets) एक runtime /admin सेटिंग है, इसलिए संपादित करने के लिए कोई config फ़ाइल नहीं है। यह केवल वही पूछता है जो आपको वास्तव में चाहिए: Secure Development के बिना एक event को कोई org, कोई forks, और कोई scorer image की आवश्यकता नहीं होती, और उनके बारे में कभी नहीं पूछा जाता। किसी भी mutating चरण का --dry-run के साथ पूर्वावलोकन करें — यह एक पहले से पूर्ण .env से चरण 4–9 का वर्णन करता है, और (डिज़ाइन से) मना कर देता है जब कोई admin login न हो, या जब Secure Development चालू हो और कोई org न हो। यह wizard ./setup/ctf-setup.sh doctor चलाकर समाप्त होता है — एक per-fork status matrix जिसे आप कभी भी फिर से चला सकते हैं — और फिर एक वैकल्पिक fly.io deploy प्रस्तुत करता है (डिफ़ॉल्ट नहीं), इसलिए उसी event को एक सार्वजनिक hostname पर रखना एक निर्देशित प्रवाह है — hostname, एक पूर्वावलोकित deploy, फिर एक पुष्टि — न कि deploy docs से होकर गुज़रना।

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

विवरण चाहिए? हर अलग subcommand, प्रत्येक UI-only चरण, और दोनों GitHub apps कैसे भिन्न हैं: docs/hosting.md। इसके बजाय किसी cloud में? docs/aws.md (Terraform: ECS Fargate, ElastiCache और एक ALB — apply up / destroy down) या docs/fly.md (एक Fly machine)।

The modules

Secure Development — एक जानबूझकर असुरक्षित app को fork करें, उसमें flaw खोजें, उसे patch करें, एक PR खोलें। fork में एक GitHub Action patch के विरुद्ध target का rubric चलाता है और score leaderboard पर पहुँच जाता है (~30 s बाद poll mode में)। छह targets, 321 challenges; stock 0 स्कोर करता है, एक सही patch अपने points अर्जित करता है — दोनों दिशाओं में gated। इसके लिए GitHub org और scoring pipeline चाहिए।

Quiz — single- और multi-select security प्रश्न, जिन्हें उत्तर देते ही app में grade किया जाता है (multi-select पर all-or-nothing), एक attempt cap और retry cooldown के साथ। /admin से एक-एक करके लिखे जाते हैं या एक JSON bundle के रूप में import और export किए जाते हैं। इसके लिए कोई GitHub, कोई forks, कोई pipeline नहीं चाहिए।

Jeopardy — categories में organizer-authored flags का एक board। Submissions को trim और normalise किया जाता है, casing को क्षमा किया जाता है जब तक कि कोई flag case-sensitive चिह्नित न हो (उसका card ऐसा कहता है), एक submission cooldown और वैकल्पिक paid hints के साथ। quiz की तरह ही /admin + JSON-bundle authoring। इसके लिए भी कोई GitHub नहीं चाहिए।

AI — prompt-injection और guardrail challenges जो box के बाहर host किए जाते हैं। प्रत्येक contestant का challenge page उन्हें external site के लिए एक व्यक्तिगत launch link प्रदान करता है; एक solve leaderboard पर वापस रिपोर्ट करता है, या तो उस site के अपने callback के माध्यम से या app में वापस टाइप किए गए flag के माध्यम से। इसके लिए कोई GitHub, कोई forks, कोई pipeline नहीं चाहिए।

आप जो भी modules enable करते हैं, उनके आसपास platform प्रदान करता है: captains, join codes और /join/<code> links के साथ team self-registration (solo play एक व्यक्ति की team है; कई teammates द्वारा solved एक flag एक बार गिना जाता है); वास्तविक per-solve timestamps से एक CTFd-style score-over-time graph के साथ live leaderboard; allowlisted /admin panel — freeze, scoring और registration windows, hints और costs, team cap, cooldowns, module content, per-contestant support actions, एक activity stream और engagement metrics — सब runtime, कोई rebuild नहीं; और हर admin action पर एक capped audit log।

Contestant breakdownChallenge browser
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
Jeopardy flag boardQuiz
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.

How it works

एक Docker Compose stack: Caddy Next.js app के सामने TLS terminate करता है; app Redis से केवल srh (एक Upstash-compatible REST proxy) के माध्यम से बात करता है — network विभाजित है ताकि internet-facing किसी भी चीज़ का redis:6379 तक कोई route न हो। Quiz, Jeopardy और AI app के अंदर grade करते हैं और points सीधे Redis में जमा करते हैं। Secure Development को box के बाहर grade किया जाता है: contestant का fork एक GitHub Action चलाता है जो target boot करता है, patch के विरुद्ध rubric चलाता है, और PR पर एक machine-readable score comment पोस्ट करता है। sync poller उन comments को खींचता है — शून्य inbound network surface, इसलिए box NAT के पीछे और venue wifi पर काम करता है (यही एकमात्र transport है: push ingest को v0.6 में हटा दिया गया था, देखें #377)। Score एक ही audited writer के माध्यम से प्रवेश करता है: scorer का bearer-authed POST /score, जो validate करता है और monotonically लिखता है — solves को बाद के किसी failing run द्वारा कभी un-solve नहीं किया जाता।

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.

पूरी तस्वीर — components, नौ-चरणीय score data flow, security model — docs/architecture.md में है।

Secure Development: targets and rubrics

इस module की सामग्री असुरक्षित targets और उनके scoring rubrics का एक समूह है। Contestants एक target चुनते हैं, org की copy fork करते हैं, उसे patch करते हैं, और एक PR खोलते हैं। प्रत्येक target के challenges executable node:test suites हैं, जिनकी कीमत difficulty से तय होती है।

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/.

Rubrics scorer/rubric.owasp/ में रहते हैं, जो OWASP-CTF/dc34-owasp-secure-development-ctf से vendored हैं और scorer/rubric.owasp/PROVENANCE.md में दर्ज एकल upstream commit पर pinned हैं। किसी नए commit के विरुद्ध फिर से vendor करें:```sh ./scripts/vendor-rubric.sh --all --ref

root@kitploit:~
एक साथ दो rubric आकार समर्थित हैं, और एक ही rubric निर्देशिका उन्हें मिला सकती है: `<target>.yaml` फ़ाइलें declarative HTTP request/expect probe व्याकरण का उपयोग करती हैं, और `<target>/tests/challenges/` निर्देशिकाएँ `catalogue.<target>.json` द्वारा मूल्यांकित executable tests का उपयोग करती हैं। लेखन मार्गदर्शिका:
[docs/scorer.md](https://github.com/owasp/owasp-ctf-in-a-box/blob/main/docs/scorer.md)।

**Rubric गोपनीयता पर।** ये rubrics सार्वजनिक हैं। लक्ष्य open source हैं और उनके समाधान पहले से ही प्रकाशित हैं, इसलिए kit rubric गोपनीयता को उत्तर जानने के विरुद्ध सुरक्षा के बजाय check-gaming के विरुद्ध सुरक्षा मानती है — एक self-hosted event के लिए एक स्वीकृत समझौता। किसी भी समय अपने स्वयं के निजी rubric से override करें:```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/ gitignored है और ठीक इसी के लिए आरक्षित है।

एक इवेंट चलाना

एक बार स्टैक आपके EVENT_URL पर चालू हो जाने के बाद:

  • प्रतिभागी GitHub से साइन इन करते हैं और एक टीम बनाते हैं या उसमें शामिल होते हैं — स्कोर करने के लिए टीम आवश्यक है, और Play solo एक क्लिक में एक व्यक्ति की टीम बना देता है। फिर वे वे मॉड्यूल खेलते हैं जो आपने सक्षम किए हैं: सुरक्षित विकास के लिए patch-and-PR, quiz और classic के लिए ऐप में उत्तर देना और सबमिट करना, या ai के लिए एक व्यक्तिगत लॉन्च लिंक खोलना।
  • आयोजक /admin को संचालित करते हैं: लीडरबोर्ड फ्रीज़ करें, पंजीकरण खोलें और बंद करें, शेड्यूल सेट करें, quiz प्रश्न, classic चुनौतियाँ और ai चुनौतियाँ लिखें — और जब कोई एक प्रतिभागी अटक जाए, तो पूरे इवेंट को रीसेट करने के बजाय उस एक प्रतिभागी को ठीक करें।
  • पोलर को देखें docker compose logs -f sync के साथ (यह secure-development सक्षम के साथ चलता है)। सारी स्थिति named Docker volumes में रहती है, इसलिए बॉक्स रीबूट होने पर कुछ भी नहीं खोता।
  • जब यह खत्म हो जाए, तो ./setup/ctf-setup.sh teardown टारगेट रेपो को आर्काइव करता है — फिर आप स्वयं GitHub App अनइंस्टॉल करें और org के Actions secrets हटाएँ। secure-development के बिना एक इवेंट में आर्काइव करने के लिए कोई fork नहीं होता।

टीमें, एडमिन पैनल, दिन से पहले किट का सत्यापन, और लोकल dev-stack सब docs/operations.md में शामिल हैं; पूर्वापेक्षाएँ, स्कोर ट्रांसपोर्ट, OAuth सेटअप और इवेंट कॉन्फ़िग docs/hosting.md में।

इसे इस तरह क्यों बनाया गया है

  • स्व-निहित, कोई क्लाउड नहीं। सब कुछ एक बॉक्स पर Docker Compose और एक मुफ़्त GitHub org से चलता है। रूब्रिक किट में शामिल है — अनुरोध करने के लिए कोई निजी इमेज नहीं, लिखने के लिए कोई स्कोरिंग कोड नहीं — और सब कुछ named Docker volumes पर रीबूट के बाद भी बचा रहता है।
  • स्टॉक शून्य स्कोर करता है, एक पैच अपने अंक कमाता है। हर टारगेट गेटेड है: एक टेस्ट जो अनपैच्ड ऐप के खिलाफ पास हो जाए, वह हर प्रतिभागी के लिए एक मुफ़्त अंक होगा, इसलिए बिल्ड उसे शिप करने से इनकार कर देता है।
  • शून्य इनबाउंड नेटवर्क सरफेस। किसी चीज़ को आपके बॉक्स तक पहुँचने की ज़रूरत नहीं है — यह स्कोर कमेंट के लिए GitHub को पोल करता है — इसलिए कैंपस नेटवर्क, लॉकडाउन लैब, या वेन्यू वाईफाई बिना फ़ायरवॉल बदलाव के काम करता है।

पूरा तर्क, विकल्प, और ट्रेड-ऑफ़ docs/decisions.md में क्रमांकित ADRs के रूप में दर्ज हैं।

दस्तावेज़ीकरण

owasp.github.io/owasp-ctf-in-a-box पर रेंडर किया गया।

योगदान और सुरक्षा

योगदान का स्वागत है — CONTRIBUTING.md में dev वातावरण, 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 Foundation का पंजीकृत ट्रेडमार्क है; यह प्रोजेक्ट इससे संबद्ध नहीं है और न ही इसका समर्थन प्राप्त है।
टूल डाउनलोड करें
TargetChallengesPointsNotes
vulnerableapp110187Largest target; scored 8-way parallel
webgoat69137Two-stage build: Maven, then the fork's runtime-only Dockerfile
dvwa55108Needs a MariaDB sibling and a schema init
securityshepherd4079HTTPS, three-container stack, strictly serial
juice-shop38141The only target whose difficulty runs to 6 stars
vampi916Self-contained; the quickest end-to-end proof
Total321668Every event provisions all six; pick a subset in /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 — टीमें, एडमिन पैनल, quiz/classic/ai आयोजक गाइड, सत्यापन, teardown
सिस्टम को समझ रहे होंdocs/architecture.md — डायग्राम, स्कोर डेटा फ़्लो, Redis keys, सुरक्षा मॉडल, टेस्टिंग रणनीति
रूब्रिक लिख रहे होंdocs/scorer.md — serve + judge मोड, दोनों रूब्रिक ग्रामर, लेखन और बिल्डिंग
नया मॉड्यूल बना रहे होंdocs/modules.md — प्लेटफ़ॉर्म/मॉड्यूल कॉन्ट्रैक्ट
"यह ऐसा क्यों है?" पूछ रहे होंdocs/decisions.md — क्रमांकित ADRs