The blast radius assessment feature provides ITIL v4 compliant risk analysis for infrastructure changes by combining dependency analysis with planned changes to assess the potential impact before deployment.
Blast radius assessment helps teams:
thothctl check -type blast-radius --recursive
thothctl check -type blast-radius --recursive --plan-file tfplan.json
--recursive: Analyze dependencies recursively through subdirectories--plan-file: Path to terraform plan JSON file (optional)--directory: Target directory to analyze (default: current directory)The assessment uses weighted risk factors to calculate component risk scores:
| Factor | Weight | Description |
|---|---|---|
| Changes Frequency | 30% | How often the component changes |
| Dependencies Count | 25% | Number of dependencies |
| Complexity | 20% | Complexity of the component |
| Criticality | 15% | How critical the component is |
| Recent Changes | 10% | Recent changes to the component |
component_risk = (
changes_frequency * 0.3 +
dependencies_count * 0.25 +
complexity * 0.2 +
criticality * 0.15 +
recent_changes * 0.1
)
Different change types have varying risk levels:
| Change Type | Risk Multiplier | Description |
|---|---|---|
| Delete | 1.5x | Deletion is 50% more risky |
| Replace | 1.3x | Replacement is 30% more risky |
| Update | 1.0x | Update is baseline risk |
| Create | 0.8x | Creation is 20% less risky |
| No Change | 0.0x | No change = no risk |
# Weighted combination of factors
final_risk_score = (
avg_risk * 0.6 + # 60% weight on average risk
max_risk * 0.3 + # 30% weight on maximum risk
blast_radius_factor * 0.1 # 10% weight on blast radius size
)
| Risk Score | Risk Level | Color | ITIL Change Type | Approval Required |
|---|---|---|---|---|
| 0.0 - 0.3 | LOW | π’ Green | STANDARD | Automated |
| 0.3 - 0.6 | MEDIUM | π‘ Yellow | NORMAL | Team Lead |
| 0.6 - 0.8 | HIGH | π Orange | NORMAL | Senior Management |
| 0.8 - 1.0 | CRITICAL | π΄ Red | EMERGENCY | CAB Approval |
================================================================================
π― BLAST RADIUS ASSESSMENT (ITIL v4 Compliant)
================================================================================
ββββββββββββββββββββ π Risk Summary ββββββββββββββββββββ
β Risk Level: HIGH β
β Change Type: NORMAL β
β Total Components: 12 β
β Affected Components: 7 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π₯ Affected Components
βββββββββββββββββββββββ¬βββββββββββββββ¬βββββββββββββ¬ββββββββββββββ
β Component β Change Type β Risk Score β Criticality β
βββββββββββββββββββββββΌβββββββββββββββΌβββββββββββββΌββββββββββββββ€
β vpc-main β update β 0.85 β critical β
β security-group-web β replace β 0.72 β high β
β rds-primary β update β 0.68 β high β
βββββββββββββββββββββββ΄βββββββββββββββ΄βββββββββββββ΄ββββββββββββββ
ββββββββββββββββββββ π ITIL v4 Recommendations ββββββββββββββββββββ
β β’ β οΈ HIGH: Require senior management approval β
β β’ β οΈ Schedule during maintenance window β
β β’ β οΈ Prepare detailed rollback procedures β
β β’ β οΈ Monitor affected systems closely β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββ π Risk Summary ββββββββββββββββββββ
β Risk Level: LOW β
β Change Type: STANDARD β
β Total Components: 8 β
β Affected Components: 2 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββ π ITIL v4 Recommendations ββββββββββββββββββββ
β β’ β
LOW: Standard change process applies β
β β’ β
Can be deployed during business hours β
β β’ β
Basic monitoring sufficient β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The blast radius assessment leverages the existing dependency analysis:
# First run dependency analysis
thothctl check -type deps --recursive
# Then run blast radius assessment
thothctl check -type blast-radius --recursive
Works with terraform plan files:
# Generate plan first
terraform plan -out=tfplan.json
# Assess blast radius with plan
thothctl check -type blast-radius --plan-file tfplan.json --recursive
thothctl check -type deps --recursiveterraform plan -out=tfplan.jsonthothctl check -type blast-radius --plan-file tfplan.json --recursive# Ensure terragrunt.hcl files exist
ls -la */terragrunt.hcl
# Check directory structure
thothctl check -type deps --recursive
# Generate plan file first
terraform plan -out=tfplan.json
# Or use without plan file
thothctl check -type blast-radius --recursive
Risk thresholds can be customized in the service configuration:
risk_thresholds = {
ChangeRisk.LOW: 0.3, # Adjust as needed
ChangeRisk.MEDIUM: 0.6, # Adjust as needed
ChangeRisk.HIGH: 0.8, # Adjust as needed
ChangeRisk.CRITICAL: 1.0 # Maximum risk
}
Components can be marked with specific criticality levels:
thothctl check -type deps - Dependency analysisthothctl check -type plan - Plan validationthothctl inventory iac - Infrastructure inventorythothctl scan iac - Security scanningStarting with v0.20.0, the blast radius command includes significant improvements to change detection, topology generation, and report outputs.
thothctl check iac -type blast-radius --recursive
tfplan.json files recursively across all stacksReports/blast-radius/blast_radius_*.jsonReports/topology/)Reports/
βββ blast-radius/
β βββ blast_radius_20260705_*.json # Risk assessment data
βββ topology/
βββ topology.json # Full topology + mermaid
βββ topology.mmd # Standalone mermaid file
βββ architecture.png # Professional AWS diagram
When terraform plan shows no changes (all no-op), blast radius returns LOW risk with:
This ensures pipelines donβt fail on plans with no actionable changes while still providing visibility into the existing infrastructure footprint.
The blast radius command automatically generates visual topology outputs:
The topology files are written to Reports/topology/ and include both machine-readable JSON and renderable diagram formats suitable for embedding in PRs or documentation.
The web dashboard shows blast radius + topology in a unified view under the π₯ Blast Radius tab. This includes:
The thothctl check iac -type cost-analysis command now provides dual-mode cost estimation:
thothctl check iac -type cost-analysis --recursive
planned_values). This provides a full picture of what the infrastructure costs to run.When no changes are detected in the plan, cost analysis shows the total running cost instead of $0. This gives teams continuous visibility into their infrastructure spend even when no modifications are pending.
The cost analysis JSON report includes:
| Field | Description |
|---|---|
total_running_monthly_cost |
Monthly cost of all planned resources |
total_running_annual_cost |
Annual projection of all planned resources |
total_planned_resources |
Count of all resources in the plan |
change_delta_monthly_cost |
Monthly cost delta from changes only |
change_delta_annual_cost |
Annual cost delta from changes only |
{
"total_running_monthly_cost": 1250.00,
"total_running_annual_cost": 15000.00,
"total_planned_resources": 47,
"change_delta_monthly_cost": 85.50,
"change_delta_annual_cost": 1026.00
}
This dual-mode approach ensures that PR reviews show the marginal cost of changes while still providing the full cost picture for governance and budgeting.