Skip to main content

Human-in-the-Loop

AuroraSOC follows a human-in-the-loop philosophy: AI agents handle analysis and correlation, but critical decisions require human authorisation. This keeps the operator accountable while letting the AI do the heavy lifting.

When humans are involved

Action classification

CategoryActionsApproval Required
Read-OnlySIEM search, IOC lookup, log correlation, MITRE mappingNever
Low-ImpactCreate case, add timeline entry, generate reportNever
Medium-ImpactBlock IP, run scan, enrich IOCOnly for critical assets
High-ImpactIsolate host, disable user accountAlways
IrreversibleRevoke certificate, delete dataAlways, with escalation

Approval workflow

When an agent determines human approval is needed:

  1. The agent calls the RequestHumanApproval tool.
  2. A pending approval record is created in PostgreSQL with a configurable TTL (default 30 minutes).
  3. The analyst is notified via WebSocket.
  4. The agent polls for the decision while the analyst reviews the context.
  5. On approval the agent continues with the action. On rejection it takes an alternative path.

Approval record fields

FieldDescription
Case IDLinked investigation case
Action TypeWhat action requires approval
JustificationAI agent's reasoning for the action
ContextRelevant alert and case data
Requested ByAgent type that requested
Statuspending / approved / rejected / expired
TTLTime-to-live, default 30 minutes, configurable
Decided ByHuman analyst who decided
Decision TimeWhen the decision was made

Approval states

Timeout handling

A background scheduler expires stale approvals. When an approval expires the requesting agent receives the expired status, determines an alternative path (usually escalation), and an audit entry is created noting the missed approval. For time-critical actions the agent may create a new request with elevated urgency.

Audit trail

Every HITL interaction is logged to the audit table and the aurora:audit Redis stream. Each entry records the timestamp, agent type, action, target, decision, deciding analyst, justification, and response time. This provides compliance evidence, performance metrics, and training data for future automation tuning.

Why not fully automate

Even at high confidence, several reasons keep humans in the loop:

  1. Legal liability: Isolating a production server has business impact. Humans authorise.
  2. False positive risk: At 95% confidence, 5% of isolated hosts would be wrong.
  3. Context the AI lacks: A scheduled maintenance might look like an attack.
  4. Trust building: Organisations adopt AI incrementally. HITL builds trust.
  5. Regulatory requirements: Many frameworks mandate human oversight for critical actions.

As trust increases the approval thresholds can be adjusted to allow more autonomous action.