SAGA Architecture

SAGA — Autonomous Purple-Team Second Brain

A layered homelab spanning bare metal, three Active Directory domains, a full blue-team detection stack, and a 26-server AI capability bridge — running an autonomous red/blue loop with local-first inference and explicit approval gates for live action.

Phase 5 — Orchestration 3/3 Domains Compromised Blue Team Operational 26 Capability Servers
5Hardware nodes
3/3AD domains owned
9/9Techniques detected
26Capability servers
51Commits / 14 days
Hardware
🖥️ [internal-host] · control plane ⚡ [internal-host] · RTX 5070 Ti 🎮 [internal-host] · RTX 4060 🏗️ [internal-host] · Proxmox 8.x 💾 NAS · evidence vault

Attack Lab
CORUSCANT-DC · galactic.empire DS-COMMAND-DC · deathstar ALDERAAN-DC · rebel.alliance DS-WEAPONS-SRV · MSSQL ALDERAAN-CA-SRV · ADCS ESC1 DVWA · DevBox (Jenkins) · WinClient 🗡️ [internal-host] · Kali · VLAN 30

Blue Team
Malcolm NDR · Zeek + Suricata Wazuh 4.9.2 · SIEM Velociraptor 0.76.3 · 8 clients n8n · orchestration Defender Dashboard

AI Bridge
LiteLLM · 5 tiers 26 capability servers llama-server · local inference Ollama · [internal-host]/[internal-host] OpenBao · secrets Knowledge Graph 43+ skills

Auto Loop
🌙 Scope gate · operator-signed 🔴 Red agent · auto-attack container 🔵 Blue agent · reflection runner 📚 KG sync → vault artifacts

Five interconnected layers — each section below drills into one layer

🏗️
Hardware & Network

Five-node cluster on a UniFi-managed LAN. VLANs isolate management traffic from the attack lab. Proxmox hypervisor with 64 GB RAM and a Ryzen 9 7900. Two GPU nodes for local inference.

[internal-host] · 32 GB · RTX 4070 [internal-host] · RTX 5070 Ti [internal-host] · RTX 4060 [internal-host] · Proxmox 8.x · 64 GB Synology 925+ NAS UniFi UXG-Max · VLAN 1/20/30
→ Full topology diagram
⚔️
SAGA Attack Lab

Three Active Directory domains in a Star Wars theme (saga-Light successor). Eight attack paths completed across cross-domain trust abuse, ADCS, MSSQL, and a Pro-Lab with vulnerable web stack.

galactic.empire (forest root) deathstar.galactic.empire rebel.alliance + ADCS ESC1 RBCD · Golden Ticket · DCSync DVWA · Jenkins · MSSQL xp_cmdshell 8 attack paths completed
→ Lab Chronicles
🔵
Blue Team Detection Stack

Five detection tools with full coverage across all VMs. 9/9 MITRE techniques detected. Custom Wazuh rules, Velociraptor forensic hunts, and Malcolm NDR for network correlation.

Malcolm NDR · Zeek · Suricata · OpenSearch Wazuh 4.9.2 · rules 100001–100050 Velociraptor 0.76.3 · 8 clients Sysmon · all Windows VMs WEF → Malcolm log pipeline 9/9 techniques detected
→ AI Thinking (detection reflections)
🤖
AI Orchestration Bridge

26 capability servers expose lab systems and research tools to AI agents. LiteLLM routes across 5 inference tiers from cheap summarisation to GPU-heavy strategy. OpenBao manages credentials. 43+ registered skills map natural-language tasks, CTF categories, and authorized research workflows to tools.

LiteLLM · 5 tiers (cheap → strategy) 26 capability servers llama-server · [internal-host] qwen3-8b cge-go-agent · KG + bounty triage Ollama · [internal-host] + [internal-host] OpenBao · KV secrets Knowledge Graph · 18-knowledge-graph/ CTF events · category-split solves 43+ registered skills
→ Architecture decision records
🔄
Autonomous Purple-Team Loop

The operator signs scope before live action. Agents query the knowledge graph, select bounded techniques or research checks, and use approval-aware tools to capture evidence to the vault. Blue-side workflows pull Velociraptor and Wazuh telemetry, score detection via Malcolm NDR, and write reflection artifacts back to the knowledge layer.

Scope gate · operator-signed YAML n8n overnight workflow Auto-attack container · [internal-host] Evidence captured → NAS vault Reflection runner · vault artifacts KG sync · current.yaml update
→ AI Thinking (loop outputs)
🌙 Operator signs scope
  ↓
🔴 Red: query KG → plan TTP
  ↓ scope approved
⚡ Execute on [internal-host]
  ↓
📁 Evidence → NAS
  ↓
🔵 Blue: telemetry pull
  ↓
📊 Malcolm NDR scoring
  ↓
📝 Reflection → vault
  ↓
🔁 KG sync → repeat