Overview
Interactive web-based training platform for SOC analyst development. Realistic multi-stage incident scenarios with decision trees, performance metrics, and outcome tracking. Covers detection, triage, containment, eradication, recovery against simulated APT attacks.
Environment & Scope
Lab Setup
Python 3.9+ | Flask | PostgreSQL | Elasticsearch | Docker | 2GB RAM | Ubuntu 20.04 LTS
Scope
- • 10+ realistic incident scenarios • Multi-stage attack simulations (reconnaissance → exfiltration) • Real-time decision tracking and outcome analysis • Performance metrics (detection time, containment speed, analyst accuracy) • Playbook compliance validation • Leaderboard for competitive training
Methodology
- 1. Scenario design aligned to MITRE ATT&CK 2. Evidence generation (log files, network traffic, alerts) 3. Decision tree branching based on analyst choices 4. Outcome calculation and feedback 5. Performance metric aggregation 6. Comparison against industry best practices
Key Findings
• Detects common SOC analyst mistakes (wrong order of containment, overlooking lateral movement) • Validates incident response procedures • Measures analyst skill progression • Identifies training gaps by technique
Business Impact
Untrained analysts miss attack patterns, extend MTTR, and escalate incidents unnecessarily. This simulator catches these mistakes in training before they cost the organization.
Remediation & Improvements
- • Feedback loops: explain why an action was ineffective • Guided mode: hints for new analysts • Mastery testing: certification path
Lessons Learned
- 1. Incident response is a procedure, not an art — it can be taught 2. Decision trees reveal priorities (containment before analysis) 3. Metrics drive accountability and improvement
Technologies
Tools & Platforms: Python | Flask | MITRE ATT&CK API | PostgreSQL | Elasticsearch
Hiring Relevance: Safaricom SOC Analyst (training focus), Security Operations training program lead
View on GitHub
Full implementation, README, and deployment instructions available at:
GitHub Repository →