Simulated vulnerability patch training platform
Why Choose This Project?
Patch management is critical to reduce attack surface, but many engineers lack hands‑on experience triaging vulnerabilities, applying safe fixes, and verifying patches in realistic environments. This project provides a safe, gamified lab environment where trainees practice finding, patching, and validating vulnerabilities across stacks (web, API, container) with instant feedback and scoring. It’s ideal for security teams, DevOps training, and university capstones.
What You Get in This Project
A web platform that provisions hands‑on simulated vulnerable appliances/apps, presents vulnerability tickets, guides trainees through patching steps, and verifies fixes automatically. Includes instructor tools to create scenarios, scoring, and analytics.
Technology Stack
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS, JavaScript, React (dashboard & interactive labs) |
| Backend | Node.js (Express) / Python (Django/Flask) / Java Spring Boot |
| Orchestration | Docker, Docker Compose, Kubernetes (for sandboxed labs) |
| Vuln Scanning / Validation | OWASP ZAP, custom test scripts, Selenium (UI checks) |
| Database | PostgreSQL / MongoDB (users, scenarios, logs) |
| Auth | JWT / OAuth2 / RBAC for trainers & trainees |
| Telemetry | Redis (session/state), Elastic Stack (optional for logs) |
Key Features
| Feature | Description |
|---|---|
| Scenario Library | Prebuilt vulnerable apps (XSS, SQLi, RCE, SSRF, misconfig) with difficulty tags |
| On‑Demand Lab Provisioning | Spin up isolated container labs per user/session (ephemeral) |
| Vulnerability Tickets | Tasks provided like real bug reports (impact, replication steps) |
| Guided Patching | Hints, code diff editor, and patch suggestions (optional) |
| Automated Validation | Scanners/tests confirm patch success and regressions (pass/fail) |
| Scoring & Leaderboard | Points for correct patch, speed, and minimal changes |
| Instructor Console | Create scenarios, schedule labs, view trainee progress, export reports |
| Versioned Snapshots | Rollback to known-bad snapshots for repeated practice |
| Reporting & Analytics | Track mean time to patch (MTTP), common failure modes |
| Safety Controls | Network egress restrictions & sandbox caps to prevent misuse |
How It Works
-
Instructor Prepares Scenario
-
Select or upload a vulnerable app image and define the vulnerability, difficulty, and validation tests.
-
-
Trainee Starts Lab
-
Platform provisions an isolated environment (Docker/K8s) with the vulnerable app and code repo.
-
-
Triage & Patch
-
Trainee inspects logs, runs local tests, edits code (built‑in editor or repo clone), and applies a patch.
-
-
Automated Validation
-
Platform runs a validation suite (OWASP ZAP, unit tests, integration checks, or custom scripts) to confirm the vulnerability is fixed and no regressions introduced.
-
-
Scoring & Feedback
-
System scores the attempt (correctness, efficiency, test coverage) and provides guided feedback and suggested remediation if failed.
-
-
Cleanup
-
Environment is torn down or snapshot saved for review. Instructor can replay session or review diffs.
-
Security & Safety Features
-
Ephemeral Sandboxes → Labs auto‑destroyed after session to avoid persistence.
-
Network Isolation → No unrestricted outbound access; controlled egress rules.
-
Resource Limits → CPU/memory caps per lab to prevent abuse.
-
Access Controls → RBAC ensures only authorized trainers can create scenarios.
-
Audit Logs → All trainee actions, commands, and patch diffs are logged for review.
-
Safe Execution → Validation tests run in containment; dangerous operations blocked.