Inspiration
SOC analysts drown. The average enterprise SIEM fires 10,000+ alerts/day. 94% false positives. The 6% that are real threats are buried — and mean time to detect sits at 4+ hours. One missed alert = $4.35M average breach cost (IBM 2023). The problem isn't detection. Splunk ES already detects. The problem is triage — connecting 47 scattered, seemingly unrelated events into a coherent attack story. That's what kills analyst time. That's what ThreatWeaver automates.
What it does
ThreatWeaver is a multi-agent AI investigation system built natively on Splunk Enterprise Security. When a notable event fires:
1) CorrelationAgent executes 6 parallel SPL queries across a 72-hour window 2) GraphBuilderAgent constructs a directed attack graph — entities as nodes, behaviors as edges 3) MITREMapperAgent maps every behavior to ATT&CK techniques with confidence scores 4) NarrativeAgent calls Claude to generate a plain-English investigation report 5) ActionAgent evaluates confidence and auto-triggers Splunk SOAR playbooks Result: MTTD drops from 4 hours → under 90 seconds.
How we built it
Agent orchestration via LangGraph — each agent has a defined tool set, shared graph memory, and emits real-time progress via WebSocket. The attack graph is a directed knowledge graph built from raw Splunk events, where node risk scores are computed from behavioral signals (mimikatz = 9.5/10, known C2 IP = 9.5/10). MITRE ATT&CK mapping uses a signal-weighted matching engine against 9 technique definitions. Confidence formula: confidence=min(0.99, total signals/signal hits×5w+0.3) Splunk integration is deep — not cosmetic:
Enterprise Security as the notable event source MCP Server for intelligent SPL execution by agents SOAR for automated playbook response KV Store for persistent entity memory across investigations
Frontend is a React + D3.js force-directed graph with real-time WebSocket updates — every agent step is visible as it happens.
Challenges we ran into
Graph deduplication — same entity appears across 6 parallel query result sets; needed stable node IDs to prevent duplicates Parallel agent coordination — GraphBuilder and MITREMapper needed synchronization since MITRE annotation requires a built graph Streaming narrative UX — piping Claude's streaming API tokens into a live markdown renderer mid-investigation required careful DOM management Demo realism — building an APT29 simulation dataset that produces a genuinely interesting kill chain across all 13 MITRE tactics, not just 2-3
What we learned
LangGraph's agent-as-function pattern is far cleaner than chain-based approaches for multi-step investigations Splunk KV Store is an underutilized primitive — perfect for entity memory across sessions D3 force simulations need pinned root nodes or the attacker IP drifts to center — small thing, huge demo impact Confidence scoring needs a floor boost or early-stage investigations (few events) appear falsely low
What's next for ThreatWeaver
ThreatWeaver is fully open source, built on Splunk Enterprise Security, Splunk MCP Server, Splunk SOAR, and Claude AI. It reduces mean time to detect by 97%. It turns every junior analyst into a senior threat hunter. This is the future of SOC operations.
Built With
- anthropic
- api
- claude
- docker
- fastapi
- kv
- langgraph
- mcp
- python
- react
- soar
- splunk
- websockets
Log in or sign up for Devpost to join the conversation.