Skip to content

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ SOC Simulation Platform

Timeline: Apr 2026 – May 2026

AI-Assisted Threat Detection & Reproducible Benchmark Scenarios

SOC Dashboard


🌐 Overview

This project is a full-stack Security Operations Center (SOC) simulator developed as my university capstone project.

It generates synthetic security events, evaluates them using an AI-assisted confidence scoring engine, maps detections to the MITRE ATT&CK framework, automatically creates incidents, and displays everything through a live React dashboard with JWT authentication, real-time updates, PDF reporting, and optional Elasticsearch-powered log search.

After completing the random attack simulator, I added a reproducible benchmark suite containing fixed attack scenarios with expected outputs. This makes it possible to verify that the detection pipeline behaves consistently across multiple runs rather than relying only on randomly generated events.

⚠️ This project is a simulator for educational and research purposes. All attacks, logs, IP addresses, and incidents are synthetically generated.


🎯 Why I Built It

Most SOC platforms are only available inside enterprise environments.

I wanted to build one from scratch to better understand how threat detection pipelines work, from simulated attacks and event processing to incident management and dashboard visualization.

The benchmark suite was added to make the project reproducible. Random simulations are useful for demonstrations, while fixed benchmark scenarios make it possible to verify that changes to the detection pipeline continue to produce the expected results.


✨ Features

  • 🔐 JWT Authentication
  • 🖥️ React Dashboard with live metrics
  • ⚡ Real-time updates using Socket.IO
  • 🤖 AI-assisted threat confidence scoring
  • 🎯 MITRE ATT&CK mapping
  • 🚨 Automatic incident generation
  • 📄 PDF report export
  • 🔍 Elasticsearch log search with automatic SQLite fallback
  • 🧪 Reproducible benchmark scenarios
  • 📊 Benchmark evaluation framework

🏗️ Architecture

                    User
                      │
                      │
             React Frontend
   (Redux Toolkit • Recharts • Socket.IO)
                      │
                      │
          REST API + WebSocket Layer
                      │
                Flask Backend
                      │
    ┌─────────────┬─────────────┬─────────────┐
    │             │             │             │
 Authentication  SOC Engine   Benchmark    Reports
      (JWT)     AI Scoring      Engine       PDF
                 MITRE Map
                      │
              SQLite Database
                      │
      Elasticsearch (Optional)

Additional implementation details are available in the project documentation.


🛠️ Technology Stack

Layer Technology
Backend Python, Flask, SQLAlchemy, SQLite
Frontend React, Vite, Redux Toolkit
Authentication Flask-JWT-Extended
Real-time Flask-SocketIO
AI Scoring NumPy
Charts Recharts
Reports ReportLab
Search Elasticsearch with SQLite fallback
Benchmarking Fixed attack scenarios + evaluation framework

📂 Repository Structure

soc-dashboard/
├── backend/      Backend API and services
├── frontend/     React dashboard
├── benchmark/    Reproducible benchmark suite
├── docs/         Screenshots and documentation
└── docker-compose.yml

Detailed documentation is available inside each directory.

  • 📘 backend/README.md
  • 📗 frontend/README.md
  • 📙 benchmark/README.md

🚀 Getting Started

Requirements

  • Python 3.10+
  • Node.js 18+
  • npm
  • Docker (optional, for Elasticsearch)

Backend

cd backend

python -m venv .venv

# Windows
.venv\Scripts\Activate.ps1

# Linux / macOS
source .venv/bin/activate

pip install -r requirements.txt

python run.py

Frontend

cd frontend

npm install
npm run dev

Open:

http://localhost:5173

Default account:

Username: admin
Password: admin123

🎮 Try It

After logging in you can:

  • Simulate different cyber attacks
  • Watch threats appear in real time
  • View MITRE ATT&CK mappings
  • Search security logs
  • Investigate incidents
  • Export PDF reports
  • Load benchmark scenarios
  • Run the benchmark evaluation suite

🧪 Benchmark Suite

The benchmark suite contains nine reproducible attack scenarios that use fixed log datasets and expected outputs.

Unlike the random simulator, benchmark scenarios always produce the same input, making them useful for regression testing and validation.

Run the evaluation suite:

cd benchmark/evaluation

python evaluate.py

Latest evaluation:

9 / 9 scenarios passed
63 / 63 validation checks passed

See benchmark/README.md for complete documentation.


🔑 Authentication

All protected API routes require a valid JWT.

The frontend automatically stores the token and attaches it to authenticated requests. Sessions expire after eight hours.

See backend/README.md for implementation details.


📡 REST API

Method Endpoint Description
POST /api/auth/login Login
POST /api/auth/register Register
GET /api/soc/overview Dashboard metrics
POST /api/soc/simulate Simulate attack
GET /api/soc/logs Security logs
GET /api/soc/threats Detected threats
GET /api/soc/incidents Incidents
GET /api/assets Assets
POST /api/reports/export Export PDF
GET /api/benchmark/scenarios Benchmark scenarios
POST /api/benchmark/load Load benchmark scenario

Additional endpoints are documented in backend/README.md.


⚠️ Current Limitations

This project was designed as an educational SOC simulator.

Current limitations include:

  • No role-based access control
  • Development server configuration
  • Synthetic security events
  • No automated frontend test suite
  • Name-based asset references

These are discussed further in the project report.


🔒 Security Notes

Before using this project outside a local environment:

  • Configure a secure JWT_SECRET_KEY
  • Change the default administrator password
  • Restrict CORS
  • Add registration controls

📚 Documentation

  • 📘 backend/README.md
  • 📗 frontend/README.md
  • 📙 benchmark/README.md

🎓 Academic Context

Project Type: University Capstone Project

Domain: Cybersecurity • Security Operations • Threat Detection • Full-Stack Development

This project explores how a simulated Security Operations Center can demonstrate detection, incident response, and reproducible evaluation without requiring production infrastructure or live network traffic.


⭐ Feel free to explore the code, run the simulator, and experiment with the benchmark scenarios.

About

SOC Simulation Platform with AI Assisted Threat Detection & Reproducible Benchmark Scenarios

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages