Runbook 01 β Security Automation Design and Safety Review
Runbook Information
Section titled βRunbook Informationβ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
Purpose
Section titled βPurposeβSecurity automation can reduce:
MANUAL WORK
ALERT FATIGUE
REPETITIVE ANALYSIS
RESPONSE DELAYS
CONFIGURATION DRIFTBut poorly designed automation can create:
OUTAGES
ACCOUNT LOCKOUTS
DATA LOSS
MASS FALSE POSITIVES
SECURITY CONTROL DISRUPTION
UNCONTROLLED CLOUD CHANGESThis runbook provides a repeatable decision-making process for evaluating a proposed security automation before it is deployed.
Core Principle
Section titled βCore PrincipleβThe most important question is not:
CAN THIS BE AUTOMATED?It is:
SHOULD THIS BE AUTOMATED?Automation Safety Model
Section titled βAutomation Safety Modelβ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 / REJECT01 β Start with the Security Problem
Section titled β01 β Start with the Security ProblemβBefore writing code, document:
WHAT PROBLEMARE WE TRYING TO SOLVE?Example:
SOC analysts spend 15 minutes manually enrichingevery 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 workwhile keeping investigation and incident decisionswith the analyst.02 β Document the Current Manual Process
Section titled β02 β Document the Current Manual Processβ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 FINDINGDo not automate a process you do not understand.
03 β Identify the Automation Candidate
Section titled β03 β Identify the Automation CandidateβDetermine exactly which steps are:
REPETITIVE
DETERMINISTIC
LOW-RISK
WELL-DEFINEDGood candidates:
DATA COLLECTION
FORMAT CONVERSION
DEDUPLICATION
NORMALIZATION
ENRICHMENT
REPORT GENERATION
READ-ONLY SECURITY CHECKS04 β Identify Poor Automation Candidates
Section titled β04 β Identify Poor Automation CandidatesβExercise caution with:
ACCOUNT DISABLEMENT
ENDPOINT ISOLATION
RESOURCE DELETION
FIREWALL CHANGES
CREDENTIAL ROTATION
PRODUCTION CONFIGURATION CHANGESThese may be appropriate in mature environments, but they require much stronger governance.
05 β Classify the Automation
Section titled β05 β Classify the Automationβ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 |
06 β Preferred Progression
Section titled β06 β Preferred ProgressionβWhenever possible, evolve automation gradually:
READ βANALYZE βRECOMMEND βAPPROVED WRITE βCONTROLLED RESPONSEDo not jump directly from:
MANUALto:
FULLY AUTONOMOUS RESPONSE07 β Define Success Criteria
Section titled β07 β Define Success CriteriaβDocument measurable outcomes.
Example:
Reduce average alert enrichment timefrom 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 effort08 β Define What Automation Will Not Do
Section titled β08 β Define What Automation Will Not DoβThis is equally important.
Example:
THE AUTOMATION WILL:
Collect context
Normalize alerts
Calculate training priority
Generate analyst recommendationsbut:
THE AUTOMATION WILL NOT:
Disable users
Isolate endpoints
Block source IPs
Close alerts automatically09 β Identify Inputs
Section titled β09 β Identify InputsβDocument all data sources.
Example:
SIEM API
CMDB
IDENTITY PROVIDER
VULNERABILITY PLATFORM
THREAT INTELLIGENCE
CLOUD SECURITY PLATFORM10 β Identify Output
Section titled β10 β Identify OutputβDocument what will be created.
Examples:
CSV REPORT
JSON RESULT
SIEM ENRICHMENT
TICKET
CASE CANDIDATE
DASHBOARD DATA11 β Build the Data Flow
Section titled β11 β Build the Data FlowβExample:
SIEM ALERT βIDENTITY API βCMDB βVULNERABILITY API βTHREAT INTELLIGENCE βNORMALIZATION βRISK SCORE βANALYST QUEUE12 β Identify Trust Boundaries
Section titled β12 β Identify Trust BoundariesβMark where data crosses:
SYSTEM BOUNDARIES
NETWORK BOUNDARIES
CLOUD BOUNDARIES
ORGANIZATIONAL BOUNDARIESExample:
SOC PLATFORM βAPI GATEWAY βEXTERNAL THREAT INTEL SERVICE13 β Ask Whether Each Input Can Be Trusted
Section titled β13 β Ask Whether Each Input Can Be TrustedβFor every source ask:
CAN DATA BE MISSING?
CAN DATA BE STALE?
CAN DATA BE WRONG?
CAN DATA BE MALFORMED?
CAN DATA BE DUPLICATED?14 β Input Validation Requirement
Section titled β14 β Input Validation RequirementβEvery automation should follow:
INPUT βVALIDATE βNORMALIZE βPROCESSNever:
INPUT βTRUST βACTION15 β Define Required Fields
Section titled β15 β Define Required FieldsβExample alert requirements:
alert_id
timestamp
severity
source
assetIf required fields are missing, decide whether to:
REJECT
QUARANTINE
MARK UNKNOWN16 β Unknown Is Not False
Section titled β16 β Unknown Is Not FalseβThis is a critical design principle.
MFA_ENABLED = FALSEis different from:
MFA_STATUS = UNKNOWNLikewise:
NO IOC MATCHis different from:
IOC LOOKUP FAILED17 β Define Normalization Rules
Section titled β17 β Define Normalization RulesβExamples:
HOSTNAMESβ UPPERCASE
USERNAMEβ LOWERCASE
SEVERITYβ critical/high/medium/low
TIMESTAMPSβ UTC ISO 860118 β Record Data Provenance
Section titled β18 β Record Data ProvenanceβFor every enrichment field, ideally know:
SOURCE
COLLECTION TIME
CONFIDENCE
LAST UPDATED19 β Data Freshness Review
Section titled β19 β Data Freshness ReviewβAsk:
HOW OLD CAN THIS DATA BEBEFORE IT BECOMES UNRELIABLE?Example:
Asset inventory:24 hours
IOC reputation:6 hours
User privilege status:1 hourThese are examples only.
Use the organizationβs requirements.
20 β Identify Required Permissions
Section titled β20 β Identify Required PermissionsβList every permission the automation requires.
Example:
READ SIEM ALERTS
READ USER DIRECTORY
READ ASSET INVENTORY
READ VULNERABILITY DATA21 β Apply Least Privilege
Section titled β21 β Apply Least PrivilegeβThe automation should receive:
ONLY THE ACCESSIT NEEDSExample:
READ-ONLY SECURITY AUDITORshould not receive:
GLOBAL ADMINISTRATOR22 β Separate Read and Write Credentials
Section titled β22 β Separate Read and Write CredentialsβRecommended architecture:
TRIAGE WORKFLOW βREAD-ONLY CREDENTIAL
RESPONSE WORKFLOW βCONTROLLED WRITE CREDENTIAL23 β Why Separate Credentials?
Section titled β23 β Why Separate Credentials?βIf the triage process is compromised:
READ-ONLY ACCESScreates a smaller:
BLAST RADIUSthan:
ADMIN ACCESS24 β Credential Type Review
Section titled β24 β Credential Type ReviewβPrefer when available:
WORKLOAD IDENTITY
MANAGED IDENTITY
SHORT-LIVED TOKENS
FEDERATED CREDENTIALSover:
LONG-LIVED STATIC KEYS25 β Secret Storage
Section titled β25 β Secret StorageβNever place production secrets in:
SOURCE CODE
GIT
CONFIG FILES
LOGS
REPORTS
CHAT MESSAGESUse approved:
SECRET MANAGEMENT26 β Define Credential Rotation
Section titled β26 β Define Credential RotationβDocument:
WHO OWNS THE CREDENTIAL?
HOW IS IT ROTATED?
HOW IS IT REVOKED?
WHEN DOES IT EXPIRE?27 β Identify Read Operations
Section titled β27 β Identify Read OperationsβExamples:
GET ALERTS
LIST USERS
DESCRIBE INSTANCES
READ CLOUD CONFIGURATION
QUERY VULNERABILITIESThese generally have lower operational risk.
28 β Identify Write Operations
Section titled β28 β Identify Write OperationsβExamples:
CREATE TICKET
UPDATE CASE
ADD TAG
ADD COMMENTThese are still changes and require validation.
29 β Identify High-Impact Operations
Section titled β29 β Identify High-Impact OperationsβExamples:
DISABLE USER
REVOKE SESSION
ISOLATE ENDPOINT
BLOCK NETWORK ACCESS
DELETE RESOURCE
ROTATE PRODUCTION SECRET30 β Assign Impact Classification
Section titled β30 β Assign Impact ClassificationβUse:
LOW
MEDIUM
HIGH
CRITICALExample:
| Action | Impact |
|---|---|
| Generate report | Low |
| Create ticket | Low |
| Change alert status | Medium |
| Disable account | High |
| Delete cloud resource | Critical |
31 β Identify Blast Radius
Section titled β31 β Identify Blast RadiusβAsk:
IF THIS AUTOMATION IS WRONG,HOW MANY PEOPLE OR SYSTEMSCAN IT AFFECT?32 β Blast Radius Examples
Section titled β32 β Blast Radius ExamplesβLow:
ONE REPORT FILEMedium:
ONE SECURITY TICKETHigh:
ONE PRODUCTION USERCritical:
ALL CORPORATE ACCOUNTS
ALL CLOUD NETWORK RULES33 β Reduce Blast Radius
Section titled β33 β Reduce Blast RadiusβTechniques include:
LIMIT SCOPE
LIMIT BATCH SIZE
LIMIT PERMISSIONS
USE ALLOWLISTS
USE CANARY EXECUTION
USE HUMAN APPROVAL34 β Batch Size Control
Section titled β34 β Batch Size ControlβInstead of:
PROCESS 10,000 CHANGESconsider:
PROCESS 10
VERIFY
CONTINUE35 β Canary Execution
Section titled β35 β Canary ExecutionβUse:
SMALL REPRESENTATIVE SCOPEbefore large rollout.
Example:
ONE TEST ACCOUNT βONE DEVELOPMENT ACCOUNT βSMALL PRODUCTION GROUP βLARGER DEPLOYMENT36 β Allowlist Design
Section titled β36 β Allowlist DesignβFor write actions, constrain scope.
Example:
APPROVED TEST USERS
APPROVED LAB ASSETS
APPROVED CLOUD PROJECT37 β Denylist Is Not Enough
Section titled β37 β Denylist Is Not EnoughβDo not rely only on:
DO NOT TOUCH THESE 5 SYSTEMSPrefer:
ONLY TOUCH THESEAPPROVED SYSTEMS38 β Failure Mode Analysis
Section titled β38 β Failure Mode AnalysisβFor every automation ask:
WHAT CAN FAIL?39 β Common Failure Modes
Section titled β39 β Common Failure Modesβ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 SUCCESS40 β Create Failure Table
Section titled β40 β Create Failure Tableβ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 |
41 β Fail Closed vs Fail Open
Section titled β41 β Fail Closed vs Fail OpenβDecide deliberately.
For example:
REPORT GENERATOR FAILSmay allow:
DATA PIPELINE TO CONTINUEbut:
APPROVAL CHECK FAILSshould generally prevent:
HIGH-IMPACT ACTION42 β Fail-Safe Principle
Section titled β42 β Fail-Safe PrincipleβFor security automation:
UNCERTAINTY βMARK UNKNOWN βHUMAN REVIEWis often safer than:
UNCERTAINTY βASSUME SAFE43 β Design Timeout Behavior
Section titled β43 β Design Timeout BehaviorβEvery network request should have:
TIMEOUTAvoid:
REQUEST βWAIT FOREVER44 β Retry Review
Section titled β44 β Retry ReviewβRetries are appropriate for:
TRANSIENT FAILURE
429
5XX
TEMPORARY NETWORK ERROR45 β Do Not Retry Everything
Section titled β45 β Do Not Retry EverythingβDo not repeatedly retry:
401
403
INVALID REQUEST
BAD DATA46 β Backoff Strategy
Section titled β46 β Backoff StrategyβExample:
ATTEMPT 1
WAIT 1 SECOND
ATTEMPT 2
WAIT 2 SECONDS
ATTEMPT 3
WAIT 4 SECONDS
STOP47 β Retry Limit
Section titled β47 β Retry LimitβAlways define:
MAXIMUM RETRIESto avoid runaway workflows.
48 β Rate-Limit Review
Section titled β48 β Rate-Limit ReviewβDocument:
API REQUEST LIMITS
EXPECTED REQUEST VOLUME
RETRY-AFTER SUPPORT
CACHE STRATEGY49 β Pagination Review
Section titled β49 β Pagination ReviewβAsk:
CAN THE API RETURNMULTIPLE PAGES?If yes:
PAGE 1 βPAGE 2 β... βENDmust be handled safely.
50 β Prevent Infinite Pagination
Section titled β50 β Prevent Infinite PaginationβSet controls such as:
MAX PAGES
MAX RECORDS
EXPECTED TOTAL51 β Idempotency Review
Section titled β51 β Idempotency ReviewβAsk:
WHAT HAPPENS IF THISRUNS TWICE?52 β Good Idempotency
Section titled β52 β Good IdempotencyβExample:
RUN 1β CREATE ONE CASE
RUN 2β DETECT EXISTING CASEβ DO NOT CREATE ANOTHER53 β Bad Idempotency
Section titled β53 β Bad IdempotencyβONE ALERT+THREE RETRIES=THREE TICKETS54 β Use Stable Identifiers
Section titled β54 β Use Stable IdentifiersβExamples:
ALERT ID
EVENT ID
FINDING ID
CASE ID
IDEMPOTENCY KEY55 β Partial Failure Review
Section titled β55 β Partial Failure ReviewβExample:
100 ASSETS
95 SUCCEEDED
5 FAILEDDo not report:
SUCCESSwithout highlighting:
PARTIAL FAILURE56 β Coverage Metrics
Section titled β56 β Coverage MetricsβTrack:
EXPECTED
COLLECTED
FAILED
UNKNOWN57 β Example
Section titled β57 β ExampleβExpected Cloud Accounts: 50
Successfully Assessed: 47
Failed: 3
Coverage: 94%Do not describe this as:
100% CLOUD VISIBILITY58 β Human Approval Review
Section titled β58 β Human Approval ReviewβFor every write action ask:
DOES THIS REQUIREHUMAN APPROVAL?59 β Approval Usually Recommended For
Section titled β59 β Approval Usually Recommended ForβACCOUNT DISABLEMENT
SESSION REVOCATION
ENDPOINT ISOLATION
FIREWALL CHANGE
PRODUCTION RESOURCE CHANGE
SECURITY POLICY CHANGE60 β Approval Workflow
Section titled β60 β Approval WorkflowβAUTOMATION DETECTS CONDITION βAUTOMATION COLLECTS EVIDENCE βAUTOMATION PROPOSES ACTION βANALYST REVIEWS βAPPROVE / REJECT βACTION βVERIFY61 β Approval Evidence
Section titled β61 β Approval EvidenceβAn approver should see:
WHAT HAPPENED?
WHY ACTION IS RECOMMENDED?
WHICH RESOURCE?
WHAT IMPACT?
WHAT ROLLBACK EXISTS?62 β Avoid Approval Fatigue
Section titled β62 β Avoid Approval FatigueβDo not create:
500 APPROVAL REQUESTSPER HOURIf approval is required that often, reconsider:
SCOPE
DETECTION QUALITY
AUTOMATION DESIGN63 β Dry Run
Section titled β63 β Dry RunβEvery potentially impactful automation should support:
DRY RUNwhen practical.
64 β Dry-Run Output
Section titled β64 β Dry-Run OutputβExample:
PROPOSED ACTION:
Disable account:training-user-01
Reason:Approved lab test
NO CHANGE PERFORMED65 β Preview Before Write
Section titled β65 β Preview Before WriteβArchitecture:
INPUT βANALYSIS βPROPOSED CHANGE βPREVIEW βAPPROVAL βEXECUTE66 β Rollback Planning
Section titled β66 β Rollback PlanningβBefore automation changes something, ask:
HOW DO WE UNDO IT?67 β Rollback Examples
Section titled β67 β Rollback ExamplesβAccount disablement:
REENABLE ACCOUNTFirewall change:
RESTORE PRIOR RULEConfiguration change:
RESTORE PREVIOUS CONFIG68 β Store Previous State
Section titled β68 β Store Previous StateβBefore changing configuration, capture:
CURRENT VALUEso it can be restored.
69 β Rollback Limitations
Section titled β69 β Rollback LimitationsβSome actions are difficult or impossible to reverse.
Example:
DELETE DATATherefore:
IRREVERSIBLE ACTION=VERY HIGH AUTOMATION RISK70 β Prefer Reversible Actions
Section titled β70 β Prefer Reversible ActionsβWhere possible prefer:
QUARANTINE
DISABLE
TAG
MARK
CREATE TICKETover:
DELETE71 β Verification
Section titled β71 β VerificationβDo not assume:
API RETURNED 200=DESIRED RESULT ACHIEVEDVerify the resulting state.
72 β Verification Flow
Section titled β72 β Verification FlowβACTION βAPI RESPONSE βREAD CURRENT STATE βEXPECTED? βSUCCESS73 β Example
Section titled β73 β ExampleβAutomation requests:
ENABLE SECURITY LOGGINGThen verify:
IS LOGGING ACTUALLY ENABLED?74 β Define Success State
Section titled β74 β Define Success StateβEvery write action should define:
EXPECTED STATE AFTER ACTION75 β Define Failure State
Section titled β75 β Define Failure StateβAlso define:
WHAT COUNTS AS FAILURE?76 β Testing Strategy
Section titled β76 β Testing StrategyβNever test new security automation first against:
FULL PRODUCTION77 β Testing Levels
Section titled β77 β Testing LevelsβUNIT TEST
SYNTHETIC DATA TEST
LOCAL LAB
INTEGRATION TEST
STAGING
CANARY
CONTROLLED PRODUCTION78 β Unit Testing
Section titled β78 β Unit TestingβTest individual functions such as:
NORMALIZATION
SCORING
VALIDATION
FILTERING
DEDUPLICATION79 β Negative Testing
Section titled β79 β Negative TestingβTest bad data:
EMPTY FIELD
INVALID JSON
BAD TIMESTAMP
UNKNOWN USER
UNKNOWN ASSET
INVALID SCORE80 β Failure Testing
Section titled β80 β Failure TestingβSimulate:
API OFFLINE
DATABASE DOWN
TIMEOUT
429
500
401
40381 β Scale Testing
Section titled β81 β Scale TestingβTest with:
10 RECORDS
1,000 RECORDS
100,000 RECORDSwhen relevant.
82 β Concurrency Review
Section titled β82 β Concurrency ReviewβIf processing in parallel ask:
CAN TWO WORKERSCHANGE THE SAME RESOURCE?83 β Race Conditions
Section titled β83 β Race ConditionsβExample:
WORKER 1CREATES CASE
WORKER 2CREATES SAME CASEUse:
LOCKING
IDEMPOTENCY
DATABASE CONSTRAINTSas appropriate.
84 β Test Permissions
Section titled β84 β Test PermissionsβRun automation using:
ACTUAL INTENDED SERVICE IDENTITYnot an administrator account.
85 β Permission Failure Is Valuable
Section titled β85 β Permission Failure Is ValuableβIf the automation fails because it lacks access:
DO NOT IMMEDIATELYGRANT ADMINDetermine the exact missing permission.
86 β Logging Requirements
Section titled β86 β Logging RequirementsβYour automation should log:
START
END
INPUT COUNT
OUTPUT COUNT
FAILURES
RETRIES
APPROVAL
ACTION
VERIFICATION87 β Do Not Log Secrets
Section titled β87 β Do Not Log SecretsβNever log:
PASSWORDS
API TOKENS
PRIVATE KEYS
SESSION TOKENS
AUTHORIZATION HEADERS88 β Structured Logging
Section titled β88 β Structured LoggingβPrefer fields such as:
{ "event": "automation_run", "status": "success", "records_processed": 125}89 β Correlation ID
Section titled β89 β Correlation IDβGenerate a:
RUN IDor:
REQUEST IDso all related logs can be traced.
90 β Audit Trail
Section titled β90 β Audit TrailβImportant automation actions should record:
WHO / WHAT INITIATED
WHEN
WHY
INPUT
DECISION
APPROVAL
ACTION
RESULT91 β Monitoring
Section titled β91 β MonitoringβAutomation itself must be monitored.
Track:
RUN SUCCESS
FAILURE RATE
PROCESSING TIME
API ERRORS
DATABASE ERRORS
QUEUE DEPTH
RETRY RATE92 β Automation Health
Section titled β92 β Automation HealthβA broken security automation can silently create:
VISIBILITY GAPSTherefore monitor it like:
SECURITY INFRASTRUCTURE93 β Alert on Automation Failure
Section titled β93 β Alert on Automation FailureβExamples:
NO DATA COLLECTED
PIPELINE FAILED
API AUTHENTICATION FAILURE
OUTPUT NOT GENERATED94 β Avoid Alert Loops
Section titled β94 β Avoid Alert LoopsβDo not create:
AUTOMATION FAILURE ALERT βAUTOMATION PROCESSES ITS OWN ALERT βANOTHER ALERTDesign clear exclusions.
95 β Performance Baseline
Section titled β95 β Performance BaselineβDocument normal values.
Example:
NORMAL RUN:2 MINUTES
NORMAL RECORD COUNT:5,000β7,000Large deviations can indicate:
SOURCE FAILURE
PIPELINE BUG
DATA SURGE96 β Change Management
Section titled β96 β Change ManagementβTreat automation changes like other security engineering changes.
Review:
CODE
PERMISSIONS
POLICIES
RISK WEIGHTS
API ENDPOINTS
OUTPUT BEHAVIOR97 β Version Control
Section titled β97 β Version ControlβUse Git for:
CODE
CONFIGURATION
POLICY
DOCUMENTATION98 β Never Commit Secrets
Section titled β98 β Never Commit SecretsβUse:
.gitignore
SECRET SCANNING
PRE-COMMIT CHECKSwhere appropriate.
99 β Code Review
Section titled β99 β Code ReviewβAt least one reviewer should understand:
SECURITY IMPACT
FAILURE BEHAVIOR
PRIVILEGE
ROLLBACKnot only syntax.
100 β Risk Model Review
Section titled β100 β Risk Model ReviewβIf the automation assigns risk scores, document:
INPUT FACTORS
WEIGHTS
THRESHOLDS
MODEL VERSION101 β Explainability Requirement
Section titled β101 β Explainability RequirementβAvoid:
RISK SCORE = 93
REASON = UNKNOWNPrefer:
HIGH ALERT+40
PRIVILEGED USER+15
CRITICAL ASSET+15
IOC CONTEXT+10102 β Avoid Double Counting
Section titled β102 β Avoid Double CountingβCheck whether:
VENDOR SEVERITYalready includes:
ASSET CRITICALITYbefore adding criticality again.
103 β Suppression Review
Section titled β103 β Suppression ReviewβIf automation suppresses events, every suppression should have:
OWNER
JUSTIFICATION
SCOPE
EXPIRATION
REVIEW DATE104 β Avoid Permanent Suppression
Section titled β104 β Avoid Permanent SuppressionβDo not create:
IGNORE FOREVERfor dynamic security environments.
105 β Exception Management
Section titled β105 β Exception ManagementβIf a control is intentionally violated:
FINDING βBUSINESS JUSTIFICATION βRISK REVIEW βAPPROVAL βEXPIRATION βREVIEW106 β Data Retention
Section titled β106 β Data RetentionβDocument retention for:
RAW INPUT
NORMALIZED DATA
LOGS
REPORTS
DATABASE
AUDIT TRAIL107 β Privacy Review
Section titled β107 β Privacy ReviewβSecurity automation may process:
USERNAMES
IP ADDRESSES
DEVICE ACTIVITY
IDENTITY DATA
INVESTIGATION NOTESUse approved privacy and retention requirements.
108 β Data Minimization
Section titled β108 β Data MinimizationβCollect only:
WHAT THE AUTOMATION NEEDSnot every field available from an API.
109 β Threat Model the Automation
Section titled β109 β Threat Model the Automationβ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?110 β Threat Model Components
Section titled β110 β Threat Model ComponentsβReview:
INPUTS
API CLIENTS
SERVICE IDENTITY
DATABASE
QUEUE
REPORTS
LOGS
ADMIN INTERFACE111 β Automation as a High-Value Target
Section titled β111 β Automation as a High-Value TargetβSecurity automation may contain:
CENTRAL SECURITY DATA
POWERFUL API ACCESS
CLOUD VISIBILITY
IDENTITY INFORMATIONProtect it accordingly.
112 β Configuration Integrity
Section titled β112 β Configuration IntegrityβProtect:
SCORING RULES
ALLOWLISTS
SUPPRESSIONS
APPROVAL POLICY
AUTOMATION SETTINGS113 β Change Detection
Section titled β113 β Change DetectionβConsider monitoring changes to:
AUTOMATION CODE
POLICY FILES
SERVICE PERMISSIONS114 β Emergency Stop
Section titled β114 β Emergency StopβHigh-impact automation should have a:
KILL SWITCHor rapid disable mechanism.
115 β Kill Switch Requirements
Section titled β115 β Kill Switch RequirementsβOperators should know:
HOW TO STOP IT
WHO CAN STOP IT
WHAT HAPPENS TO QUEUED ACTIONS
HOW TO RESTART SAFELY116 β Queue Control
Section titled β116 β Queue ControlβIf the automation uses queues, consider:
PAUSE
DRAIN
RETRY
DEAD-LETTER QUEUE117 β Dead-Letter Queue
Section titled β117 β Dead-Letter QueueβFailed work items can be moved to:
REVIEW QUEUEinstead of being:
LOSTor retried forever.
118 β Recovery Planning
Section titled β118 β Recovery PlanningβDocument how to recover from:
DATABASE CORRUPTION
API CREDENTIAL FAILURE
SERVICE CRASH
BAD DEPLOYMENT
NETWORK FAILURE119 β Runbook Requirement
Section titled β119 β Runbook RequirementβEvery production automation should have operational documentation covering:
START
STOP
HEALTH CHECK
FAILURE RECOVERY
ROLLBACK
ESCALATION120 β Ownership
Section titled β120 β OwnershipβEvery automation must have:
TECHNICAL OWNER
BUSINESS / SECURITY OWNER121 β Why Ownership Matters
Section titled β121 β Why Ownership MattersβWithout ownership:
WHO FIXES IT?
WHO APPROVES CHANGES?
WHO REVIEWS FAILURES?
WHO DECIDES RETIREMENT?122 β Support Model
Section titled β122 β Support ModelβDefine:
BUSINESS HOURS?
24x7?
ON-CALL?
BEST EFFORT?123 β Dependency Ownership
Section titled β123 β Dependency OwnershipβDocument dependencies such as:
SIEM
CLOUD API
CMDB
DATABASE
IDENTITY PROVIDERand who owns them.
124 β Decommissioning Plan
Section titled β124 β Decommissioning PlanβAutomation should not exist forever without review.
Ask periodically:
IS THIS STILL NEEDED?
IS THE DATA SOURCE STILL VALID?
IS THE PROCESS STILL CORRECT?125 β Review Cadence
Section titled β125 β Review CadenceβPossible review areas:
PERMISSIONS
RISK MODEL
DEPENDENCIES
SUPPRESSIONS
FAILURE RATES
BUSINESS NEED126 β Automation Maturity Levels
Section titled β126 β Automation Maturity LevelsβLEVEL 1MANUAL
LEVEL 2SCRIPTED
LEVEL 3SCHEDULED
LEVEL 4INTEGRATED
LEVEL 5ORCHESTRATED
LEVEL 6CONTROLLED RESPONSE127 β Level 1: Manual
Section titled β127 β Level 1: ManualβAnalyst performs:
EVERY STEPUseful when the process is:
NEW
RARE
HIGH-RISK128 β Level 2: Scripted
Section titled β128 β Level 2: ScriptedβA script assists:
ON DEMANDExample:
GENERATE HOST SECURITY REPORT129 β Level 3: Scheduled
Section titled β129 β Level 3: ScheduledβAutomation runs:
DAILY
WEEKLY
HOURLYExample:
DAILY CLOUD POSTURE REPORT130 β Level 4: Integrated
Section titled β130 β Level 4: IntegratedβMultiple systems communicate via:
APIS
WEBHOOKS
DATABASES131 β Level 5: Orchestrated
Section titled β131 β Level 5: OrchestratedβThe workflow combines:
SIEM
IDENTITY
CMDB
THREAT INTEL
VULNERABILITY
CASE MANAGEMENT132 β Level 6: Controlled Response
Section titled β132 β Level 6: Controlled ResponseβAutomation may execute approved response actions with:
STRICT GOVERNANCE
VERIFICATION
AUDIT
ROLLBACK
APPROVAL133 β Safety Review Questionnaire
Section titled β133 β Safety Review Questionnaireβ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?134 β Automation Risk Matrix
Section titled β134 β Automation Risk Matrixβ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 |
135 β High-Risk Indicators
Section titled β135 β High-Risk Indicatorsβ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 MONITORING136 β Approval Outcome
Section titled β136 β Approval OutcomeβAt the end of review choose:
APPROVED
APPROVED WITH CONDITIONS
REQUIRES REDESIGN
REJECTED137 β Example: Safe Alert Enrichment
Section titled β137 β Example: Safe Alert EnrichmentβProposed automation:
READ SIEM ALERT
QUERY CMDB
QUERY IDENTITY
QUERY VULNERABILITY SYSTEM
GENERATE CONTEXTAssessment:
READ-ONLY
LOW BLAST RADIUS
REVERSIBLE
NO PRODUCTION CHANGELikely result:
APPROVE AFTER TESTING138 β Example: Automatic Account Disablement
Section titled β138 β Example: Automatic Account DisablementβProposed:
IF RISK SCORE > 80DISABLE USERRisk:
FALSE POSITIVE
BUSINESS LOCKOUT
SERVICE ACCOUNT IMPACT
RISK MODEL ERROR
IDENTITY MATCHING ERRORSafer design:
HIGH SCORE βCOLLECT EVIDENCE βCREATE RESPONSE RECOMMENDATION βANALYST APPROVAL βCONTROLLED DISABLEMENT βVERIFY139 β Example: Cloud Storage Finding
Section titled β139 β Example: Cloud Storage FindingβProposed:
IF PUBLIC STORAGE FOUNDDELETE STORAGEReject this design.
Possible safer workflow:
PUBLIC STORAGE DETECTED βCHECK OWNER βCHECK BUSINESS PURPOSE βCHECK DATA CLASSIFICATION βCREATE REVIEW TICKET βAPPROVED CHANGE140 β Example: Ticket Automation
Section titled β140 β Example: Ticket AutomationβProposed:
CREATE VULNERABILITY TICKETFOR P1 FINDINGRisks:
DUPLICATE TICKETS
BAD OWNER MAPPING
BAD PRIORITYControls:
IDEMPOTENCY
OWNER VALIDATION
PREVIEW
AUDIT LOG141 β Example: Firewall Automation
Section titled β141 β Example: Firewall AutomationβHigh-risk scenario:
IOC MATCH βBLOCK IPRisks:
SHARED INFRASTRUCTURE
CDN
PROXY
FALSE POSITIVE
BUSINESS OUTAGESafer approach:
IOC MATCH βCORRELATE βVALIDATE βRECOMMEND BLOCK βAPPROVAL142 β Design Review Template
Section titled β142 β Design Review TemplateβCreate:
automation-design-review.md143 β Section 01 β Automation Overview
Section titled β143 β Section 01 β Automation OverviewβDocument:
NAME:
OWNER:
PURPOSE:
SECURITY DOMAIN:
ENVIRONMENT:
AUTOMATION LEVEL:144 β Section 02 β Current Manual Process
Section titled β144 β Section 02 β Current Manual ProcessβDocument:
CURRENT STEPS:
CURRENT TIME:
CURRENT ERROR RATE:
CURRENT PAIN POINTS:145 β Section 03 β Proposed Workflow
Section titled β145 β Section 03 β Proposed WorkflowβDocument:
TRIGGER:
INPUTS:
PROCESSING:
OUTPUT:
WRITE ACTIONS:146 β Section 04 β Data Sources
Section titled β146 β Section 04 β Data SourcesβFor each:
SOURCE:
OWNER:
AUTHENTICATION:
FRESHNESS:
FAILURE BEHAVIOR:147 β Section 05 β Permissions
Section titled β147 β Section 05 β PermissionsβDocument:
SERVICE IDENTITY:
READ PERMISSIONS:
WRITE PERMISSIONS:
ADMIN PERMISSIONS:
JUSTIFICATION:148 β Section 06 β Failure Modes
Section titled β148 β Section 06 β Failure ModesβUse:
FAILURE:
IMPACT:
DETECTION:
RECOVERY:149 β Section 07 β Blast Radius
Section titled β149 β Section 07 β Blast RadiusβDocument:
MAX USERS AFFECTED:
MAX SYSTEMS AFFECTED:
MAX CLOUD RESOURCES AFFECTED:
DATA LOSS POSSIBILITY:150 β Section 08 β Approval
Section titled β150 β Section 08 β ApprovalβDocument:
APPROVAL REQUIRED?
APPROVER:
ACTION PREVIEW AVAILABLE?
APPROVAL EXPIRY:151 β Section 09 β Rollback
Section titled β151 β Section 09 β RollbackβDocument:
ROLLBACK AVAILABLE?
PREVIOUS STATE CAPTURED?
ROLLBACK TESTED?
ROLLBACK OWNER:152 β Section 10 β Verification
Section titled β152 β Section 10 β VerificationβDocument:
SUCCESS CONDITION:
VERIFICATION METHOD:
FAILURE CONDITION:153 β Section 11 β Testing
Section titled β153 β Section 11 β TestingβDocument:
UNIT TEST:
SYNTHETIC TEST:
INTEGRATION TEST:
STAGING TEST:
CANARY TEST:154 β Section 12 β Monitoring
Section titled β154 β Section 12 β MonitoringβDocument:
HEALTH CHECK:
ERROR ALERTING:
METRICS:
LOGGING:
ON-CALL:155 β Section 13 β Governance
Section titled β155 β Section 13 β GovernanceβDocument:
CODE REVIEW:
POLICY VERSION:
CHANGE CONTROL:
REVIEW CADENCE:156 β Section 14 β Decision
Section titled β156 β Section 14 β DecisionβUse:
APPROVED
APPROVED WITH CONDITIONS
REDESIGN REQUIRED
REJECTED157 β Pre-Production Checklist
Section titled β157 β Pre-Production Checklistβ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
158 β Production Readiness Gate
Section titled β158 β Production Readiness Gateβ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 MODEL159 β Review After Deployment
Section titled β159 β Review After DeploymentβThe design review is not the end.
Monitor:
ERROR RATE
FALSE POSITIVES
OPERATOR OVERRIDES
RETRY RATE
FAILED ACTIONS
BUSINESS IMPACT160 β First 24 Hours
Section titled β160 β First 24 HoursβAfter deployment:
MONITOR CLOSELY
REVIEW LOGS
CHECK OUTPUT
VERIFY PERMISSIONS
CHECK ERROR RATE161 β First Week
Section titled β161 β First WeekβReview:
AUTOMATION VALUE
FAILURES
BAD DATA
ANALYST FEEDBACK
FALSE POSITIVES
PERFORMANCE162 β Continuous Improvement
Section titled β162 β Continuous ImprovementβAutomation lifecycle:
DESIGN βBUILD βTEST βDEPLOY βMONITOR βLEARN βIMPROVE163 β When to Roll Back
Section titled β163 β When to Roll BackβConsider rollback if:
UNEXPECTED PRODUCTION IMPACT
HIGH FAILURE RATE
BAD DATA CORRELATION
INCORRECT ACTIONS
PERMISSION ISSUE
UNCONTROLLED RETRY LOOP164 β When to Disable Automation
Section titled β164 β When to Disable AutomationβDisable rather than continue when:
SAFETY CONTROLS FAIL
APPROVAL SYSTEM FAILS
DATA QUALITY IS UNTRUSTWORTHY
BLAST RADIUS IS UNCLEAR165 β Security Automation Decision Tree
Section titled β165 β Security Automation Decision Treeβ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 GOVERNANCE166 β Key Decision Principle
Section titled β166 β Key Decision PrincipleβHIGHER IMPACT=STRONGER CONTROLS167 β Safety Equation
Section titled β167 β Safety EquationβAUTOMATION VALUE +RELIABLE DATA +LEAST PRIVILEGE +TESTING +MONITORING +APPROVAL +ROLLBACK =SAFER SECURITY AUTOMATION168 β Final Mental Model
Section titled β168 β Final Mental ModelβWhenever someone says:
LET'S AUTOMATE THISask:
WHAT EXACTLY? βWHY? βWHAT DATA? βWHAT ACCESS? βWHAT CAN GO WRONG? βHOW MANY THINGSCAN IT AFFECT? βCAN WE DRY RUN? βWHO APPROVES? βCAN WE ROLL BACK? βHOW DO WE VERIFY? βHOW DO WE MONITOR? βWHO OWNS IT?Runbook Outcome
Section titled βRunbook OutcomeβAt the end of this runbook, you should have one of four clear outcomes:
APPROVED FOR IMPLEMENTATIONor:
APPROVED WITH SAFETY CONDITIONSor:
REDESIGN REQUIREDor:
AUTOMATION SHOULD NOT PROCEEDWhatβs Next?
Section titled βWhatβs Next?ββ‘οΈ 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 HEALTHThe goal will be to establish one repeatable process for handling security data before it reaches analytics, correlation, risk scoring, or response automation.