Skip to content

Component Design

Detailed technical specifications for all AI-SOC platform components.


Overview

The AI-SOC platform consists of 40+ containerized services organized into six integrated stacks. Each component is independently deployable via Docker Compose with defined resource limits, health checks, and monitoring endpoints.

Stacks:

Stack Components Purpose
SIEM Core 4 Log ingestion, correlation, threat detection
AI Services 10 ML inference, LLM analysis, RAG, correlation
SOAR 5 Case management, analysis, orchestration
Monitoring 5 Metrics, dashboards, alerting, log aggregation
Network Analysis 2 IDS/IPS, traffic metadata
Command & Control 2 Dashboard UI, GUI launcher

SIEM Stack

Wazuh Manager

Purpose: Central log aggregation, correlation engine, and threat detection.

Spec Value
Version 4.8.2
Image wazuh/wazuh:4.8.2
Memory 2GB (1GB reserved)
CPU 2.0 cores
Ports 1514/TCP (agents), 1515/TCP (enrollment), 514/UDP (syslog), 55000/TCP (API)

Capabilities:

  • 3,000+ built-in detection rules with custom rule support
  • File Integrity Monitoring (FIM)
  • CVE vulnerability detection
  • Compliance modules (PCI-DSS, HIPAA, GDPR, NIST)
  • Active response / automated blocking
  • Webhook integration with AI services via Wazuh Integration Service

Performance: 15,000 events/sec sustained, 10,000 agent capacity, <100ms API response (p95)


Wazuh Indexer

Purpose: Distributed search and analytics engine (OpenSearch 2.x).

Spec Value
Version 4.8.2
Image wazuh/wazuh-indexer:4.8.2
Memory 4GB (JVM heap: 2GB)
CPU 2.0 cores
Ports 9200/TCP (REST), 9300/TCP (inter-node), 9600/TCP (perf analyzer)

Index Templates: wazuh-alerts-* (daily), wazuh-archives-* (raw), wazuh-monitoring-* (health)

Performance: 50,000 events/sec indexing (single node), <500ms query latency (p90), 10:1 compression


Wazuh Dashboard

Purpose: Web-based visualization and investigation interface (Kibana fork).

Spec Value
Version 4.8.2
Image wazuh/wazuh-dashboard:4.8.2
Memory 1GB
CPU 1.0 core
Ports 443/TCP (HTTPS, maps to 5601 internal)

Features: Pre-built security dashboards, MITRE ATT&CK visualization, Discover interface, PDF/CSV reporting, RBAC via OpenSearch Security plugin.


AI Services Stack

The AI services layer is the core intelligence engine. All services are Python/FastAPI microservices communicating over the ai-network Docker bridge (172.35.0.0/24).

ML Inference API

Purpose: Real-time intrusion detection using trained CICIDS2017 models.

Spec Value
Framework FastAPI + scikit-learn
Image Custom (Python 3.11-slim)
Memory 1GB (512MB reserved)
CPU 1.0 core
Port 8500 (maps to 8000 internal)

Loaded Models:

Model File Size Accuracy Inference
Random Forest (primary) random_forest_ids.pkl 3MB 99.28% 0.8ms
XGBoost (low FP) xgboost_ids.pkl 188KB 99.21% 0.3ms
Decision Tree (interpretable) decision_tree_ids.pkl 35KB 99.10% 0.2ms

Supporting files: scaler.pkl (StandardScaler), label_encoder.pkl (BENIGN/ATTACK), feature_names.pkl (77 CICIDS2017 features)

Endpoints:

  • POST /predict — classify network flow (model selectable per request)
  • GET /health — model count, uptime
  • GET /metrics — Prometheus endpoint
  • GET /docs — OpenAPI interactive docs

Performance: 1,250 predictions/sec, 0.8ms avg latency, 1.8ms p99. Stateless — horizontally scalable behind a load balancer. CPU-optimized (no GPU required).


Alert Triage Service

Purpose: LLM-powered alert analysis, severity classification, and response recommendations.

Spec Value
LLM LLaMA 3.2:3b via Ollama
Framework FastAPI
Memory 2GB
CPU 2.0 cores
Port 8100

Dependencies: ML Inference API, RAG Service, Ollama Server

Key Modules:

Module Purpose
main.py FastAPI application and endpoints
llm_client.py Ollama integration with structured prompting
ml_client.py ML Inference API communication
context_manager.py Alert context tracking across sessions
worker_pool.py Async worker thread pool with circuit breaker
models.py Pydantic request/response schemas

Capabilities:

  • Risk scoring (0-100 scale)
  • Severity classification (Critical / High / Medium / Low / Info)
  • IOC extraction (IPs, domains, hashes)
  • MITRE ATT&CK technique mapping
  • True/false positive detection
  • Natural language executive summaries
  • Response action recommendations

Processing Pipeline:

Alert → ML Classification (BENIGN/ATTACK)
     → RAG Retrieval (MITRE context + runbooks)
     → LLM Analysis (structured reasoning)
     → Risk Score + Severity + IOCs
     → Response: Enriched alert with recommendations

Performance: 2-5 sec latency (LLM-dominant), ~500 tokens/alert, circuit breaker for fault tolerance.


RAG Service

Purpose: Retrieval-Augmented Generation for context-grounded LLM responses with cyber threat intelligence.

Spec Value
Vector DB ChromaDB
Embeddings sentence-transformers/all-MiniLM-L6-v2 (384 dims)
Framework FastAPI + LangChain
Memory 1GB
CPU 1.0 core
Port 8300

Knowledge Base Sources:

Source Records Purpose
MITRE ATT&CK 835 techniques Tactic/technique context
CVE Database CVSS >= 9.0 Vulnerability intelligence
Incident History TheHive cases Organizational context
Security Runbooks 8 playbooks Response procedures

Key Modules:

Module Purpose
knowledge_base.py ChromaDB knowledge management
vector_store.py Embedding storage and retrieval
embeddings.py Sentence-transformer encoding
mitre_ingest.py MITRE ATT&CK data ingestion
runbooks/ Incident response playbooks

Endpoints:

  • POST /retrieve — semantic search with top-k and confidence threshold
  • POST /ingest — populate knowledge base from MITRE ATT&CK JSON
  • GET /health — vector count and status

Performance: <50ms retrieval (top-5), 100+ queries/sec, cosine similarity search, 30-40% hallucination reduction vs. raw LLM.


Correlation Engine

Purpose: Alert-to-incident grouping, kill chain tracking, attack path prediction, and swarm intelligence research.

Spec Value
Framework FastAPI + SQLAlchemy
Database PostgreSQL
LLM Ollama (for swarm simulation)
Memory 512MB
CPU 0.5 core
Port 8600

This is the largest and most research-active service in the platform.

Core Correlation Features:

  • Alert Grouping: IP affinity + temporal proximity clustering
  • Kill Chain Tracking: Maps correlated alerts to MITRE ATT&CK progression stages
  • Markov Chain Prediction: Forecasts likely next attack steps based on observed kill chain state

Key Modules:

Module Purpose
correlator.py Core correlation logic (IP affinity, temporal clustering)
predictor.py Markov chain attack path forecasting
risk_scorer.py Host vulnerability and exposure scoring

Swarm Intelligence Research Framework:

The Correlation Engine also houses the swarm intelligence research platform — a multi-agent LLM simulation framework for automated threat modeling against real infrastructure.

Module Purpose
swarm.py Hierarchical leader/follower swarm architecture
simulator.py Attack campaign simulation engine
environment.py Infrastructure topology model
wazuh_environment.py Live Wazuh environment import
actions.py Attack action definitions and outcomes
archetypes.py Attacker archetypes (Opportunist, APT, Ransomware, Insider)
defender_archetypes.py Defender agents (SOC Analyst, Incident Responder, Threat Hunter)
run_experiments.py Experiment orchestration
research_metrics.py Statistical evaluation metrics
generate_figures.py Research paper figure generation
dataset_generator.py Synthetic attack data generation

Swarm Architecture:

  • 12 LLM leaders per batch (3 per archetype × 4 archetypes)
  • Up to 500 rule-based followers per leader (37,575 total agents)
  • Monte Carlo statistical aggregation across batches
  • Environment randomization (15% defense flip, 20% CVE variance)
  • Emergent attack path discovery

Research Findings:

  • 14B-parameter model produces 6× more unique strategies than 3B
  • LLM-powered defenders reduce compromise rates by 44% overall, 93% on monitored hosts
  • Swarm predictions converge at 500 followers per archetype

Wazuh Integration Service

Purpose: Webhook bridge between Wazuh alerts and the AI services pipeline.

Spec Value
Framework FastAPI
Memory 256MB
CPU 0.25 core
Port 8002

Key Modules:

Module Purpose
main.py Webhook endpoint and routing logic
wazuh_client.py Wazuh REST API communication
ai_client.py Upstream AI service client
models.py Request/response schemas

Behavior:

  • Receives Wazuh webhook alerts in real-time
  • Filters by severity threshold (MIN_SEVERITY=7)
  • Routes alerts to Alert Triage for LLM analysis
  • Enriches high-severity alerts (>=8) with RAG context
  • Transforms raw Wazuh JSON into structured format for downstream services

Feedback Service

Purpose: Alert persistence and analyst feedback collection for continuous learning.

Spec Value
Framework FastAPI + SQLAlchemy
Database PostgreSQL (port 5435)
Memory 256MB
CPU 0.25 core
Port 8400

Key Modules:

Module Purpose
main.py REST API for feedback CRUD
database.py PostgreSQL ORM models (alerts, feedback, metrics)
models.py Pydantic schemas

Capabilities:

  • Persists all analyzed alerts with full context
  • Captures analyst verdicts (true positive / false positive)
  • Stores analyst confidence ratings
  • Triggers retraining pipeline when sufficient feedback accumulates
  • Provides alert history and accuracy metrics

Rule Generator

Purpose: AI-powered Sigma detection rule generation from attack descriptions.

Spec Value
Framework FastAPI + Ollama LLM
Memory 256MB
CPU 0.25 core
Port 8700

Capabilities:

  • LLM-generated Sigma rules from natural language attack descriptions
  • Historical back-testing against known events
  • Analyst approval queue before deployment
  • Rule versioning and rollback

Retraining Service

Purpose: Continuous ML model improvement via analyst feedback loop.

Spec Value
Framework Python + scikit-learn + XGBoost
Trigger Feedback Service threshold

Pipeline:

Analyst Feedback → Feedback Service → Retraining Service
  → Retrain RF, XGBoost, Decision Tree
  → Champion/challenger evaluation
  → Model versioning with rollback
  → Hot-reload in ML Inference API

ChromaDB

Purpose: AI-native vector database for semantic search.

Spec Value
Image chromadb/chroma:latest
Memory 2GB
CPU 1.0 core
Port 8200 (maps to 8000 internal)
Storage chromadb-data volume (~20MB)

Algorithm: HNSW for approximate nearest neighbor. <10ms query latency.


Ollama Server

Purpose: Local LLM inference runtime.

Spec Value
Image ollama/ollama:latest
Model LLaMA 3.2:3b (Q4_0, ~2GB)
Memory 8GB
CPU 4.0 cores
GPU Optional (CUDA support)
Port 11434

Performance: 15-25 tokens/sec (CPU), 50-100 (GPU). Sequential request processing.


Common Library

Purpose: Shared utilities across all AI services.

Module Purpose
ollama_client.py Reusable Ollama API client
logging_config.py Structured JSON logging
metrics.py Prometheus metrics wrapper
security.py Input validation and prompt injection detection
auth.py Authentication utilities
integration.py Service-to-service communication
pipeline.py Data processing pipeline
rate_limit.py Rate limiting

SOAR Stack

TheHive

Purpose: Collaborative security incident response platform.

Spec Value
Version 5.2.9
Image strangebee/thehive:5.2.9
Memory 2GB
CPU 2.0 cores
Port 9010
Backend Cassandra 4.1.3, MinIO (S3)

Features: Case management, multi-analyst collaboration, observable tracking (IOCs, hashes, IPs), task management, Cortex integration, webhook integration with Wazuh/Shuffle, predefined case templates.


Cortex

Purpose: Observable analysis engine with 100+ analyzers.

Spec Value
Version 3.1.7
Image thehiveproject/cortex:3.1.7
Memory 1.5GB
CPU 2.0 cores
Port 9011

Analyzers: VirusTotal, AbuseIPDB, OTX, ClamAV, Yara, Shodan, MaxMind GeoIP, Google SafeBrowsing, PhishTank, and more.

Responders: Firewall block, EDR host isolation, email/Slack/PagerDuty notification.


Shuffle

Purpose: Security workflow automation and orchestration (no-code SOAR).

Spec Value
Version 1.4.0
Components Frontend (3001), Backend (5001), Orborus (worker)
Database OpenSearch 2.11.1

Features: Drag-and-drop workflows, 100+ integrations, webhook triggers, conditional logic, scheduling, data transformation.

Example Workflow:

Wazuh Alert (High Severity)
  → Create TheHive Case
  → Run Cortex Analyzers (IP reputation, geo-location)
  → If malicious → Block IP + Slack notification
  → If benign → Create low-priority ticket

Monitoring Stack

Prometheus

Purpose: Time-series metrics database and alerting engine.

Spec Value
Version 2.48.0
Memory 2GB
CPU 1.0 core
Port 9090
Retention 30 days

Scrape Targets (13): Prometheus, Node Exporter, cAdvisor, Wazuh Manager, Wazuh Indexer, TheHive, Cortex, ML Inference, Alert Triage, RAG Service, ChromaDB, Grafana, AlertManager.


Grafana

Purpose: Metrics visualization and dashboarding.

Spec Value
Version 10.2.2
Memory 512MB
CPU 0.5 core
Port 3000
Datasources Prometheus, Loki

Pre-built Dashboards: AI-SOC Overview, SIEM Stack, ML Performance, Container Metrics, Host Metrics.


AlertManager

Purpose: Alert routing, grouping, deduplication, and multi-channel delivery.

Spec Value
Version 0.26.0
Memory 256MB
CPU 0.25 core
Port 9093

Routing: Severity-based routing to email, Slack, PagerDuty, and Shuffle webhooks. Supports grouping, inhibition, and silencing.


Loki + Promtail

Purpose: Log aggregation and shipping for troubleshooting.

Component Version Port
Loki 2.9.3 3100
Promtail 2.9.3

Promtail ships Docker container logs to Loki. 7-day retention.


Node Exporter + cAdvisor

Component Port Metrics
Node Exporter 9100 800+ host-level metrics (CPU, memory, disk, network)
cAdvisor 8080 Per-container CPU, memory, network, disk

Network Analysis Stack

Suricata

Purpose: Network-based intrusion detection and prevention.

Spec Value
Version 7.0.2
Network Mode host (promiscuous capture)
Memory 2GB
CPU 2.0 cores
Rules Emerging Threats Open (30,000+)

Outputs EVE JSON logs (alerts, HTTP, DNS, TLS, flows) shipped via Filebeat to Wazuh.

Limitation: Requires Linux host — Windows Docker Desktop incompatible.


Zeek

Purpose: Passive network traffic analyzer and metadata extractor.

Spec Value
Version 6.0.3
Network Mode host
Memory 2GB
CPU 2.0 cores

Output Logs: conn.log, http.log, dns.log, ssl.log, files.log

Limitation: Requires Linux host.


Command & Control

Dashboard (Command Center)

Purpose: Unified web interface and API gateway for all AI services.

Spec Value
Framework Flask + Jinja2
Port 5050

Features:

  • Reverse proxy to all 7 AI microservices (eliminates CORS)
  • Service health status monitoring
  • Quick links to Grafana, Wazuh Dashboard, Prometheus, ChromaDB, Ollama
  • Long timeouts (180s) for LLM endpoints
  • Service registry with auto-discovery

AI-SOC Launcher

Purpose: Desktop GUI for deployment and monitoring.

Spec Value
Framework Python Tkinter
File AI-SOC-Launcher.py

Features:

  • Prerequisites checking (Docker, Python, etc.)
  • One-click deployment of each stack
  • Real-time service health visualization
  • Log viewing for all containers

Deployment Summary

Resource Requirements (Full Deployment):

Resource Value
Total Components 40+
Total Memory ~28GB
Total CPU ~18 cores
Docker Images ~10GB compressed
Persistent Volumes 18+

Docker Compose Files:

File Stack
phase1-siem-core.yml Wazuh Manager, Indexer, Dashboard, Filebeat
phase1-siem-core-windows.yml Windows-compatible SIEM variant
phase2-soar-stack.yml TheHive, Cortex, Shuffle, Cassandra, MinIO
ai-services.yml All AI microservices + Ollama + ChromaDB + PostgreSQL
monitoring-stack.yml Prometheus, Grafana, AlertManager, Loki, Promtail
network-analysis-stack.yml Suricata, Zeek
dev-environment.yml Development configuration
integrated-stack.yml Full stack integration

Last Updated: March 2026 Maintained By: Abdul Bari