Skip to content

Runbook 01 β€” Security Automation Design and Safety Review

Runbook Type: Security Automation Governance
Difficulty: Intermediate β†’ Advanced
Primary Audience: SOC Analysts / Security Engineers / Cloud Security Engineers / Security Automation Engineers / Incident Responders
Security Domains: Security Automation / SOAR / SOC / Cloud Security / Vulnerability Management
Execution Model: Design Review Before Deployment
Primary Goal: Automate safely without creating unnecessary operational risk

Security automation can reduce:

MANUAL WORK
ALERT FATIGUE
REPETITIVE ANALYSIS
RESPONSE DELAYS
CONFIGURATION DRIFT

But poorly designed automation can create:

OUTAGES
ACCOUNT LOCKOUTS
DATA LOSS
MASS FALSE POSITIVES
SECURITY CONTROL DISRUPTION
UNCONTROLLED CLOUD CHANGES

This runbook provides a repeatable decision-making process for evaluating a proposed security automation before it is deployed.

The most important question is not:

CAN THIS BE AUTOMATED?

It is:

SHOULD THIS BE AUTOMATED?
SECURITY TASK
↓
UNDERSTAND MANUAL PROCESS
↓
DEFINE AUTOMATION SCOPE
↓
IDENTIFY DATA SOURCES
↓
IDENTIFY REQUIRED PRIVILEGES
↓
ANALYZE FAILURE MODES
↓
ASSESS BLAST RADIUS
↓
DEFINE HUMAN APPROVAL
↓
DEFINE ROLLBACK
↓
TEST SAFELY
↓
MONITOR
↓
APPROVE / REJECT

Before writing code, document:

WHAT PROBLEM
ARE WE TRYING TO SOLVE?

Example:

SOC analysts spend 15 minutes manually enriching
every authentication alert with identity, asset,
and vulnerability context.

A poor problem statement:

We want more automation.

A better statement:

We want to reduce repetitive alert-enrichment work
while keeping investigation and incident decisions
with the analyst.

Write down every existing step.

Example:

ALERT RECEIVED
↓
ANALYST OPENS SIEM
↓
LOOKS UP USER
↓
LOOKS UP ASSET
↓
CHECKS VULNERABILITY STATUS
↓
CHECKS IOC CONTEXT
↓
ASSIGNS PRIORITY
↓
DOCUMENTS FINDING

Do not automate a process you do not understand.

Determine exactly which steps are:

REPETITIVE
DETERMINISTIC
LOW-RISK
WELL-DEFINED

Good candidates:

DATA COLLECTION
FORMAT CONVERSION
DEDUPLICATION
NORMALIZATION
ENRICHMENT
REPORT GENERATION
READ-ONLY SECURITY CHECKS

Exercise caution with:

ACCOUNT DISABLEMENT
ENDPOINT ISOLATION
RESOURCE DELETION
FIREWALL CHANGES
CREDENTIAL ROTATION
PRODUCTION CONFIGURATION CHANGES

These may be appropriate in mature environments, but they require much stronger governance.

Use one of four categories:

Level Automation Type Example
Level 1 Read-only Collect security data
Level 2 Recommendation Prioritize alerts
Level 3 Controlled write Create ticket
Level 4 High-impact response Disable account

Whenever possible, evolve automation gradually:

READ
↓
ANALYZE
↓
RECOMMEND
↓
APPROVED WRITE
↓
CONTROLLED RESPONSE

Do not jump directly from:

MANUAL

to:

FULLY AUTONOMOUS RESPONSE

Document measurable outcomes.

Example:

Reduce average alert enrichment time
from 10 minutes to under 2 minutes.

Other examples:

Reduce duplicate alerts by 25%
Generate daily cloud configuration report
Improve asset-owner mapping coverage
Reduce manual vulnerability triage effort

This is equally important.

Example:

THE AUTOMATION WILL:
Collect context
Normalize alerts
Calculate training priority
Generate analyst recommendations

but:

THE AUTOMATION WILL NOT:
Disable users
Isolate endpoints
Block source IPs
Close alerts automatically

Document all data sources.

Example:

SIEM API
CMDB
IDENTITY PROVIDER
VULNERABILITY PLATFORM
THREAT INTELLIGENCE
CLOUD SECURITY PLATFORM

Document what will be created.

Examples:

CSV REPORT
JSON RESULT
SIEM ENRICHMENT
TICKET
CASE CANDIDATE
DASHBOARD DATA

Example:

SIEM ALERT
↓
IDENTITY API
↓
CMDB
↓
VULNERABILITY API
↓
THREAT INTELLIGENCE
↓
NORMALIZATION
↓
RISK SCORE
↓
ANALYST QUEUE

Mark where data crosses:

SYSTEM BOUNDARIES
NETWORK BOUNDARIES
CLOUD BOUNDARIES
ORGANIZATIONAL BOUNDARIES

Example:

SOC PLATFORM
↓
API GATEWAY
↓
EXTERNAL THREAT INTEL SERVICE

For every source ask:

CAN DATA BE MISSING?
CAN DATA BE STALE?
CAN DATA BE WRONG?
CAN DATA BE MALFORMED?
CAN DATA BE DUPLICATED?

Every automation should follow:

INPUT
↓
VALIDATE
↓
NORMALIZE
↓
PROCESS

Never:

INPUT
↓
TRUST
↓
ACTION

Example alert requirements:

alert_id
timestamp
severity
source
asset

If required fields are missing, decide whether to:

REJECT
QUARANTINE
MARK UNKNOWN

This is a critical design principle.

MFA_ENABLED = FALSE

is different from:

MFA_STATUS = UNKNOWN

Likewise:

NO IOC MATCH

is different from:

IOC LOOKUP FAILED

Examples:

HOSTNAMES
β†’ UPPERCASE
USERNAME
β†’ LOWERCASE
SEVERITY
β†’ critical/high/medium/low
TIMESTAMPS
β†’ UTC ISO 8601

For every enrichment field, ideally know:

SOURCE
COLLECTION TIME
CONFIDENCE
LAST UPDATED

Ask:

HOW OLD CAN THIS DATA BE
BEFORE IT BECOMES UNRELIABLE?

Example:

Asset inventory:
24 hours
IOC reputation:
6 hours
User privilege status:
1 hour

These are examples only.

Use the organization’s requirements.

List every permission the automation requires.

Example:

READ SIEM ALERTS
READ USER DIRECTORY
READ ASSET INVENTORY
READ VULNERABILITY DATA

The automation should receive:

ONLY THE ACCESS
IT NEEDS

Example:

READ-ONLY SECURITY AUDITOR

should not receive:

GLOBAL ADMINISTRATOR

Recommended architecture:

TRIAGE WORKFLOW
↓
READ-ONLY CREDENTIAL
RESPONSE WORKFLOW
↓
CONTROLLED WRITE CREDENTIAL

If the triage process is compromised:

READ-ONLY ACCESS

creates a smaller:

BLAST RADIUS

than:

ADMIN ACCESS

Prefer when available:

WORKLOAD IDENTITY
MANAGED IDENTITY
SHORT-LIVED TOKENS
FEDERATED CREDENTIALS

over:

LONG-LIVED STATIC KEYS

Never place production secrets in:

SOURCE CODE
GIT
CONFIG FILES
LOGS
REPORTS
CHAT MESSAGES

Use approved:

SECRET MANAGEMENT

Document:

WHO OWNS THE CREDENTIAL?
HOW IS IT ROTATED?
HOW IS IT REVOKED?
WHEN DOES IT EXPIRE?

Examples:

GET ALERTS
LIST USERS
DESCRIBE INSTANCES
READ CLOUD CONFIGURATION
QUERY VULNERABILITIES

These generally have lower operational risk.

Examples:

CREATE TICKET
UPDATE CASE
ADD TAG
ADD COMMENT

These are still changes and require validation.

Examples:

DISABLE USER
REVOKE SESSION
ISOLATE ENDPOINT
BLOCK NETWORK ACCESS
DELETE RESOURCE
ROTATE PRODUCTION SECRET

Use:

LOW
MEDIUM
HIGH
CRITICAL

Example:

Action Impact
Generate report Low
Create ticket Low
Change alert status Medium
Disable account High
Delete cloud resource Critical

Ask:

IF THIS AUTOMATION IS WRONG,
HOW MANY PEOPLE OR SYSTEMS
CAN IT AFFECT?

Low:

ONE REPORT FILE

Medium:

ONE SECURITY TICKET

High:

ONE PRODUCTION USER

Critical:

ALL CORPORATE ACCOUNTS
ALL CLOUD NETWORK RULES

Techniques include:

LIMIT SCOPE
LIMIT BATCH SIZE
LIMIT PERMISSIONS
USE ALLOWLISTS
USE CANARY EXECUTION
USE HUMAN APPROVAL

Instead of:

PROCESS 10,000 CHANGES

consider:

PROCESS 10
VERIFY
CONTINUE

Use:

SMALL REPRESENTATIVE SCOPE

before large rollout.

Example:

ONE TEST ACCOUNT
↓
ONE DEVELOPMENT ACCOUNT
↓
SMALL PRODUCTION GROUP
↓
LARGER DEPLOYMENT

For write actions, constrain scope.

Example:

APPROVED TEST USERS
APPROVED LAB ASSETS
APPROVED CLOUD PROJECT

Do not rely only on:

DO NOT TOUCH THESE 5 SYSTEMS

Prefer:

ONLY TOUCH THESE
APPROVED SYSTEMS

For every automation ask:

WHAT CAN FAIL?

Examples:

API UNAVAILABLE
INVALID JSON
AUTHENTICATION FAILURE
PERMISSION DENIED
DATABASE FAILURE
RATE LIMITING
NETWORK TIMEOUT
STALE DATA
DUPLICATE EVENT
WRONG ASSET MATCH
WRONG USER MATCH
BAD SCORING RULE
PARTIAL SUCCESS

Example:

Failure Result Safe Behavior
IOC API unavailable Missing enrichment Mark unknown
CMDB unavailable No asset context Continue with warning
Database unavailable Cannot persist Preserve raw data
401 from API Authentication failure Stop/review
429 from API Rate limited Backoff

Decide deliberately.

For example:

REPORT GENERATOR FAILS

may allow:

DATA PIPELINE TO CONTINUE

but:

APPROVAL CHECK FAILS

should generally prevent:

HIGH-IMPACT ACTION

For security automation:

UNCERTAINTY
↓
MARK UNKNOWN
↓
HUMAN REVIEW

is often safer than:

UNCERTAINTY
↓
ASSUME SAFE

Every network request should have:

TIMEOUT

Avoid:

REQUEST
↓
WAIT FOREVER

Retries are appropriate for:

TRANSIENT FAILURE
429
5XX
TEMPORARY NETWORK ERROR

Do not repeatedly retry:

401
403
INVALID REQUEST
BAD DATA

Example:

ATTEMPT 1
WAIT 1 SECOND
ATTEMPT 2
WAIT 2 SECONDS
ATTEMPT 3
WAIT 4 SECONDS
STOP

Always define:

MAXIMUM RETRIES

to avoid runaway workflows.

Document:

API REQUEST LIMITS
EXPECTED REQUEST VOLUME
RETRY-AFTER SUPPORT
CACHE STRATEGY

Ask:

CAN THE API RETURN
MULTIPLE PAGES?

If yes:

PAGE 1
↓
PAGE 2
↓
...
↓
END

must be handled safely.

Set controls such as:

MAX PAGES
MAX RECORDS
EXPECTED TOTAL

Ask:

WHAT HAPPENS IF THIS
RUNS TWICE?

Example:

RUN 1
β†’ CREATE ONE CASE
RUN 2
β†’ DETECT EXISTING CASE
β†’ DO NOT CREATE ANOTHER
ONE ALERT
+
THREE RETRIES
=
THREE TICKETS

Examples:

ALERT ID
EVENT ID
FINDING ID
CASE ID
IDEMPOTENCY KEY

Example:

100 ASSETS
95 SUCCEEDED
5 FAILED

Do not report:

SUCCESS

without highlighting:

PARTIAL FAILURE

Track:

EXPECTED
COLLECTED
FAILED
UNKNOWN
Expected Cloud Accounts: 50
Successfully Assessed: 47
Failed: 3
Coverage: 94%

Do not describe this as:

100% CLOUD VISIBILITY

For every write action ask:

DOES THIS REQUIRE
HUMAN APPROVAL?
ACCOUNT DISABLEMENT
SESSION REVOCATION
ENDPOINT ISOLATION
FIREWALL CHANGE
PRODUCTION RESOURCE CHANGE
SECURITY POLICY CHANGE
AUTOMATION DETECTS CONDITION
↓
AUTOMATION COLLECTS EVIDENCE
↓
AUTOMATION PROPOSES ACTION
↓
ANALYST REVIEWS
↓
APPROVE / REJECT
↓
ACTION
↓
VERIFY

An approver should see:

WHAT HAPPENED?
WHY ACTION IS RECOMMENDED?
WHICH RESOURCE?
WHAT IMPACT?
WHAT ROLLBACK EXISTS?

Do not create:

500 APPROVAL REQUESTS
PER HOUR

If approval is required that often, reconsider:

SCOPE
DETECTION QUALITY
AUTOMATION DESIGN

Every potentially impactful automation should support:

DRY RUN

when practical.

Example:

PROPOSED ACTION:
Disable account:
training-user-01
Reason:
Approved lab test
NO CHANGE PERFORMED

Architecture:

INPUT
↓
ANALYSIS
↓
PROPOSED CHANGE
↓
PREVIEW
↓
APPROVAL
↓
EXECUTE

Before automation changes something, ask:

HOW DO WE UNDO IT?

Account disablement:

REENABLE ACCOUNT

Firewall change:

RESTORE PRIOR RULE

Configuration change:

RESTORE PREVIOUS CONFIG

Before changing configuration, capture:

CURRENT VALUE

so it can be restored.

Some actions are difficult or impossible to reverse.

Example:

DELETE DATA

Therefore:

IRREVERSIBLE ACTION
=
VERY HIGH AUTOMATION RISK

Where possible prefer:

QUARANTINE
DISABLE
TAG
MARK
CREATE TICKET

over:

DELETE

Do not assume:

API RETURNED 200
=
DESIRED RESULT ACHIEVED

Verify the resulting state.

ACTION
↓
API RESPONSE
↓
READ CURRENT STATE
↓
EXPECTED?
↓
SUCCESS

Automation requests:

ENABLE SECURITY LOGGING

Then verify:

IS LOGGING ACTUALLY ENABLED?

Every write action should define:

EXPECTED STATE AFTER ACTION

Also define:

WHAT COUNTS AS FAILURE?

Never test new security automation first against:

FULL PRODUCTION
UNIT TEST
SYNTHETIC DATA TEST
LOCAL LAB
INTEGRATION TEST
STAGING
CANARY
CONTROLLED PRODUCTION

Test individual functions such as:

NORMALIZATION
SCORING
VALIDATION
FILTERING
DEDUPLICATION

Test bad data:

EMPTY FIELD
INVALID JSON
BAD TIMESTAMP
UNKNOWN USER
UNKNOWN ASSET
INVALID SCORE

Simulate:

API OFFLINE
DATABASE DOWN
TIMEOUT
429
500
401
403

Test with:

10 RECORDS
1,000 RECORDS
100,000 RECORDS

when relevant.

If processing in parallel ask:

CAN TWO WORKERS
CHANGE THE SAME RESOURCE?

Example:

WORKER 1
CREATES CASE
WORKER 2
CREATES SAME CASE

Use:

LOCKING
IDEMPOTENCY
DATABASE CONSTRAINTS

as appropriate.

Run automation using:

ACTUAL INTENDED SERVICE IDENTITY

not an administrator account.

If the automation fails because it lacks access:

DO NOT IMMEDIATELY
GRANT ADMIN

Determine the exact missing permission.

Your automation should log:

START
END
INPUT COUNT
OUTPUT COUNT
FAILURES
RETRIES
APPROVAL
ACTION
VERIFICATION

Never log:

PASSWORDS
API TOKENS
PRIVATE KEYS
SESSION TOKENS
AUTHORIZATION HEADERS

Prefer fields such as:

{
"event": "automation_run",
"status": "success",
"records_processed": 125
}

Generate a:

RUN ID

or:

REQUEST ID

so all related logs can be traced.

Important automation actions should record:

WHO / WHAT INITIATED
WHEN
WHY
INPUT
DECISION
APPROVAL
ACTION
RESULT

Automation itself must be monitored.

Track:

RUN SUCCESS
FAILURE RATE
PROCESSING TIME
API ERRORS
DATABASE ERRORS
QUEUE DEPTH
RETRY RATE

A broken security automation can silently create:

VISIBILITY GAPS

Therefore monitor it like:

SECURITY INFRASTRUCTURE

Examples:

NO DATA COLLECTED
PIPELINE FAILED
API AUTHENTICATION FAILURE
OUTPUT NOT GENERATED

Do not create:

AUTOMATION FAILURE ALERT
↓
AUTOMATION PROCESSES ITS OWN ALERT
↓
ANOTHER ALERT

Design clear exclusions.

Document normal values.

Example:

NORMAL RUN:
2 MINUTES
NORMAL RECORD COUNT:
5,000–7,000

Large deviations can indicate:

SOURCE FAILURE
PIPELINE BUG
DATA SURGE

Treat automation changes like other security engineering changes.

Review:

CODE
PERMISSIONS
POLICIES
RISK WEIGHTS
API ENDPOINTS
OUTPUT BEHAVIOR

Use Git for:

CODE
CONFIGURATION
POLICY
DOCUMENTATION

Use:

.gitignore
SECRET SCANNING
PRE-COMMIT CHECKS

where appropriate.

At least one reviewer should understand:

SECURITY IMPACT
FAILURE BEHAVIOR
PRIVILEGE
ROLLBACK

not only syntax.

If the automation assigns risk scores, document:

INPUT FACTORS
WEIGHTS
THRESHOLDS
MODEL VERSION

Avoid:

RISK SCORE = 93
REASON = UNKNOWN

Prefer:

HIGH ALERT
+40
PRIVILEGED USER
+15
CRITICAL ASSET
+15
IOC CONTEXT
+10

Check whether:

VENDOR SEVERITY

already includes:

ASSET CRITICALITY

before adding criticality again.

If automation suppresses events, every suppression should have:

OWNER
JUSTIFICATION
SCOPE
EXPIRATION
REVIEW DATE

Do not create:

IGNORE FOREVER

for dynamic security environments.

If a control is intentionally violated:

FINDING
↓
BUSINESS JUSTIFICATION
↓
RISK REVIEW
↓
APPROVAL
↓
EXPIRATION
↓
REVIEW

Document retention for:

RAW INPUT
NORMALIZED DATA
LOGS
REPORTS
DATABASE
AUDIT TRAIL

Security automation may process:

USERNAMES
IP ADDRESSES
DEVICE ACTIVITY
IDENTITY DATA
INVESTIGATION NOTES

Use approved privacy and retention requirements.

Collect only:

WHAT THE AUTOMATION NEEDS

not every field available from an API.

Ask:

WHAT IF INPUT IS MALICIOUS?
WHAT IF API DATA IS WRONG?
WHAT IF CONFIGURATION IS MODIFIED?
WHAT IF AN ATTACKER GAINS THE SERVICE TOKEN?
WHAT IF REPORTS ARE STOLEN?

Review:

INPUTS
API CLIENTS
SERVICE IDENTITY
DATABASE
QUEUE
REPORTS
LOGS
ADMIN INTERFACE

Security automation may contain:

CENTRAL SECURITY DATA
POWERFUL API ACCESS
CLOUD VISIBILITY
IDENTITY INFORMATION

Protect it accordingly.

Protect:

SCORING RULES
ALLOWLISTS
SUPPRESSIONS
APPROVAL POLICY
AUTOMATION SETTINGS

Consider monitoring changes to:

AUTOMATION CODE
POLICY FILES
SERVICE PERMISSIONS

High-impact automation should have a:

KILL SWITCH

or rapid disable mechanism.

Operators should know:

HOW TO STOP IT
WHO CAN STOP IT
WHAT HAPPENS TO QUEUED ACTIONS
HOW TO RESTART SAFELY

If the automation uses queues, consider:

PAUSE
DRAIN
RETRY
DEAD-LETTER QUEUE

Failed work items can be moved to:

REVIEW QUEUE

instead of being:

LOST

or retried forever.

Document how to recover from:

DATABASE CORRUPTION
API CREDENTIAL FAILURE
SERVICE CRASH
BAD DEPLOYMENT
NETWORK FAILURE

Every production automation should have operational documentation covering:

START
STOP
HEALTH CHECK
FAILURE RECOVERY
ROLLBACK
ESCALATION

Every automation must have:

TECHNICAL OWNER
BUSINESS / SECURITY OWNER

Without ownership:

WHO FIXES IT?
WHO APPROVES CHANGES?
WHO REVIEWS FAILURES?
WHO DECIDES RETIREMENT?

Define:

BUSINESS HOURS?
24x7?
ON-CALL?
BEST EFFORT?

Document dependencies such as:

SIEM
CLOUD API
CMDB
DATABASE
IDENTITY PROVIDER

and who owns them.

Automation should not exist forever without review.

Ask periodically:

IS THIS STILL NEEDED?
IS THE DATA SOURCE STILL VALID?
IS THE PROCESS STILL CORRECT?

Possible review areas:

PERMISSIONS
RISK MODEL
DEPENDENCIES
SUPPRESSIONS
FAILURE RATES
BUSINESS NEED
LEVEL 1
MANUAL
LEVEL 2
SCRIPTED
LEVEL 3
SCHEDULED
LEVEL 4
INTEGRATED
LEVEL 5
ORCHESTRATED
LEVEL 6
CONTROLLED RESPONSE

Analyst performs:

EVERY STEP

Useful when the process is:

NEW
RARE
HIGH-RISK

A script assists:

ON DEMAND

Example:

GENERATE HOST SECURITY REPORT

Automation runs:

DAILY
WEEKLY
HOURLY

Example:

DAILY CLOUD POSTURE REPORT

Multiple systems communicate via:

APIS
WEBHOOKS
DATABASES

The workflow combines:

SIEM
IDENTITY
CMDB
THREAT INTEL
VULNERABILITY
CASE MANAGEMENT

Automation may execute approved response actions with:

STRICT GOVERNANCE
VERIFICATION
AUDIT
ROLLBACK
APPROVAL

Before approving an automation, answer:

WHAT PROBLEM DOES IT SOLVE?
WHAT DOES IT READ?
WHAT DOES IT CHANGE?
WHAT ACCESS DOES IT REQUIRE?
WHAT CAN FAIL?
WHAT IS THE BLAST RADIUS?
WHAT HAPPENS WITH BAD DATA?
WHAT HAPPENS WITH MISSING DATA?
IS IT IDEMPOTENT?
IS THERE A DRY RUN?
IS THERE HUMAN APPROVAL?
IS THERE ROLLBACK?
HOW IS SUCCESS VERIFIED?
HOW IS IT MONITORED?
WHO OWNS IT?

Score each area:

Area Low Medium High
Privilege Read-only Limited write Admin
Blast radius One record One system Enterprise
Reversibility Easy Moderate Difficult
Human approval Always Conditional None
Data quality Strong Variable Unknown

Escalate design review when automation has:

ADMINISTRATIVE CREDENTIALS
PRODUCTION WRITE ACCESS
LARGE BLAST RADIUS
IRREVERSIBLE ACTIONS
NO HUMAN APPROVAL
WEAK INPUT VALIDATION
NO ROLLBACK
NO MONITORING

At the end of review choose:

APPROVED
APPROVED WITH CONDITIONS
REQUIRES REDESIGN
REJECTED

Proposed automation:

READ SIEM ALERT
QUERY CMDB
QUERY IDENTITY
QUERY VULNERABILITY SYSTEM
GENERATE CONTEXT

Assessment:

READ-ONLY
LOW BLAST RADIUS
REVERSIBLE
NO PRODUCTION CHANGE

Likely result:

APPROVE AFTER TESTING

Proposed:

IF RISK SCORE > 80
DISABLE USER

Risk:

FALSE POSITIVE
BUSINESS LOCKOUT
SERVICE ACCOUNT IMPACT
RISK MODEL ERROR
IDENTITY MATCHING ERROR

Safer design:

HIGH SCORE
↓
COLLECT EVIDENCE
↓
CREATE RESPONSE RECOMMENDATION
↓
ANALYST APPROVAL
↓
CONTROLLED DISABLEMENT
↓
VERIFY

Proposed:

IF PUBLIC STORAGE FOUND
DELETE STORAGE

Reject this design.

Possible safer workflow:

PUBLIC STORAGE DETECTED
↓
CHECK OWNER
↓
CHECK BUSINESS PURPOSE
↓
CHECK DATA CLASSIFICATION
↓
CREATE REVIEW TICKET
↓
APPROVED CHANGE

Proposed:

CREATE VULNERABILITY TICKET
FOR P1 FINDING

Risks:

DUPLICATE TICKETS
BAD OWNER MAPPING
BAD PRIORITY

Controls:

IDEMPOTENCY
OWNER VALIDATION
PREVIEW
AUDIT LOG

High-risk scenario:

IOC MATCH
↓
BLOCK IP

Risks:

SHARED INFRASTRUCTURE
CDN
PROXY
FALSE POSITIVE
BUSINESS OUTAGE

Safer approach:

IOC MATCH
↓
CORRELATE
↓
VALIDATE
↓
RECOMMEND BLOCK
↓
APPROVAL

Create:

automation-design-review.md

Document:

NAME:
OWNER:
PURPOSE:
SECURITY DOMAIN:
ENVIRONMENT:
AUTOMATION LEVEL:

Document:

CURRENT STEPS:
CURRENT TIME:
CURRENT ERROR RATE:
CURRENT PAIN POINTS:

Document:

TRIGGER:
INPUTS:
PROCESSING:
OUTPUT:
WRITE ACTIONS:

For each:

SOURCE:
OWNER:
AUTHENTICATION:
FRESHNESS:
FAILURE BEHAVIOR:

Document:

SERVICE IDENTITY:
READ PERMISSIONS:
WRITE PERMISSIONS:
ADMIN PERMISSIONS:
JUSTIFICATION:

Use:

FAILURE:
IMPACT:
DETECTION:
RECOVERY:

Document:

MAX USERS AFFECTED:
MAX SYSTEMS AFFECTED:
MAX CLOUD RESOURCES AFFECTED:
DATA LOSS POSSIBILITY:

Document:

APPROVAL REQUIRED?
APPROVER:
ACTION PREVIEW AVAILABLE?
APPROVAL EXPIRY:

Document:

ROLLBACK AVAILABLE?
PREVIOUS STATE CAPTURED?
ROLLBACK TESTED?
ROLLBACK OWNER:

Document:

SUCCESS CONDITION:
VERIFICATION METHOD:
FAILURE CONDITION:

Document:

UNIT TEST:
SYNTHETIC TEST:
INTEGRATION TEST:
STAGING TEST:
CANARY TEST:

Document:

HEALTH CHECK:
ERROR ALERTING:
METRICS:
LOGGING:
ON-CALL:

Document:

CODE REVIEW:
POLICY VERSION:
CHANGE CONTROL:
REVIEW CADENCE:

Use:

APPROVED
APPROVED WITH CONDITIONS
REDESIGN REQUIRED
REJECTED

Before production deployment verify:

  • Problem statement documented
  • Manual workflow understood
  • Automation scope defined
  • Non-goals documented
  • Inputs identified
  • Outputs identified
  • Data validation implemented
  • Normalization implemented
  • Missing-data handling defined
  • Data freshness considered
  • Least privilege applied
  • Secrets managed securely
  • Read/write permissions separated where practical
  • Failure modes documented
  • Timeouts configured
  • Retries bounded
  • Rate limits handled
  • Pagination handled
  • Idempotency considered
  • Blast radius assessed
  • Batch limits defined
  • Dry run available where relevant
  • Human approval defined
  • Rollback documented
  • Verification implemented
  • Unit testing completed
  • Failure testing completed
  • Integration testing completed
  • Canary deployment considered
  • Operational logging implemented
  • Secrets excluded from logs
  • Health monitoring implemented
  • Automation owner identified
  • Operational runbook prepared
  • Emergency stop understood
  • Change review completed

Do not approve high-impact automation if any of these are missing:

KNOWN OWNER
LEAST-PRIVILEGE DESIGN
FAILURE HANDLING
VERIFICATION
MONITORING
ROLLBACK OR ACCEPTED IRREVERSIBILITY
APPROVAL MODEL

The design review is not the end.

Monitor:

ERROR RATE
FALSE POSITIVES
OPERATOR OVERRIDES
RETRY RATE
FAILED ACTIONS
BUSINESS IMPACT

After deployment:

MONITOR CLOSELY
REVIEW LOGS
CHECK OUTPUT
VERIFY PERMISSIONS
CHECK ERROR RATE

Review:

AUTOMATION VALUE
FAILURES
BAD DATA
ANALYST FEEDBACK
FALSE POSITIVES
PERFORMANCE

Automation lifecycle:

DESIGN
↓
BUILD
↓
TEST
↓
DEPLOY
↓
MONITOR
↓
LEARN
↓
IMPROVE

Consider rollback if:

UNEXPECTED PRODUCTION IMPACT
HIGH FAILURE RATE
BAD DATA CORRELATION
INCORRECT ACTIONS
PERMISSION ISSUE
UNCONTROLLED RETRY LOOP

Disable rather than continue when:

SAFETY CONTROLS FAIL
APPROVAL SYSTEM FAILS
DATA QUALITY IS UNTRUSTWORTHY
BLAST RADIUS IS UNCLEAR
IS THE PROCESS UNDERSTOOD?
↓
YES
↓
IS THE TASK REPEATABLE?
↓
YES
↓
IS DATA RELIABLE ENOUGH?
↓
YES
↓
IS THE IMPACT LOW?
↙ β†˜
YES NO
↓ ↓
AUTOMATE ADD APPROVAL
↓
CAN IT BE
ROLLED BACK?
↙ β†˜
YES NO
↓ ↓
CONTROL STRONGER
DESIGN GOVERNANCE
HIGHER IMPACT
=
STRONGER CONTROLS
AUTOMATION VALUE
+
RELIABLE DATA
+
LEAST PRIVILEGE
+
TESTING
+
MONITORING
+
APPROVAL
+
ROLLBACK
=
SAFER SECURITY AUTOMATION

Whenever someone says:

LET'S AUTOMATE THIS

ask:

WHAT EXACTLY?
↓
WHY?
↓
WHAT DATA?
↓
WHAT ACCESS?
↓
WHAT CAN GO WRONG?
↓
HOW MANY THINGS
CAN IT AFFECT?
↓
CAN WE DRY RUN?
↓
WHO APPROVES?
↓
CAN WE ROLL BACK?
↓
HOW DO WE VERIFY?
↓
HOW DO WE MONITOR?
↓
WHO OWNS IT?

At the end of this runbook, you should have one of four clear outcomes:

APPROVED FOR IMPLEMENTATION

or:

APPROVED WITH SAFETY CONDITIONS

or:

REDESIGN REQUIRED

or:

AUTOMATION SHOULD NOT PROCEED

➑️ Runbook 02 β€” Security Data Ingestion and Normalization

The next runbook defines the operational methodology for safely bringing security data from multiple sources into one automation pipeline.

You will cover:

SOURCE IDENTIFICATION
↓
COLLECTION
↓
SCHEMA VALIDATION
↓
DATA QUALITY
↓
NORMALIZATION
↓
DEDUPLICATION
↓
TIMESTAMP HANDLING
↓
IDENTITY / ASSET MATCHING
↓
PROVENANCE
↓
STORAGE
↓
PIPELINE HEALTH

The goal will be to establish one repeatable process for handling security data before it reaches analytics, correlation, risk scoring, or response automation.