| > "We can't stop the occasional problem" - yes, you can. All those tools (checklists, redundancies, etc) exist to increase the reliability rate. And to stop the occasional problem (ground crew forgets to refuel plane) from turning into a disaster[1]. I might be overly generous, but thats my read of the author's intent. That just like in the airline industry, we have tools to stop occasional problems from turning into disasters. Things like: - Deployment scripts instead of manual processes - Dependency auditing (ideally automated) - Automatic OS-level security updates - Memory-safe languages (Go, Rust, Java) instead of C/C++ - Defence-in-depth (firewalls, host security, etc) - Sandboxing (OpenBSD's pledge, Linux's seccomp, Deno's capabilities, etc) Just like checklists in the aeroplane industry, these approaches require active effort. We don't get secure software if nobody cares enough to make it a priority. [1] https://en.wikipedia.org/wiki/Gimli_Glider |
Preventing every security vulnerability is the same problem as writing bug-free code. And that is manifestly not happening, not even in the most sophisticated software development operations in the world.