Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
owasp-ctf — Selbstgehostete CTF-Kontrollzentrale für Security-Learning-Events: Teamregistrierung, Live-Leaderboard und Patch-to-Score-, Quiz-, Jeopardy- und KI-Challenge-Module auf einer Docker-Compose-Box. | Kitploit
Tools/GitHubGitHub/owasp/owasp-ctf
Container-SicherheitSchwachstellenanalyseSicherheitsvirtualisierungWebsicherheitCTFPenetrationstestsDevSecOpsLernen & BildungLernpfade & KurseLabs & Praxis
GitHubowasp/owasp-ctf

owasp-ctf

1131vor 17h 9mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Selbstgehostete CTF-Kontrollzentrale für Security-Learning-Events: Teamregistrierung, Live-Leaderboard und Patch-to-Score-, Quiz-, Jeopardy- und KI-Challenge-Module auf einer Docker-Compose-Box.

Repository anzeigenWebseite

OWASP

OWASP CTF

Eine selbst gehostete Steuerungsebene für Sicherheits-Lernveranstaltungen — eine Box, eine kostenlose GitHub-Organisation.
Betreibe sie für eine Universität, eine Highschool, ein OWASP-Chapter, ein Meetup.

ci docs license MIT

Walkthrough of the contestant leaderboard: sweeping the score-over-time graph to read every team's points at that instant, then expanding the leading team to its members and its per-target flags, each marked patched or open and linked to its OWASP category

Arbeiten am Kit (Menschen und Agenten)

Lies AGENTS.md, bevor du Code schreibst. Es ist das Betriebshandbuch: die exakten Befehle, die CI ausführt, die Fehlermodi, die dieses Repo bereits getroffen hat, und die Review-Invarianten in docs/reviewing.md. CLAUDE.md ist ein Verweis auf dieselbe Datei.

Eine Änderung ist fertig, wenn CI grün ist und jeder umsetzbare CodeRabbit-Thread zum neuesten Commit aufgelöst (oder aktenkundig abgelehnt) ist. Commits folgen Conventional Commits und tragen keine KI-Zuschreibung.

Kleine, gut spezifizierte Arbeit ist mit good first issue getaggt. Neue Module beginnen als Issue, nicht als PR — siehe CONTRIBUTING.md.

Was das ist

Eine Steuerungsebene, kein einzelnes Spiel. Die Box gibt einer Veranstaltung ihr gemeinsames Rückgrat — eine GitHub-Organisation, Team-Registrierung, ein Live-Leaderboard, ein Admin-Panel für Organisatoren und die Scoring-Pipeline, die es speist. Module stecken Challenge-Inhalte in dieses Rückgrat, und jede Teilmenge kann allein oder zusammen laufen: Patch-to-Score Secure Development, eine Quiz-Bank, ein Jeopardy-Board und extern gehostete AI-Challenges. Der Modulvertrag ist die Grenze zwischen Rückgrat und Inhalt, sodass die Box darauf ausgelegt ist, weitere Module zu beherbergen — Forensik, API-Sicherheit, Cloud — sobald sie eintreffen.

Warum es existiert. Das Secure-Development-Modul lehrt Verteidigung statt Angriff, und es ist eine wirklich gute Art, sicheres Programmieren zu lehren. Bisher bedeutete es, Vercel, Upstash, Lambda und DynamoDB aufzusetzen, die Cloud-Rechnung zu tragen und Zugriff auf ein privates Scoring-Image zu haben. Das ist eine zumutbare Anforderung für eine Konferenz mit Budget. Es ist eine unzumutbare Anforderung für einen Universitäts-Sicherheitskurs, einen Highschool-Club, einen OWASP-Chapter- Abend oder einen Wochenend-Workshop.

Dieses Kit beseitigt das. Alles läuft über Docker Compose auf einer Maschine, die du bereits hast — ein Laptop, ein Ersatz-Desktop, ein kleiner VPS — plus einer kostenlosen GitHub-Organisation für die Forks. Die Rubriken für alle sechs Ziele werden im Kit mitgeliefert, sodass es kein privates Image anzufordern und keinen Scoring-Code zu schreiben gibt. Nichts wird abgerechnet, nichts telefoniert nach Hause, und wenn die Veranstaltung endet, archivierst du die Repos und stoppst den Stack.

Für wen es ist: alle, die diese Veranstaltung durchführen wollen und dafür nicht zum Cloud-Betreiber werden möchten — Kursleitende, Club-Organisatoren, OWASP-Chapter-Leads, Workshop-Moderatoren, Sicherheitsteams, die einen internen Trainingstag veranstalten.

Status

Bereitgestellt und Ende-zu-Ende erprobt; noch nicht für eine echte Kohorte durchgeführt. Der vollständige Scoring-Pfad wird im Kit mitgeliefert — der bearer-authentifizierte POST /score des Scorers, der eigenständige Scoring-Workflow für die Forks, der Poll-Transport — und scripts/smoke.sh treibt diese gesamte Pipeline gegen Mocks an. Darüber hinaus läuft das Kit kontinuierlich auf einer gehosteten Box aus derselben Compose-Datei, die dieses Repo mitliefert, GET /health meldet die exakte Revision, die es bedient, und ein Ende-zu-Ende-Durchlauf über diese Live-Instanz ist der Ort, an dem eine Reihe echter Defekte gefunden und behoben wurde — von der Art, die eine gemockte Testsuite nicht sehen kann.

Was nicht passiert ist, ist eine echte Veranstaltung: eine Kohorte von Teilnehmenden, die gleichzeitig über Stunden echte PRs gegen echte Forks öffnen. Das ist die Lücke zwischen „die Pipeline funktioniert" und „die Pipeline funktioniert bei 40 Personen". Zwei Einschränkungen sind offen statt vergraben: Der Security-Shepherd-Ergebnisabgleich hat eine angegebene Restgrenze (eine ungewöhnlich formulierte Ablehnung kann immer noch als Lösung gelesen werden — sie kann einen korrekten Patch unterbewerten, aber niemals einen Gratispunkt vergeben), und das Lastprofil einer vollen Kohorte ist ungetestet. Details und aktueller Stand: Status und vorgelagerte Abhängigkeiten.

Was es nicht ist

  • Keine allgemeine CTF-Plattform. CTFd ist ausgereift, kampferprobt und hat ein großes Plugin-Ökosystem — wenn du eine konventionelle Jeopardy- oder Attack-Defense-Veranstaltung mit maximaler Flexibilität willst, nutze CTFd. Das Jeopardy-Modul dieses Kits ist bewusst kleiner als CTFd.
  • Kein gehosteter Übungsplatz. picoCTF gibt dir Lehrplan und Challenges ohne Betriebsaufwand — wenn du nicht deine eigene Veranstaltung mit deinen eigenen Inhalten und deinem eigenen Teilnehmerfeld durchführen musst, ist es die bessere Antwort.
  • Kein Angriffstrainer. Das Flaggschiff-Modul bewertet Patches, nicht Exploits. Teilnehmende beheben Schwachstellen, und eine Pipeline beweist die Behebung.

Was es tut, was diese nicht tun: Patch-to-Score-Verteidigungstraining, bewertet über GitHub-Pull-Requests, ein Modulvertrag zum Mischen von Spieltypen auf einem Leaderboard und eine Steuerungsebene, die dir vollständig gehört — eine Box, eine kostenlose Organisation, keine Cloud-Rechnung, keine Telemetrie.

Dieses Projekt ist nicht mit der OWASP Foundation verbunden und wird von ihr nicht unterstützt. Vier der sechs verwundbaren Ziele sind OWASP-Projekte (Juice Shop, WebGoat, Security Shepherd, VulnerableApp); DVWA und VAmPI sind Community-Projekte.

Schnellstart

Sieh es in zwei Minuten laufen — keine GitHub-Organisation, keine OAuth-App, nichts zu konfigurieren. Du brauchst Docker mit Compose v2 und openssl:```sh git clone https://github.com/dcotelo/owasp-ctf cd owasp-ctf ./scripts/dev-stack up

root@kitploit:~
Es schreibt wegwerfbare lokale Secrets, baut die Scorer- und App-Images, bringt
den Stack hoch, befüllt eine Demo-Leaderboard über die echte Scoring-API des Scorers
und gibt die URL zum Öffnen aus. Du solltest das Leaderboard mit befüllten Teams
und einen Score-over-Time-Graphen sehen; `./scripts/dev-stack score <login> juice-shop 3`
landet drei weitere Solves live. `./scripts/dev-stack down` baut es ab.

**Führe ein echtes Event aus** mit dem geführten Assistenten. Füge die **[`gh`
CLI](https://cli.github.com)** hinzu (authentifiziert), plus **eine kostenlose GitHub-Org**,
wenn das Event Secure Development ausführt; `./setup/ctf-setup.sh check` verifiziert
zuerst die Tooling:```sh
./setup/ctf-setup.sh            # guided, prompts for values, resumable

Es fragt jeden Wert im Verlauf ab — deine Box-URL, die Event-Org, die Admin-Logins, ob du Secure Development betreibst, die GitHub-Zugangsdaten — schreibt .env, erledigt jeden automatisierbaren Schritt, führt dich durch die GitHub-UI-Schritte und setzt fort, wenn du aufhörst und zurückkommst. Alles andere (der Name des Events, welche Module laufen, welche Targets) ist eine Laufzeit-Einstellung unter /admin, es gibt also keine Konfigurationsdatei zum Bearbeiten. Es fragt nur, was du tatsächlich brauchst: ein Event ohne Secure Development braucht keine Org, keine Forks und kein Scorer-Image, und danach wird nie gefragt. Zeige jeden mutierenden Schritt mit --dry-run als Vorschau an — er erzählt die Schritte 4–9 aus einer bereits vollständigen .env und verweigert (by design) die Ausführung, wenn kein Admin-Login vorhanden ist oder wenn Secure Development aktiviert ist, aber keine Org existiert. Der Wizard schließt ab, indem er ./setup/ctf-setup.sh doctor ausführt — eine Statusmatrix pro Fork, die du jederzeit erneut ausführen kannst — und bietet dann ein optionales fly.io-Deploy an (Standard: nein), sodass dasselbe Event auf einem öffentlichen Hostnamen bereitzustellen ein geführter Ablauf ist — der Hostname, ein in der Vorschau angezeigtes Deploy, dann eine Bestätigung — statt einer Reise durch die Deploy-Dokumentation.

Der geführte ctf-setup.sh-Wizard: ASCII-Banner und Schritt-für-Schritt-Eingabeaufforderungen

Willst du die Details? Jedes einzelne Subkommando, jeder reine UI-Schritt und wie sich die beiden GitHub-Apps unterscheiden: docs/hosting.md. Lieber in einer Cloud? docs/aws.md (Terraform: ECS Fargate, ElastiCache und ein ALB — apply hoch / destroy runter) oder docs/fly.md (eine Fly-Maschine).

Die Module

Secure Development — forke eine absichtlich verwundbare App, finde den Fehler, patche ihn, öffne einen PR. Eine GitHub Action im Fork führt die Rubrik des Targets gegen den Patch aus, und der Score landet auf dem Leaderboard (~30 s später im Poll-Modus). Sechs Targets, 321 Challenges; Standard-Score 0, ein korrekter Patch verdient seine Punkte — in beide Richtungen abgesichert. Benötigt die GitHub-Org und die Scoring-Pipeline.

Quiz — Single- und Multi-Select-Sicherheitsfragen, die in der App bewertet werden, sobald sie beantwortet sind (Alles-oder-nichts bei Multi-Select), mit Versuchslimit und Retry-Cooldown. Wird über /admin einzeln verfasst oder als ein JSON-Bundle importiert und exportiert. Benötigt kein GitHub, keine Forks, keine Pipeline.

Jeopardy — ein Board aus von Organisatoren verfassten Flags in Kategorien. Einsendungen werden getrimmt und normalisiert, Groß-/Kleinschreibung wird verziehen, es sei denn, ein Flag ist als case-sensitive markiert (die Karte sagt es), mit Einsende-Cooldown und optionalen bezahlten Hinweisen. Dasselbe Authoring über /admin + JSON-Bundle wie beim Quiz. Benötigt ebenfalls kein GitHub.

AI — Prompt-Injection- und Guardrail-Challenges, die außerhalb der Box gehostet werden. Die Challenge-Seite jedes Teilnehmers erzeugt einen persönlichen Startlink zur externen Seite; ein Solve meldet sich zurück ans Leaderboard, entweder über den eigenen Callback dieser Seite oder ein Flag, das in die App zurückgetippt wird. Benötigt kein GitHub, keine Forks, keine Pipeline.

Rund um die Module, die du aktivierst, bietet die Plattform: Team-Selbstregistrierung mit Captains, Join-Codes und /join/<code>-Links (Solo-Spiel ist ein Team aus einer Person; ein Flag, das von mehreren Teammitgliedern gelöst wird, zählt einmal); das Live-Leaderboard mit einem CTFd-artigen Score-über-Zeit-Diagramm aus echten Zeitstempeln pro Solve; das allowlistete /admin-Panel — Freeze-, Scoring- und Registrierungsfenster, Hinweise und Kosten, Team-Obergrenze, Cooldowns, Modulinhalte, Support-Aktionen pro Teilnehmer, ein Aktivitäts-Stream und Engagement-Metriken — alles zur Laufzeit, kein Rebuild; und ein begrenztes Audit-Log bei jeder Admin-Aktion.

Teilnehmer-AufschlüsselungChallenge-Browser
Die Zeile eines Teilnehmers aufgeklappt: Summen pro Modul, dann Fortschritt pro Target mit dem gepatchten oder offenen Zustand jeder ChallengeDer Challenge-Browser: eine Karte pro verwundbarer App, aufklappbar zu jeder Challenge mit ihrem Punktwert und ihrer OWASP-Kategorie, durchsuchbar nach Challenge, App oder OWASP-Code
Jeopardy-Flag-BoardQuiz
Das Jeopardy-Board: Challenges nach Kategorie gruppiert als kompakte Kacheln — Titel, Punkte und ein grüner Haken, sobald gelöst — jede öffnet die eigene Seite der Challenge mit Beschreibung und Flag-FormularDas Quiz: Single- und Multi-Select-Fragen, jede mit ihrem Punktwert und den verbleibenden Versuchen, beim Absenden bewertet

Aufgenommen aus der Teilnehmer-App, die lokal über scripts/dev-stack up mit geseedeten Demo-Spielern läuft. Targets und Fork-Links werden durch die Event-Konfiguration gesteuert; der Event-Name und der Rest seines Brandings sind Einstellungen im Admin-Panel.

Wie es funktioniert

Ein Docker-Compose-Stack: Caddy terminiert TLS vor der Next.js-App; die App spricht mit Redis nur über srh (ein Upstash-kompatibler REST-Proxy) — das Netzwerk ist aufgeteilt, sodass nichts, was dem Internet ausgesetzt ist, eine Route zu redis:6379 hat. Quiz, Jeopardy und AI bewerten innerhalb der App und schreiben Punkte direkt nach Redis. Secure Development wird außerhalb der Box bewertet: Der Fork des Teilnehmers führt eine GitHub Action aus, die das Target startet, die Rubrik gegen den Patch laufen lässt und einen maschinenlesbaren Score-Kommentar am PR hinterlässt. Der sync-Poller zieht diese Kommentare — null eingehende Netzwerkoberfläche, sodass die Box hinter NAT und im Veranstaltungs-WLAN funktioniert (das ist der einzige Transportweg: Push-Ingest wurde in v0.6 entfernt, siehe #377). Der Score gelangt über einen einzigen auditierten Writer hinein: das bearer-authentifizierte POST /score des Scorers, das validiert und monoton schreibt — Solves werden nie durch einen später fehlschlagenden Lauf un-gelöst.

Animiertes Diagramm. Ein Teilnehmer beantwortet Quiz- und Jeopardy-Challenges in der App und öffnet einen Patch-PR gegen einen Fork in der Event-Org. Die Action des Forks führt die Rubrik aus und hinterlässt einen Score-Kommentar am PR. Sync zieht diesen Kommentar etwa alle 30 Sekunden und benötigt keine eingehende Netzwerkoberfläche: Polling ist der eine Score-Transportweg, der Push-Zweig, der einst die Action direkt an den Scorer POSTen ließ, wurde in v0.6 gemäß Issue 377 entfernt. Der Score gelangt über einen einzigen auditierten Writer hinein, das bearer-authentifizierte POST /score des Scorers, das validiert und monoton in redis schreibt, und die App rendert daraus das Live-Leaderboard.

Das vollständige Bild — Komponenten, der neunstufige Score-Datenfluss, das Sicherheitsmodell — steht in docs/architecture.md.

Secure Development: Targets und Rubriken

Der Inhalt dieses Moduls ist eine Reihe verwundbarer Targets und ihrer bewertenden Rubriken. Teilnehmer wählen ein Target, forken die Kopie der Org, patchen sie und öffnen einen PR. Die Challenges jedes Targets sind ausführbare node:test-Suiten, bepreist nach Schwierigkeit.

Die Zählungen werden von Hand gepflegt und durch apps/web/src/lib/tests/apps-catalogue.test.ts an die vendored Rubrik gebunden — überprüfe sie nach einem vendor-rubric.sh-Bump erneut. Referenz-Patches, die belegen, dass ein korrekter Fix punktet (das Gate in positiver Richtung), liegen separat unter patches/.

Die Rubriken liegen in scorer/rubric.owasp/, vendored aus OWASP-CTF/dc34-owasp-secure-development-ctf und an den einzelnen Upstream-Commit gebunden, der in scorer/rubric.owasp/PROVENANCE.md festgehalten ist. Re-vendor gegen einen neueren Commit mit:```sh ./scripts/vendor-rubric.sh --all --ref

root@kitploit:~
Zwei Rubrik-Formen werden gleichzeitig unterstützt, und ein einzelnes Rubrik-Verzeichnis kann beide mischen: `<target>.yaml`-Dateien verwenden die deklarative HTTP-Request/Expect-Probe-Grammatik, und `<target>/tests/challenges/`-Verzeichnisse verwenden ausführbare Tests, die über `catalogue.<target>.json` bepreist werden. Autorenanleitung:
[docs/scorer.md](https://github.com/owasp/owasp-ctf/blob/main/docs/scorer.md).

**Zur Rubrik-Geheimhaltung.** Diese Rubriken sind öffentlich. Die Targets sind Open Source und ihre Lösungen bereits veröffentlicht, daher behandelt das Kit die Rubrik-Privatsphäre als Schutz gegen Check-Gaming statt gegen das Kennen der Antworten — ein akzeptierter Kompromiss für ein selbst gehostetes Event. Überschreibe jederzeit mit deiner eigenen privaten Rubrik:```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/ ist gitignored und genau dafür reserviert.

Eine Veranstaltung durchführen

Sobald der Stack unter deiner EVENT_URL läuft:

  • Teilnehmende melden sich mit GitHub an und bilden oder treten einem Team bei — ein Team ist erforderlich, um zu punkten, und Play solo erstellt mit einem Klick ein Ein-Personen-Team. Dann spielen sie die Module, die du aktiviert hast: Patch-and-PR für sichere Entwicklung, Antworten und Einreichen in der App für Quiz und Classic, oder Öffnen eines persönlichen Start-Links für ai.
  • Organisatoren steuern /admin: das Leaderboard einfrieren, die Registrierung öffnen und schließen, den Zeitplan festlegen, Quizfragen, Classic-Challenges und ai-Challenges erstellen — und wenn ein Teilnehmender feststeckt, genau diesen einen Teilnehmenden korrigieren, statt die Veranstaltung zurückzusetzen.
  • Den Poller beobachten mit docker compose logs -f sync (er läuft mit aktiviertem secure-development). Der gesamte Zustand liegt in benannten Docker-Volumes, sodass ein Neustart der Box nichts verliert.
  • Wenn es vorbei ist, archiviert ./setup/ctf-setup.sh teardown die Ziel- Repos — dann deinstalliere die GitHub App und lösche die Actions-Secrets der Org selbst. Eine Veranstaltung ohne secure-development hat keine Forks zu archivieren.

Teams, das Admin-Panel, das Verifizieren des Kits vor dem großen Tag und der lokale Dev-Stack sind alle in docs/operations.md beschrieben; Voraussetzungen, der Score-Transport, OAuth-Einrichtung und Event-Konfiguration in docs/hosting.md.

Warum es so gebaut ist

  • In sich geschlossen, keine Cloud. Alles läuft aus Docker Compose auf einer Box plus einer kostenlosen GitHub-Org. Die Rubric wird im Kit mitgeliefert — kein privates Image zum Anfordern, kein Scoring-Code zu schreiben — und alles übersteht einen Neustart auf benannten Docker-Volumes.
  • Stock punktet null, ein Patch verdient seine Punkte. Jedes Ziel ist abgesichert: ein Test, der gegen die ungepatchte App besteht, wäre ein Gratispunkt für jeden Teilnehmenden, also weigert sich der Build, ihn auszuliefern.
  • Keine eingehende Netzwerk-Angriffsfläche. Nichts muss deine Box erreichen — sie pollt GitHub nach Score-Kommentaren —, sodass ein Campus-Netzwerk, ein abgeschottetes Labor oder Veranstaltungs-WLAN ohne Firewall-Änderung funktioniert.

Die vollständige Begründung, Alternativen und Abwägungen sind als nummerierte ADRs in docs/decisions.md festgehalten.

Dokumentation

Gerendert unter dcotelo.github.io/owasp-ctf.

Mitwirken und Sicherheit

Beiträge willkommen — CONTRIBUTING.md behandelt die Dev- Umgebung, die CI-Gates und wie man ein Modul vorschlägt; CODE_OF_CONDUCT.md gilt.

Agents sollten AGENTS.md befolgen. Die folgenden Befehle entsprechen der CI; make help listet dieselben Targets auf.

Jeder Service wird unabhängig getestet (durchgängig 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:~
Eine Schwachstelle im Kit selbst gefunden? **[SECURITY.md](https://github.com/owasp/owasp-ctf/blob/main/SECURITY.md)** — die
Schwachstellen der Targets sind beabsichtigt und außerhalb des Geltungsbereichs.

## Lizenz und Credits

MIT — siehe [LICENSE](https://github.com/owasp/owasp-ctf/blob/main/LICENSE). Der Rubrik-Inhalt unter `scorer/rubric.owasp/`
ist aus dem Upstream-Event
[OWASP-CTF](https://github.com/OWASP-CTF/dc34-owasp-secure-development-ctf)
übernommen und an den Commit in `scorer/rubric.owasp/PROVENANCE.md` gebunden — dieses Kit
existiert, weil dieses Event es wert war, mehr als einmal durchgeführt zu werden. Die verwundbaren
Targets sind nicht übernommen: Events forken sie von ihren eigenen Upstreams
([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)), und jedes behält seine eigene Lizenz.
OWASP® ist eine eingetragene Marke der OWASP Foundation; dieses Projekt ist nicht
mit ihr verbunden oder von ihr unterstützt.
Tool herunterladen
TargetChallengesPunkteHinweise
vulnerableapp110187Größtes Target; wird 8-fach parallel bewertet
webgoat69137Zweistufiger Build: Maven, dann das runtime-only Dockerfile des Forks
dvwa55108Benötigt ein MariaDB-Sibling und eine Schema-Initialisierung
securityshepherd4079HTTPS, Drei-Container-Stack, strikt seriell
juice-shop38141Das einzige Target, dessen Schwierigkeit bis zu 6 Sternen reicht
vampi916Eigenständig; der schnellste End-to-End-Beweis
Gesamt321668Jedes Event provisioniert alle sechs; wähle eine Teilmenge in /admin → Secure Development → Targets
Lies dies, wenn du…Dokument
Das Kit aufsetztdocs/hosting.md — Voraussetzungen, der Wizard und jeder einzelne Schritt, wie Scores die Box erreichen, die GitHub OAuth App, Event-Konfiguration
In eine Cloud deploystdocs/aws.md (Terraform: ECS Fargate + ElastiCache + ALB) · docs/fly.md (eine Fly-Maschine)
kurz davor bist, die Türen zu öffnendocs/security-checklist.md — der einseitige Pre-Event-Durchgang
Die Veranstaltung durchführstdocs/operations.md — Teams, das Admin-Panel, die Quiz-/Classic-/ai-Organizer-Guides, Verifizieren, Teardown
Das System verstehen willstdocs/architecture.md — Diagramm, Score-Datenfluss, Redis-Keys, Sicherheitsmodell, Teststrategie
Eine Rubric schreibstdocs/scorer.md — Serve- + Judge-Modi, beide Rubric-Grammatiken, Verfassen und Bauen
Ein neues Modul baustdocs/modules.md — der Plattform-/Modul-Vertrag
Dich fragst „warum ist das so?“docs/decisions.md — nummerierte ADRs