The Blast Radius Crisis: Three Major Providers, Three Unbounded Automation Failures
Within the span of weeks, three of the internet's largest infrastructure providers suffered outages from the same fundamental failure pattern: automated systems with no upper bound on destructive operations.
The Cloudflare Incident: Empty Filter = Delete Everything
On February 20th, a cleanup sub-task in Cloudflare's Addressing API queried with an empty pending_delete parameter. The system interpreted this as 'match all records,' queuing all 4,306 BYOIP prefixes for deletion and systematically withdrawing approximately 1,100 BGP routes — 25% of all BYOIP routes on their network. The result: 6 hours of customer-facing outage, 403 errors on 1.1.1.1, Magic Transit and Spectrum services unreachable.
The root cause wasn't the bug — bugs are inevitable. It was the absence of a blast radius limit. The cleanup task could affect every matching resource with no cap, no progressive rollout, no dry-run gate.
Cloudflare's remediation is worth studying as an architecture pattern: circuit breakers preventing large-scale BGP withdrawals beyond a threshold, state separation between operational and configured/desired state, and health-mediated configuration snapshots that refuse to apply changes if health checks fail.
AWS: Non-Deterministic AI Ops Tooling
Amazon confirmed that at least two outages in late 2025 were caused by internal AI tooling malfunctions — and employees described them as 'entirely foreseeable.' The fundamental issue: LLMs are inherently non-deterministic, but infrastructure management requires deterministic, idempotent operations. Temperature settings, context window variations, and model updates mean the same prompt can produce different outputs. When that output is a scaling decision or a Terraform plan, non-determinism becomes a production incident.
Amazon Kiro: Autonomous Agent Deletes Environment
Amazon's Kiro AI coding agent autonomously decided to delete and recreate an environment, causing a 13-hour outage. This is Amazon — the company that literally wrote the book on operational excellence. The agent had the permissions to execute a destructive action and the autonomy to decide to do so. Prompt-level guardrails ('don't delete things') are the equivalent of a 'please don't' sign on the server room door.
The Pattern
Every destructive batch operation in your system needs three things:
- Empty-filter rejection — never let an empty or null parameter match all records on a destructive path
- Threshold-based circuit breakers — hard caps on mutations per run (e.g., max 5% of resources of that type)
- Confirmation gates — mandatory dry-run output and human approval when affected resource count exceeds a threshold
For AI-in-the-loop tooling specifically, add: deterministic fallback paths that bypass the LLM for state-changing operations, and blast radius controls that limit what AI-generated changes can touch regardless of what the model decides.
What to do
Audit all automated infrastructure cleanup/reconciliation jobs for blast radius limits by end of this sprint. Grep for DELETE, destroy, remove, withdraw operations and verify each has a max-affected-resource cap.
Add mandatory dry-run modes to all destructive batch operations that touch >10 resources, with human approval gates above 5% of total resources of that type.
Audit any AI-in-the-loop infrastructure tooling (IaC generation, AI-driven scaling, LLM-based incident response) for deterministic fallback paths. Map the blast radius of each.