How a Tiny Permission Change at Cloudflare Brought the Internet to Its Knees — Was This the Weirdest Outage Ever?
Cloudflare 因一个微小的权限变更导致全网瘫痪——这可能是史上最离谱的故障?

blog.cloudflare.com
So Cloudflare just took down a giant chunk of the internet because someone tweaked a database permission and accidentally doubled the size of a bot-detection config file? That’s not an outage — that’s a Shakespearean tragedy written in YAML.
所以说,Cloudflare 居然因为有人改了个数据库权限,意外让机器人检测配置文件翻倍,结果搞垮了大半个互联网?这哪是故障,这分明是一出用 YAML 写成的莎士比亚式悲剧。
What’s wild is they initially thought it was a DDoS attack — only for it to turn out the ‘attacker’ was their own database query returning double the columns. The ultimate ‘who hurt you?’ moment in tech ops history.
最离谱的是,他们一开始还以为是 DDoS 攻击——结果发现所谓的‘攻击者’竟是自家数据库查询返回了双倍字段。这是运维史上终极的‘你究竟被谁伤害了?’时刻。
这就是为什么我们永远享受不到安稳系统。一个查询元数据的 SQL 语句配置稍错,轰——全球一半网站开始返回 500 错误。我见过的实际 DDoS 攻击破坏力都没这么大。
上次我们怪 BGP 泄露,这次我们怪 schema 查询?我们根本没进步——失败模式只是像病毒一样在进化罢了。
没错。我们过去怕黑客,现在怕的是自己的迁移脚本。
让我理一下:一次权限变更引发元数据重复,导致配置文件膨胀,最终压垮代理服务器。所以保护我们免受机器人侵害的系统,竟因收到太多关于机器人的信息而崩溃了?
他们说不是网络攻击,但别开玩笑了——谁信啊?也许并非恶意,但他们的 CI/CD 流水线肯定被不良意图劫持了,哪怕只是间接的。
好吧但说实话——因为对 Err 值调用 Result::unwrap() 引发 panic 而导致系统崩溃,就像你因为打喷嚏太用力而死了一样。系统不该如此脆弱。
更别提他们的状态页面也挂了。如果团队仅因页面变慢就以为遭到攻击,那把页面放在平台外也毫无意义。
现代基础设施:最安全的系统,也可能被一条没有 WHERE 条件的 SELECT 语句彻底瓦解。