Skip to content

Runbook 04 β€” SOC Alert Enrichment, Correlation and Triage

Runbook Type: SOC Operations / Detection Triage / Security Automation
Difficulty: Intermediate β†’ Advanced
Primary Audience: SOC Analysts / Detection Engineers / Incident Responders / Security Automation Engineers
Security Domains: SOC / SIEM / EDR / Identity Security / Cloud Security / Threat Intelligence / Vulnerability Management
Execution Model: Analyst-assisted alert triage workflow
Primary Goal: Turn raw alerts into context-rich, prioritized, explainable investigations

Security monitoring platforms generate alerts from:

SIEM
EDR / XDR
IDENTITY SYSTEMS
FIREWALLS
CLOUD SECURITY TOOLS
EMAIL SECURITY
VULNERABILITY MANAGEMENT
APPLICATION SECURITY
NETWORK DETECTION

But a raw alert rarely contains enough information to make a reliable security decision.

Example:

ALERT:
FAILED LOGIN
USER:
admin01
SOURCE IP:
203.0.113.25
SEVERITY:
MEDIUM

By itself, this tells the analyst very little.

Once enriched:

USER:
admin01
PRIVILEGED:
YES
ACCOUNT:
ENABLED
ASSET:
JUMP01
ASSET CRITICALITY:
CRITICAL
ENVIRONMENT:
PRODUCTION
RELATED ALERT:
SUCCESS AFTER FAILURES
IOC CONTEXT:
REVIEW REQUIRED
OPEN VULNERABILITIES:
1

the analyst has a much stronger basis for triage.

Never assume:

ALERT
=
INCIDENT

Instead:

ALERT
↓
VALIDATE
↓
ADD CONTEXT
↓
CORRELATE
↓
ASSESS
↓
ANALYST DECISION
RAW ALERT
↓
VALIDATION
↓
NORMALIZATION
↓
DEDUPLICATION
↓
ENRICHMENT
β”Œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”
↓ ↓ ↓ ↓ ↓
USER ASSET IOC VULN CLOUD
β””β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”˜
↓
CORRELATION
↓
RISK / PRIORITY
↓
ANALYST QUEUE
↓
INVESTIGATION
↓
DISPOSITION
↓
ESCALATE / CLOSE

Identify:

WHICH SECURITY CONTROL
GENERATED THE ALERT?

Examples:

SIEM RULE
EDR DETECTION
CLOUD SECURITY FINDING
IDENTITY RISK ALERT
EMAIL SECURITY ALERT
NETWORK IDS

Minimum useful metadata:

ALERT ID
SOURCE PLATFORM
RULE ID
RULE NAME
TIMESTAMP
SEVERITY
STATUS

Example:

AUTH-002

This allows analysts to trace the alert back to:

DETECTION LOGIC

Include:

rule_version

where available.

This matters because detection logic changes over time.

Before transformation:

STORE RAW ALERT

where policy allows.

Use:

RAW
↓
COPY
↓
NORMALIZE

Typical required fields:

alert_id
timestamp
source
alert_type
severity

Confirm:

VALID FORMAT
KNOWN TIMEZONE
REASONABLE VALUE

Preferred internal format:

UTC
ISO 8601

Example:

2026-08-29T08:18:00Z

Normalize into:

critical
high
medium
low
informational
unknown

Store both:

source_severity

and:

normalized_severity

when appropriate.

Common normalized statuses:

new
in_review
closed
suppressed
unknown

Examples:

DOMAIN\Admin01
admin01
admin01@example.com

may refer to the same or different identities.

Prefer stable identity IDs when available.

Examples:

web01
WEB01
web01.example.local

Normalize carefully while preserving useful:

FQDN
ASSET ID

Validate:

SOURCE IP
DESTINATION IP

using proper IP parsing.

Indicators may include:

IP
DOMAIN
URL
FILE HASH

Use consistent representation before matching.

If a record is malformed:

DO NOT
SILENTLY DROP IT

Move it to:

INVALID ALERT QUEUE

with a reason.

Example:

ALERT-1005
STATUS:
INVALID
REASON:
Timestamp could not be parsed

Duplicate alerts may be caused by:

RETRIES
FORWARDER DUPLICATION
MESSAGE REDELIVERY
MULTIPLE COLLECTORS

Preferred:

ALERT ID

when globally reliable.

Otherwise use a fingerprint.

Potential fields:

source
rule_id
user
asset
indicator
time_bucket

These:

FAILED LOGIN
SUCCESSFUL LOGIN

are related events.

They are not duplicates.

Instead of simply deleting duplicates, track:

duplicate_count
first_seen
last_seen

where useful.

After normalization:

ALERT
↓
WHO?
↓
WHAT ASSET?
↓
WHAT INDICATOR?
↓
WHAT VULNERABILITIES?
↓
WHAT CLOUD CONTEXT?

Query an authoritative identity source.

Collect:

IDENTITY ID
USERNAME
DEPARTMENT
ACCOUNT TYPE
ENABLED STATUS
PRIVILEGED STATUS
OWNER / MANAGER

If:

privileged = true

increase analyst attention.

Do not automatically conclude:

COMPROMISE

An event involving:

DISABLED ACCOUNT

may deserve review.

Possible causes:

STALE EVENT
SERVICE DEPENDENCY
MISCONFIGURATION
UNEXPECTED ACCOUNT USE

Treat:

SERVICE ACCOUNT

differently from:

HUMAN USER

because expected behavior differs.

If identity lookup fails:

IDENTITY CONTEXT
=
UNAVAILABLE

not:

USER IS LOW RISK

Collect:

ASSET ID
HOSTNAME
ENVIRONMENT
CRITICALITY
OWNER
INTERNET EXPOSURE
ASSET TYPE

Examples:

DOMAIN CONTROLLER
JUMP HOST
DATABASE SERVER
PAYMENT SYSTEM
PRODUCTION API

may require higher triage priority.

Differentiate:

PRODUCTION
STAGING
DEVELOPMENT
TEST

Ask:

IS THE ASSET
INTERNET-FACING?

This can materially change risk context.

If asset inventory lookup fails:

asset_found = false

Treat as:

CONTEXT GAP

not:

LOW-RISK ASSET

Potential sources:

INTERNAL THREAT INTELLIGENCE
COMMERCIAL FEED
OPEN-SOURCE FEED
SANDBOX RESULTS

Useful fields:

INDICATOR
TYPE
SOURCE
CONFIDENCE
CLASSIFICATION
FIRST SEEN
LAST SEEN
EXPIRATION

Remember:

IOC MATCH
β‰ 
CONFIRMED COMPROMISE

Also:

NO IOC MATCH
β‰ 
BENIGN

Distinguish:

NO MATCH

from:

LOOKUP FAILED

A stale indicator may have less value than a recently observed one.

Review:

last_seen

and source reliability.

For affected assets collect:

OPEN VULNERABILITIES
CRITICAL VULNERABILITIES
CVSS
KNOWN EXPOSURE
REMEDIATION STATUS

Example:

SUSPICIOUS PROCESS
+
CRITICAL VULNERABILITY

may deserve stronger investigation than either finding alone.

Do not assume:

VULNERABILITY EXISTS
=
VULNERABILITY EXPLOITED

For cloud alerts collect:

PROVIDER
ACCOUNT / SUBSCRIPTION / PROJECT
RESOURCE ID
RESOURCE TYPE
PUBLIC EXPOSURE
ENCRYPTION
IDENTITY
SECURITY FINDINGS

Always establish:

WHICH ACCOUNT?
WHICH SUBSCRIPTION?
WHICH PROJECT?

Determine:

RESOURCE OWNER
APPLICATION OWNER
PLATFORM OWNER

Example:

IDENTITY ALERT
+
PRIVILEGED CLOUD USER
+
MFA CONTROL FAILURE

may require elevated review.

Enrich the alert with:

RULE PURPOSE
DATA SOURCE
RULE VERSION
EXPECTED FALSE POSITIVES
KNOWN EXCEPTIONS

A rule detecting:

MULTIPLE FAILED LOGINS

may be expected during:

PASSWORD EXPIRY
VPN TROUBLESHOOTING
SERVICE MISCONFIGURATION

Analyst should know:

WHAT BEHAVIOR
THE RULE WAS DESIGNED
TO DETECT

Useful business data may include:

CHANGE WINDOW
MAINTENANCE WINDOW
AUTHORIZED SCAN
PENETRATION TEST
KNOWN DEPLOYMENT
USER TRAVEL

Example:

VULNERABILITY SCANNER

may generate traffic that resembles reconnaissance.

Validate source before escalating.

Review approved:

SUPPRESSIONS
RISK ACCEPTANCES
EXCEPTIONS

Every exception should have:

OWNER
JUSTIFICATION
SCOPE
EXPIRATION

An exception from:

LAST YEAR

may no longer be valid.

Correlation asks:

WHAT ELSE IS RELATED?

Common:

USER
ASSET
SOURCE IP
DESTINATION IP
INDICATOR
RULE
TIME
CLOUD RESOURCE

Example:

FAILED LOGIN
MFA FAILURE
SUCCESSFUL LOGIN
PRIVILEGE CHANGE

in a short time window.

Example:

SUSPICIOUS PROCESS
NETWORK ALERT
VULNERABILITY FINDING

on:

WEB01

Example:

SOURCE IP
203.0.113.25

appears across:

MULTIPLE USERS

This may indicate broader activity or benign shared infrastructure.

Investigate context.

A domain or hash observed on multiple assets may justify grouping.

Always consider:

TIME
08:15
FAILED LOGINS
08:18
SUCCESSFUL LOGIN

same:

USER
SOURCE IP

deserves more attention than events separated by months.

Examples:

5 MINUTES
15 MINUTES
30 MINUTES
1 HOUR

There is no universal correct window.

These:

FAILED LOGIN
↓
SUCCESS

have different meaning from:

SUCCESS
↓
FAILED LOGIN

Remember:

RELATED IN TIME

does not automatically mean:

SAME ATTACK

Example:

08:15
Multiple failed logins
08:18
Successful login
08:21
EDR alert on JUMP01
08:24
Cloud authentication alert

It helps answer:

WHAT HAPPENED FIRST?
WHAT HAPPENED NEXT?
WHICH EVENTS MAY BE RELATED?

Related alerts may become:

CASE CANDIDATE

not automatically:

INCIDENT

Possible grouping criteria:

SAME USER
SAME ASSET
SAME INDICATOR
RELATED RULES
SHORT TIME WINDOW

Do not group all:

WEB SERVER ALERTS

into one case just because they involve web servers.

Do not force analysts to investigate:

10 RELATED ALERTS

independently if one grouped story is clearer.

Distinguish:

SOURCE SEVERITY

from:

TRIAGE PRIORITY
MEDIUM ALERT
+
PRIVILEGED IDENTITY
+
CRITICAL ASSET
+
RELATED EVENTS

can become:

HIGH TRIAGE PRIORITY

Potential factors:

ALERT SEVERITY
ASSET CRITICALITY
IDENTITY PRIVILEGE
INTERNET EXPOSURE
IOC CONTEXT
VULNERABILITY CONTEXT
CORRELATED ALERTS

Example only:

CRITICAL ALERT
50
HIGH ALERT
40
MEDIUM ALERT
25
PRIVILEGED IDENTITY
+15
CRITICAL ASSET
+15
INTERNET-FACING
+10
HIGH-CONFIDENCE IOC
+10
CRITICAL VULNERABILITY
+15

These are:

TRAINING EXAMPLES

not universal SOC standards.

Example:

0–100
80–100
P1 β€” Immediate Analyst Review
60–79
P2 β€” High Priority
40–59
P3 β€” Standard Review
0–39
P4 β€” Low Priority

Analysts should see:

WHY?

Example:

HIGH ALERT
+40
PRIVILEGED USER
+15
CRITICAL ASSET
+15
RELATED ALERT
+5
TOTAL
75

Bad:

RISK = 91

Good:

RISK = 91
REASONS:
...

Check whether vendor alert severity already includes:

ASSET IMPORTANCE
IOC CONFIDENCE

before adding those again.

Track:

risk_model_version

If scoring changes next month, historical priority must remain explainable.

Sort alerts by:

PRIORITY
AGE
BUSINESS CRITICALITY

according to SOC policy.

Recommended:

ALERT ID
TIME
PRIORITY
RISK SCORE
SOURCE
RULE
USER
ASSET
INDICATOR
OWNER
AGE
RECOMMENDATION

Track:

TIME SINCE ALERT CREATED

Use approved organizational targets.

Example conceptually:

P1
FASTEST REVIEW
P2
RAPID REVIEW
P3
STANDARD
P4
ROUTINE

Different organizations have different:

STAFFING
RISK TOLERANCE
BUSINESS REQUIREMENTS

Automation may recommend:

REVIEW AUTHENTICATION HISTORY
REVIEW ENDPOINT TELEMETRY
CHECK RELATED ALERTS
VALIDATE IOC
CHECK CHANGE WINDOW
CONTACT ASSET OWNER

Automation can say:

RECOMMEND ESCALATION REVIEW

but should not automatically say:

CONFIRMED COMPROMISE

without supporting investigation.

For each alert, verify:

ALERT IS VALID
DATA IS COMPLETE
SOURCE IS TRUSTED
TIMESTAMP IS CORRECT

Ask:

WHAT RAW EVENT
TRIGGERED THE RULE?

Whenever possible inspect:

UNDERLYING LOG
PROCESS EVENT
AUTHENTICATION EVENT
CLOUD AUDIT EVENT

not only the alert summary.

Sometimes:

ALERT

may be generated from:

MALFORMED DATA
TEST EVENT
STALE RECORD

Ask:

IS THIS NORMAL
FOR THE USER?

Consider:

USUAL LOCATION
USUAL DEVICE
USUAL APPLICATION
USUAL TIME

Ask:

IS THIS EXPECTED
FOR THIS SYSTEM?

Privileged systems often legitimately perform unusual operations.

Correlate with:

CHANGE TICKET
MAINTENANCE
ADMIN ACTIVITY

Potential questions:

SOURCE INTERNAL OR EXTERNAL?
DESTINATION EXPECTED?
PORT EXPECTED?
OTHER CONNECTIONS?

For endpoint alerts:

PROCESS
PARENT PROCESS
USER
FILE HASH
SIGNER
NETWORK CONNECTION

may be relevant.

Use approved:

EDR
SIEM
LOGGING
INVENTORY

and sanctioned forensic procedures.

For cloud-related alerts inspect:

IDENTITY
API ACTION
SOURCE
RESOURCE
REGION
ACCOUNT / PROJECT

Ask:

DOES THE AFFECTED ASSET
HAVE RELEVANT OPEN FINDINGS?

A vulnerable host plus an alert does not prove exploitation.

Use it as:

RISK CONTEXT

Check:

SOURCE
CONFIDENCE
FRESHNESS
CLASSIFICATION

One source may disagree with another.

Record the disagreement instead of forcing certainty.

Recommended structure:

SUMMARY
EVIDENCE
IDENTITY CONTEXT
ASSET CONTEXT
IOC CONTEXT
VULNERABILITY CONTEXT
RELATED EVENTS
TIMELINE
ASSESSMENT
NEXT ACTION

Example:

FACT:
User admin01 authenticated at 08:18 UTC.
INTERPRETATION:
Authentication may be related to preceding failures.

It prevents:

ASSUMPTION

from becoming:

EVIDENCE

Common examples:

TRUE POSITIVE
FALSE POSITIVE
BENIGN TRUE POSITIVE
EXPECTED ACTIVITY
INSUFFICIENT EVIDENCE
ESCALATED

The detection correctly identified behavior that requires security handling.

The detection incorrectly identified benign activity as matching the detection logic.

The detection correctly observed behavior, but the activity was legitimate.

Example:

AUTHORIZED SECURITY SCAN

Examples:

APPROVED ADMIN CHANGE
PLANNED MAINTENANCE
AUTHORIZED TEST

Do not force a binary answer when:

DATA IS INCOMPLETE

Escalate when:

SUPPORTED EVIDENCE

meets your organization’s incident criteria.

ALERT
↓
TRIAGE
↓
CORRELATE
↓
ANALYST ASSESSMENT
↓
INCIDENT CRITERIA MET?
↙ β†˜
YES NO
↓ ↓
ESCALATE CLOSE /
MONITOR

Include:

ALERT IDS
TIMELINE
USERS
ASSETS
INDICATORS
EVIDENCE
RISK CONTEXT
ANALYST NOTES

Escalating every alert creates:

INCIDENT FATIGUE

Do not close because:

ONLY ONE ALERT EXISTS

if the evidence itself is strong.

Record:

DISPOSITION
REASON
EVIDENCE
ANALYST
TIME

When false positives occur:

REVIEW RULE

Ask:

IS THRESHOLD WRONG?
IS DATA NORMALIZED CORRECTLY?
IS EXCEPTION NEEDED?
IS CONTEXT MISSING?

A noisy rule may still detect real threats.

Tune carefully.

If needed:

SPECIFIC
TIME-LIMITED
OWNED
REVIEWED

Safer:

Suppress alerts from approved scanner
for defined addresses
until defined expiry

Not:

Ignore scanning alerts forever
ALERT
↓
TRIAGE
↓
DISPOSITION
↓
FEEDBACK
↓
RULE TUNING
↓
BETTER DETECTION

Useful:

ALERT VOLUME
TRUE POSITIVE RATE
FALSE POSITIVE RATE
ESCALATION RATE
BENIGN TRUE POSITIVE RATE

Conceptually:

TRIAGE START
-
ALERT CREATION

Conceptually:

ESCALATION TIME
-
ALERT CREATION

Track:

TOTAL OPEN
P1
P2
P3
P4

Useful metrics:

OLDEST ALERT
AVERAGE AGE
ALERTS OVER SLA

An alert source can fail silently.

Monitor:

LAST ALERT
LAST EVENT
EXPECTED VOLUME

Could mean:

NO ATTACKS

or:

BROKEN DETECTION PIPELINE

Could indicate:

REAL ACTIVITY
RULE CHANGE
DUPLICATE DATA
SOURCE ISSUE

Track:

IDENTITY ENRICHMENT %
ASSET ENRICHMENT %
IOC ENRICHMENT %
VULNERABILITY ENRICHMENT %
Asset enrichment:
96%
Identity enrichment:
91%
IOC lookup completion:
80%

An alert with:

HIGH SCORE

and:

LOW CONTEXT COMPLETENESS

should be interpreted carefully.

Possible factors:

IDENTITY AVAILABLE
ASSET AVAILABLE
IOC CHECK COMPLETE
VULNERABILITY DATA AVAILABLE

Show:

VULNERABILITY CONTEXT
UNAVAILABLE

Good automation:

LOOKUP DATA
NORMALIZE
CORRELATE
PRIORITIZE
GENERATE CASE CANDIDATE

Require stronger governance for:

DISABLE ACCOUNT
ISOLATE HOST
BLOCK NETWORK INDICATOR
DELETE FILE
ROTATE CREDENTIAL

Preferred:

AUTOMATION
↓
RECOMMEND
↓
ANALYST VALIDATES
↓
APPROVED RESPONSE

Example:

Review identity activity and related endpoint telemetry.
Consider escalation according to the approved incident
response process if corroborating evidence is confirmed.

Do not automatically generate generic instructions like:

BLOCK IP NOW
DISABLE USER NOW
ISOLATE SERVER NOW

without validated evidence and approved process.

For important alerts preserve:

RAW ALERT
SOURCE EVENTS
NORMALIZED RECORD
ENRICHMENT
CORRELATION
ANALYST NOTES

Where required, use:

SHA-256

for integrity reference.

A hash alone does not establish a complete chain of custody.

Follow approved incident response evidence procedures.

Example:

CASE-001/
|
+-- raw-alert.json
|
+-- normalized-alert.json
|
+-- timeline.csv
|
+-- identity-context.json
|
+-- asset-context.json
|
+-- ioc-context.json
|
+-- analyst-notes.md

Investigation data may be sensitive.

Restrict:

WHO CAN VIEW
WHO CAN EDIT
WHO CAN DELETE

Track:

ALERT RECEIVED
ENRICHMENT PERFORMED
ANALYST ASSIGNED
DISPOSITION
ESCALATION
CLOSURE

Every active investigation should have:

OWNER

Record:

FROM
TO
TIME
REASON

Some alerts require:

IDENTITY TEAM
CLOUD TEAM
ENDPOINT TEAM
APPLICATION TEAM
NETWORK TEAM

Example:

CLOUD CONFIGURATION ALERT
β†’ CLOUD SECURITY
IDENTITY ALERT
β†’ SOC / IAM
ENDPOINT MALWARE ALERT
β†’ SOC / IR

Assignment to another team does not automatically mean:

SECURITY INCIDENT

Alerts may need re-triage when:

NEW EVIDENCE ARRIVES
NEW IOC DATA ARRIVES
ASSET CRITICALITY CHANGES
RELATED ALERT APPEARS

Priority can change.

Example:

P3

becomes:

P1

after new related events appear.

Record:

OLD PRIORITY
NEW PRIORITY
REASON
TIME

An old unreviewed alert may deserve attention because:

QUEUE PROCESS FAILED

not because the security behavior became more severe.

For very old alerts, ask:

IS INVESTIGATION STILL ACTIONABLE?
IS DATA STILL AVAILABLE?
IS THIS A PROCESS GAP?

Be cautious.

Do not close alerts solely because:

NO IOC MATCH
NO RELATED ALERTS
LOW SCORE

unless a well-governed use case specifically supports that decision.

Periodically sample:

CLOSED LOW-PRIORITY ALERTS

to ensure important activity is not being missed.

Review:

DISPOSITIONS
EVIDENCE QUALITY
ESCALATION CONSISTENCY
DOCUMENTATION

Multiple analysts should interpret:

PRIORITY
DISPOSITION
ESCALATION

consistently.

For common alerts maintain playbooks such as:

SUSPICIOUS AUTHENTICATION
MALWARE ALERT
PHISHING
CLOUD IDENTITY ALERT
NETWORK ALERT

This runbook defines:

OVERALL TRIAGE PROCESS

A playbook can define:

ALERT-SPECIFIC INVESTIGATION
AUTH ALERT
↓
VALIDATE USER
↓
CHECK PRIVILEGE
↓
CHECK SOURCE
↓
CHECK RELATED FAILURES
↓
CHECK SUCCESSFUL LOGIN
↓
CHECK DEVICE
↓
CHECK CLOUD / VPN ACTIVITY
↓
ASSESS
EDR ALERT
↓
VALIDATE DEVICE
↓
CHECK USER
↓
CHECK PROCESS
↓
CHECK PARENT
↓
CHECK HASH
↓
CHECK RELATED NETWORK
↓
CHECK OTHER HOST ALERTS
↓
ASSESS
CLOUD ALERT
↓
IDENTIFY PROVIDER
↓
IDENTIFY ACCOUNT
↓
IDENTIFY IDENTITY
↓
IDENTIFY RESOURCE
↓
CHECK PUBLIC EXPOSURE
↓
CHECK LOGGING
↓
CHECK RELATED ACTIVITY
↓
ASSESS
VULNERABILITY ALERT
↓
VALIDATE FINDING
↓
IDENTIFY ASSET
↓
CHECK CRITICALITY
↓
CHECK INTERNET EXPOSURE
↓
CHECK OWNER
↓
CHECK RELATED SECURITY ALERTS
↓
PRIORITIZE
IOC ALERT
↓
VALIDATE INDICATOR
↓
CHECK SOURCE
↓
CHECK CONFIDENCE
↓
CHECK FRESHNESS
↓
SEARCH RELATED EVENTS
↓
IDENTIFY AFFECTED ASSETS
↓
ASSESS
ALERT ARRIVES
↓
VALID?
↙ β†˜
NO YES
↓ ↓
QUARANTINE DUPLICATE?
↙ β†˜
YES NO
↓ ↓
MERGE ENRICH
↓
CONTEXT COMPLETE?
↙ β†˜
NO YES
↓ ↓
MARK UNKNOWN CORRELATE
↓ ↓
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
↓
PRIORITIZE
↓
INVESTIGATE
↓
INCIDENT CRITERIA?
↙ β†˜
YES NO
↓ ↓
ESCALATE DISPOSITION

For every alert:

  • Alert source identified
  • Rule ID recorded
  • Raw alert preserved
  • Timestamp validated
  • Severity normalized
  • Status normalized
  • Identity normalized
  • Asset normalized
  • Indicator normalized
  • Duplicate check completed
  • Identity context collected
  • Privilege status checked
  • Account status checked
  • Asset criticality checked
  • Environment checked
  • Asset owner identified
  • Internet exposure checked
  • IOC context reviewed
  • IOC freshness reviewed
  • Vulnerability context reviewed
  • Cloud context reviewed where relevant
  • Known changes reviewed
  • Exceptions reviewed
  • Related alerts searched
  • Time-window correlation completed
  • Timeline built when useful
  • Priority assigned
  • Priority reasons documented
  • Analyst recommendation generated
  • Investigation completed
  • Disposition recorded
  • Escalation criteria reviewed
  • Evidence preserved
  • Case owner assigned

Use:

ALERT ID:
SOURCE:
RULE ID:
TIMESTAMP:
SEVERITY:
TRIAGE PRIORITY:
USER:
PRIVILEGED:
ACCOUNT STATUS:
ASSET:
ASSET CRITICALITY:
ENVIRONMENT:
INTERNET-FACING:
SOURCE IP:
IOC CONTEXT:
VULNERABILITY CONTEXT:
CLOUD CONTEXT:
RELATED ALERTS:
TIMELINE:
KNOWN CHANGES:
EXCEPTIONS:
KEY EVIDENCE:
ASSESSMENT:
DISPOSITION:
ESCALATION:
ANALYST:
REVIEW TIME:
CASE CANDIDATE ID:
RELATED ALERTS:
PRIMARY USER:
PRIMARY ASSET:
INDICATORS:
FIRST EVENT:
LAST EVENT:
PRIORITY:
CORRELATION REASON:
EVIDENCE SUMMARY:
ANALYST REVIEW REQUIRED:
YES
ALERT ID:
DISPOSITION:
CLOSURE REASON:
SUPPORTING EVIDENCE:
FALSE POSITIVE:
YES / NO
DETECTION TUNING NEEDED:
YES / NO
FOLLOW-UP:
ANALYST:
CLOSED AT:
INCIDENT CANDIDATE:
ALERT IDS:
SUMMARY:
TIMELINE:
IDENTITIES:
ASSETS:
INDICATORS:
CORRELATED EVENTS:
BUSINESS CONTEXT:
RISK FACTORS:
EVIDENCE:
RECOMMENDED NEXT STEP:
ANALYST:

Track:

ALERTS TRIAGED
MTTT
ESCALATION RATE
FALSE POSITIVE RATE
ENRICHMENT COVERAGE
QUEUE AGE
SLA BREACHES

Fast triage with poor decisions is not success.

Balance:

SPEED
QUALITY
CONSISTENCY
EVIDENCE

Useful:

DEDUPLICATION RATE
ENRICHMENT SUCCESS RATE
CORRELATION HIT RATE
AUTOMATED PRIORITY COVERAGE
API FAILURE RATE

Analysts may over-trust:

AUTOMATED PRIORITY

Training should reinforce:

AUTOMATION SUPPORTS
ANALYST JUDGMENT

Analysts should be able to:

INCREASE PRIORITY
DECREASE PRIORITY
REMOVE CORRELATION
ADD CONTEXT

with documented reason.

When analysts repeatedly override a rule, review the model.

ALERT
↓
TRIAGE
↓
DISPOSITION
↓
METRICS
↓
RULE REVIEW
↓
NORMALIZATION REVIEW
↓
ENRICHMENT REVIEW
↓
IMPROVED DETECTION

If alert quality degrades:

STOP TRUSTING
AUTOMATED PRIORITIZATION

until the issue is understood.

80% OF ALERTS
SHOW UNKNOWN ASSET

Possible issue:

CMDB API FAILED
HOSTNAME FORMAT CHANGED
NORMALIZATION BUG

If enrichment API fails:

DO NOT DROP ALERT

Continue with:

PARTIAL CONTEXT

If a required source fails for a high-impact response:

STOP AUTOMATED RESPONSE
REQUIRE ANALYST REVIEW
MISSING EVIDENCE
SHOULD REDUCE CONFIDENCE,
NOT CREATE FALSE CONFIDENCE

Avoid:

ALERT = INCIDENT
SEVERITY = PRIORITY
IOC MATCH = COMPROMISE
NO IOC MATCH = SAFE
UNKNOWN ASSET = LOW RISK
NO RELATED ALERTS = BENIGN
VULNERABILITY = EXPLOITED
NO HUMAN REVIEW
NO TIMELINE
NO EVIDENCE PRESERVATION
NO DISPOSITION FEEDBACK

Avoid:

AUTO-CLOSING LOW SCORES
AUTO-BLOCKING IOCS
AUTO-DISABLING USERS
NO APPROVAL
NO EXPLAINABILITY
NO FAILURE HANDLING
NO DATA FRESHNESS
NO AUDIT TRAIL

For every alert ask:

IS IT REAL?
↓
IS IT DUPLICATE?
↓
WHO IS INVOLVED?
↓
WHAT ASSET?
↓
HOW IMPORTANT?
↓
WHAT INDICATOR?
↓
WHAT OTHER CONTEXT?
↓
WHAT ELSE HAPPENED?
↓
WHEN?
↓
HOW STRONG IS THE EVIDENCE?
↓
WHAT PRIORITY?
↓
WHAT DECISION IS SUPPORTED?
ALERT
+
IDENTITY CONTEXT
+
ASSET CONTEXT
+
IOC CONTEXT
+
VULNERABILITY CONTEXT
+
CLOUD CONTEXT
+
CORRELATION
+
BUSINESS CONTEXT
+
ANALYST JUDGMENT
=
BETTER TRIAGE

The central lesson is:

CONTEXT
TURNS ALERTS
INTO INVESTIGATIONS

But context alone does not automatically establish:

INCIDENT

After completing this runbook, your SOC should have a repeatable process for:

VALIDATING ALERTS
NORMALIZING SECURITY DATA
REMOVING DUPLICATES
ENRICHING IDENTITIES
ENRICHING ASSETS
ENRICHING IOCS
ADDING VULNERABILITY CONTEXT
ADDING CLOUD CONTEXT
CORRELATING RELATED ACTIVITY
BUILDING TIMELINES
ASSIGNING EXPLAINABLE PRIORITY
CREATING ANALYST QUEUES
DOCUMENTING DISPOSITIONS
ESCALATING SUPPORTED INCIDENTS

➑️ Runbook 05 β€” Vulnerability Prioritization and Remediation Automation

The next runbook will define a repeatable vulnerability-management workflow:

SCANNER FINDING
↓
VALIDATE
↓
NORMALIZE
↓
DEDUPLICATE
↓
ASSET CONTEXT
↓
BUSINESS CRITICALITY
↓
EXPOSURE
↓
THREAT CONTEXT
↓
REMEDIATION SLA
↓
PRIORITIZE
↓
ASSIGN OWNER
↓
TRACK
↓
VERIFY
↓
CLOSE

The goal will be to move beyond simply sorting vulnerabilities by severity and instead build an explainable, ownership-driven remediation process based on real asset and business risk.