On July 19, 2024, a single CrowdStrike Falcon sensor config file caused 8.5 million Windows machines to crash simultaneously. Airports shut down. Hospitals canceled surgeries. Banks went offline.
Implicit Contracts Between Systems Fail
The config file was malformed. But the driver assumed it would always be valid.
The Falcon sensor driver had an implicit contract with the config delivery system:
Driver assumption: "Config files are always well-formed."
Config system assumption: "The driver will validate configs before applying them."
Neither side verified the other's assumption. When a malformed config was deployed, both sides failed.
The driver team assumed validation happened upstream. The config team assumed validation happened downstream. Neither team proved their assumption.
This is the textbook definition of an implicit invariant.
When the driver loaded the malformed config:
8.5 million machines in a death spiral. No remote recovery possible. Every machine required manual intervention.
If the contract between driver and config system had been explicit and validated, the malformed config would never have reached production:
Instead, the contract was implicit, unvalidated, and assumed to always hold.
This is not unique to CrowdStrike. Every cloud provider has dozens of these implicit contracts:
When these contracts break — and they always do — we get global cascading outages.
Aviation eliminated this class of failure by making implicit contracts impossible. Every interface has a formal specification. Every component continuously proves it conforms to the spec.
We have the same technology available. We choose not to use it.
The cost: 8.5 million machines bricked. Billions in economic damage. Lives disrupted.
The driver team assumed validation happened upstream. The config team assumed validation happened downstream. Neither team proved their assumption. 8.5 million machines bricked.
How many more outages will it take before we adopt the discipline that already exists?
Want to see how RCP solves this?
Email us at bparanj@zepho.com.