A full open-source Security Operations Center (SOC) lab enhanced with a local AI decision-support layer. Built for learning, research, and practical blue-team skill development.
Logs / Events
(Wazuh, Suricata, Zeek)
β
SIEM (Elastic via Wazuh)
β
Alert Trigger
β
Shuffle (SOAR)
β
Enrichment Phase
ββ MISP (threat intel)
ββ Cortex analyzers
ββ External APIs
β
AI Engine (Ollama + LangChain)
β
Output:
- Alert summary
- Severity classification
- MITRE ATT&CK mapping
- Response recommendation
β
TheHive Case Creation
β
Analyst Decision / Automated Response
| Component | Role |
|---|---|
| Wazuh | SIEM + EDR + Log aggregation |
| Suricata | Network IDS/IPS |
| Zeek | Network traffic analysis |
| TheHive | Case management |
| Cortex | Alert enrichment / analyzers |
| Shuffle | SOAR / workflow automation |
| MISP | Threat intelligence platform |
| Ollama | Local LLM inference (privacy-safe) |
| LangChain | AI pipeline orchestration |
Central hub for all security events, agent status, and compliance across your environment.
Per-agent telemetry including vulnerability detection, FIM, and active threats.
Correlates alerts against known threat intel feeds and MITRE ATT&CK techniques.
Each AI-triaged alert auto-creates a structured case with playbook tasks and IOCs.
All incoming alerts from Wazuh/Suricata are queued, prioritized, and assigned here.
Cortex analyzers enrich alerts with VirusTotal, AbuseIPDB, and passive DNS lookups.
Drag-and-drop workflow connects Wazuh webhooks β MISP enrichment β AI Engine β TheHive case creation.
Real-time IOC feeds, event correlations, and threat actor tracking from the community.
Tracks rising IOCs, malware families, and attack patterns across sharing communities.
Privacy-safe local AI model running LLaMA 3 / Mistral β no data leaves your network.
Converts raw log data into structured, analyst-readable summaries with MITRE ATT&CK mapping.
AI filters known scanners, internal vulnerability scans, and maintenance window traffic.
AI classifies alerts as: CLOSE / ESCALATE / ENRICH β with confidence score.
Given an alert type, AI generates a step-by-step incident response workflow.
Ask questions in plain English and get Elasticsearch DSL queries back.
- Docker + Docker Compose
- 16 GB RAM minimum (32 GB recommended)
- 100 GB disk space
- Linux (Ubuntu 22.04 recommended) or WSL2
git clone https://github.com/sandeepmothukuri/ai-soc-lab.git
cd ai-soc-labchmod +x scripts/deploy.sh
./scripts/deploy.sh./scripts/setup-ollama.shcd ai-engine
pip install -r requirements.txt
python app.pyImport the JSON files from shuffle-workflows/ into your Shuffle instance.
ai-soc-lab/
βββ docker/ # Docker Compose configs per service
β βββ docker-compose.wazuh.yml
β βββ docker-compose.thehive.yml
β βββ docker-compose.shuffle.yml
β βββ docker-compose.misp.yml
β βββ docker-compose.ollama.yml
βββ ai-engine/ # Python AI pipeline
β βββ app.py # FastAPI server
β βββ analyzer.py # Core alert analysis logic
β βββ prompts/ # LLM prompt templates
β β βββ triage.txt
β β βββ summary.txt
β β βββ playbook.txt
β βββ requirements.txt
βββ shuffle-workflows/ # SOAR automation workflows
β βββ ssh-bruteforce.json
β βββ malware-detection.json
β βββ data-exfiltration.json
βββ wazuh-config/ # Custom Wazuh rules and decoders
β βββ custom-rules.xml
β βββ ossec.conf
βββ thehive-config/ # TheHive case templates
β βββ case-templates.json
βββ scripts/ # Deployment and utility scripts
β βββ deploy.sh
β βββ setup-ollama.sh
β βββ test-pipeline.sh
β βββ send-test-alert.py
βββ docs/ # Extended documentation
βββ setup-guide.md
βββ ai-prompts.md
βββ mitre-mapping.md
βββ screenshots/ # All UI screenshots
- All LLM inference runs locally via Ollama β no data leaves your network
- AI output is advisory only β analysts retain final decision authority
- Every AI decision is logged with timestamp, confidence score, and reasoning
- Avoid sending raw logs to cloud-based LLMs
| Day | Task |
|---|---|
| 1-2 | Deploy Wazuh + connect endpoints |
| 3 | Deploy TheHive + Cortex |
| 4 | Deploy Shuffle + configure webhooks |
| 5 | Install Ollama + pull LLaMA 3 |
| 6-7 | Connect pipeline: Shuffle β AI Engine β TheHive |
| Model | Size | Best For |
|---|---|---|
llama3 |
8B | General triage, balanced |
mistral |
7B | Fast triage, low RAM |
phi3 |
3.8B | Minimal resources |
llama3:70b |
70B | High-accuracy analysis |
MIT β free to use, modify, and share.
Pull requests welcome. See docs/setup-guide.md to get started.
Sandeep Mothukuri
- GitHub: @sandeepmothukuri
- Website: cybertechnology.in
- LinkedIn: linkedin.com/in/sandeepmothukuri
- Email: sandeep.mothukuris@gmail.com
| Repository | Description |
|---|---|
| ai-soc-lab | AI-augmented SOC with Wazuh + TheHive + Ollama (LLaMA3) for automated triage |
| advanced-soc-lab-v2.0 | 12-tool SOC lab with OpenSearch, Suricata, Zeek, MISP, Caldera, Velociraptor |
| Autonomous-SOC-Lab | Autonomous SOC with AI-driven detection and self-healing playbooks |
| soc-threat-hunting-lab | Threat detection lab β Zeek, RITA, Arkime, Velociraptor, OSQuery, MISP |
| soc-lab-free | Free SOC lab β OpenVAS, Wazuh, pfSense, Proxmox Mail, Lynis |
| soc-lab | SOC analyst home lab β Wazuh SIEM, Sysmon, MITRE ATT&CK mapping |
| cyberblue | Containerised blue team platform β SIEM, DFIR, CTI, SOAR, Network Analysis |
β Star this repo if it helped you β it helps other SOC analysts find it!









