Autonomous SOC Engine

Self-running security operations -- humans only see what AI cannot handle. 90%+ alert auto-resolution target.

Status
Built
Async Loops
4
Decision Types
4
Frontend
Live

Overview

The Autonomous SOC Engine is the core AI-driven component that processes alerts without human intervention. It operates via four concurrent async loops: threat feed ingestion (30-min cycle), alert auto-processing (10-second cycle), self-update/optimization (hourly), and health monitoring (5-min cycle). The engine uses a decision matrix based on AI confidence scores and severity to determine whether to auto-resolve, auto-respond via SOAR playbook, or escalate to human analysts.

What Was Proposed

What's Built

FeatureStatusDetails
Threat Feed LoopComplete30-min cycle, ingests from advisory engine, auto-generates Sigma rules
Alert Processing LoopComplete10-sec cycle, full decision pipeline: enrich, score, decide, execute
Self-Update LoopCompleteHourly: reviews FP rates, adjusts thresholds, optimizes playbooks
Health Check LoopComplete5-min cycle, logs auto-resolution rate and engine health
Auto Rule GenerationCompleteSigma templates for ransomware, exploitation, phishing, credential theft
Decision MatrixComplete4 escalation levels: AUTO_RESOLVED, AUTO_RESPONDED, L2_REVIEW, CRITICAL
Threshold ConfigurationCompleteAdjustable auto-resolve (0.85) and escalation (0.50) confidence thresholds
Decision Audit LogCompleteIn-memory circular buffer (last 200 decisions), type/severity/confidence tracked
Playbook Auto-TriggerCompleteSelects playbook by alert type: phishing_response, brute_force_mitigation, malware_containment
SOC EscalationCompleteWebSocket notifications via NotificationService on escalation

Architecture

Decision Flow
Incoming Alert
     |
     v
[AI Triage Scoring] -- ai_score, ai_confidence
     |
     v
[Decision Matrix]
     |
     +-- confidence >= 0.85 AND risk < 30 --> AUTO_RESOLVED (close, no human)
     |
     +-- confidence >= 0.75 AND risk >= 70 AND critical/high --> AUTO_RESPONDED (trigger playbook)
     |
     +-- confidence >= 0.70 AND risk < 50 AND not critical --> AUTO_RESOLVED (close with note)
     |
     +-- severity == critical OR confidence < 0.50 --> CRITICAL_ESCALATION (human SOC)
     |
     +-- default --> L2_REVIEW (analyst review)
Concurrent Loops
AutonomousSOCEngine.start()
    |
    +-- asyncio.gather(
    |       _threat_feed_loop()       -- every 30 min: fetch feeds, generate rules
    |       _alert_processing_loop()  -- every 10 sec: process pending alerts
    |       _self_update_loop()       -- every 1 hr:  review FPs, optimize playbooks
    |       _health_check_loop()      -- every 5 min: log engine health metrics
    |   )

API Routing

Router prefix: /api/v1/autonomous — Tag: autonomous-soc

GET/statsEngine stats: processed, auto-resolved, escalated, rates
GET/decisionsRecent autonomous decisions (max 200)
POST/startStart engine (admin)
POST/stopStop engine (admin)
PATCH/thresholdsAdjust AI confidence thresholds

Prerequisites

Data Model

The Autonomous SOC Engine uses an in-memory singleton (AutonomousSOCEngine) rather than database models. State is stored in:

FieldTypeDescription
statsdictCounters: total_processed, auto_resolved, auto_responded, escalated_to_human, rules_auto_generated, playbooks_auto_triggered
_decisions_loglist[dict]Circular buffer of last 200 decisions with type, detail, alert_id, severity, ai_score, ai_confidence, timestamp
AUTO_RESOLVE_CONFIDENCEfloatThreshold for auto-close (default: 0.85)
ESCALATION_THRESHOLDfloatBelow this, escalate to human (default: 0.50)
_runningboolEngine running state

UI Description

File: platform/frontend/src/app/autonomous-soc/page.tsx

The Autonomous SOC dashboard features:

Each decision entry is color-coded: green for auto-resolved, orange for auto-responded, red for escalated, blue for rule generated. The page auto-refreshes every 10 seconds and falls back to mock data when the API is unreachable.