首页 › programming › 45分钟烧掉4.6亿美元:史上最贵Bug

45分钟烧掉4.6亿美元:Fireship重讲史上最贵软件Bug

导语

一个技术员漏更新了一台服务器,八小时后一家市值15亿美元的公司灰飞烟灭——这不是电影剧本,而是2012年8月1日Knight Capital真实发生的事。

Fireship两天前发布的视频《The most expensive software bug in history...》正在编程圈疯传:上架不到48小时播放量已逼近100万(本文写作时约99.5万)。Fireship有425万订阅,向来以“5分钟塞进一门课”的高密度风格著称,这次的选题堪称经典重制——史上最贵的软件部署事故,10分钟平均每分钟烧掉近1000万美元。

为什么这个14年前的老故事值得2026年的开发者再看一遍?因为它踩的每一个坑——死代码不敢删、功能开关(feature flag)被复用、手工部署漏掉一台机器、告警邮件发进没人看的邮箱——在今天CI/CD高度自动化、AI写代码大行其道的时代,不但没有消失,反而换了身马甲变得更危险了。Fireship在视频里把它称为"rogue feature flag"(失控的功能开关),但真正值得咀嚼的是开关背后那一整套组织性失灵。本文结合SEC执法报告和某百科的史料,把这5分钟视频拆开揉碎,补全它没来得及讲的每个细节。

视频背景卡片

项目 内容
视频标题 The most expensive software bug in history...
频道 Fireship(订阅数约425万)
时长 5分19秒
播放量 约99.5万(发布2天)
发布时间 2026年8月28日
核心主题 Knight Capital 2012年部署事故:一个失控的功能开关如何在45分钟内亏掉4.4亿美元

核心内容拆解

1. 事故主角:一家“看不见但无处不在”的公司

先补个背景。Knight Capital是当时美国最大的股票做市商(market maker)——你没听过它很正常,因为它做的是B端生意:你在券商App下单买100股苹果,订单很可能经由它的高频系统在纽交所撮合。巅峰时期,它占据纽交所17.3%、纳斯达克16.9%的成交份额,日均撮合金额超过210亿美元,公司2011年估值约15亿美元、雇员1400余人。

Fireship在视频里强调这个体量,是为了让后面那个数字更有冲击力:这样一家每天经手几十亿美元的公司,被一段2003年的死代码送走了。【延伸分析】做市商的核心资产是系统可靠性,它赚的是买卖价差里的小钱,靠的是天量交易摊薄风险——这意味着系统一旦“抽风”,亏损速度是按毫秒计算的。这是个把“软件即生命线”演绎到极致的行业。

2. 案发现场:SMARS和被复用的“开关位”

按SEC执法报告还原的细节:2012年8月1日早上,Knight为配合纽交所新的Retail Liquidity Program(零售流动性计划,简称RLP)升级订单路由系统SMARS。这套系统分布在8台服务器上。新代码部署时,一名技术员漏复制了其中一台。

致命的不是“漏了一台”本身,而是新代码里藏着一个历史遗留设计:RLP功能复用了一个旧标志位(flag)。这个flag在老版本系统里的含义,是激活一个叫"Power Peg"的功能——2003年就废弃了的旧模块。

于是那台没更新的老服务器收到带这个flag的新订单时,执行的是老语义:触发Power Peg。【延伸分析】这就是feature flag治理的经典反面教材——同一个二进制位,在新代码里是“是否参与RLP”,在旧代码里是“是否启动Power Peg”。语义漂移(semantic drift)发生在代码层面看不见的地方,任何 review 新代码的人都不会察觉,因为雷埋在没更新的旧机器里。

3. 死代码为什么能活8年?因为“没人敢删”

Power Peg的功能是批量执行股票交易,成交足够数量后停止。但2003年它被弃用时,工程师改动了“上报成交量”的回调逻辑——从此这段代码收到订单后,永远无法把订单标记为“已完成”。

换句话说:这是一段一旦被激活就会无限下单的死代码,在代码库里安静地躺了8年,跟着每一代部署流水线走遍了8台服务器。

【延伸分析,视频原话之外的重要补充】Fireship调侃了“为什么不删掉它”,但答案其实很现实主义:金融系统的代码,删一行要走合规审批、回归测试、多方签字,而“留着不动”对个人永远是零风险——风险是公司的。这就是所谓的“死代码合谋”(conspiracy of dead code):每个人都理性地选择不碰它,直到系统性风险爆发。2012年SEC事后调查专门点名了Knight的部署流程缺陷:没有自动化部署、没有部署后校验、8台服务器靠人肉拷贝。放在今天,这就是为什么“基础设施即代码”和不可变基础设施(immutable infrastructure)会成为行业标准。

4. 上午9:30开盘:每分钟1000万美元的燃烧速度

纽交所9:30开盘。那台被遗漏的服务器立刻开始疯狂对外报单。SEC报告的数字触目惊心:45分钟内,针对212个母订单,系统发出了数百万个子订单,在154只股票上成交397万手、超过3.97亿股。

更荒诞的是市场反应:纽交所148家公司的价格被搅乱,一只叫Wizzard Software的小盘股从3.5美元被拉到14.76美元——一笔意外财富砸中了不知情的卖家。

而Knight内部一开始没人知道发生了什么。管理层最初以为是行情数据出了问题,是别人家的错。等他们反应过来时,税前亏损已达4.4亿美元(加上相关损失,媒体普遍引用总数为4.6亿美元)。Fireship算了笔账:平均每分钟烧掉约1000万美元,比大多数创业公司的整个生命周期烧得都快。

5. 97封没人读的警告邮件:事故里最扎心的细节

这是SEC报告里最值得写进教科书的一条,也是很多解读会漏掉的:开盘后,SMARS其实一直在给Knight员工发邮件报警——Power Peg相关的错误提示前后发出了97封。

问题是,这些邮件发进了一个没有人监控的共享邮箱。

97次机会,全部错过。【延伸分析】事故分析里有个经典结论:绝大多数重大事故都不是“没有信号”,而是“信号到达了、没人负责处理”。2011年Knight还因另一个项目被罚过,内部风险控制形式化早有苗头。今天每个后端团队都该问自己一个问题:我们的告警发到哪里?谁在值班?告警疲劳(alert fatigue)是不是已经让99%的告警被无脑忽略?监控系统没接上“人”的闭环,等于没有监控系统。

6. 公司之死:4天、75%、一家接盘侠

亏损确认后,剧情按教科书式崩盘推进:8月1日当天股价暴跌33%至3.39美元;两天内75%的市值蒸发,较事故前累计跌去70%以上。8月5日,Knight被迫接受以Jefferies领投的约4亿美元紧急注资——形态是可转换债券,代价是控股权旁落。当年12月,Knight同意被高频交易公司Getco收购,2013年7月合并完成,改名为KCG Holdings。2013年,SEC就此事对Knight开出1200万美元罚单。

还有个黑色幽默式的细节:KnightCEO Thomas Joyce此前刚刚公开批评纳斯达克处理Facebook IPO时的技术故障——半年后,自己成了全华尔街最大的技术笑话。

【延伸分析】注意这场崩盘的本质:公司不是死于亏损4.4亿本身(它账上有钱),而是死于信任。做市商的对手方、清算行、客户看到“系统性失控”四个字,立刻切断合作,流动性瞬间枯竭。技术事故一旦上升到“这家公司的系统不可信”,估值逻辑就从市盈率切换到了清算价。这也是为什么今天大厂愿意为SRE、混沌工程、灾备演练花这么多钱——那不是成本,是保命费。

7. Fireship没明说的潜台词:AI时代事故只会更快

视频结尾把话题拉回当下,这也是Fireship一贯的叙事钩子。把Knight Capital的故事映射到2026年,有几处令人后背发凉的相似:

【以上为延伸分析】当然也要公平地说:2012年之后的金融行业建立了熔断机制、kill switch和更严的算法交易监管,云原生时代的部署校验、灰度发布、自动回滚也已是标配。Knight式的“单台服务器漂移”在容器化环境里已难复现。但“信号被忽略+组织性失灵”这个根因,从未被任何技术栈修复过。

知识结构图

flowchart TD
    A[Knight Capital 部署事故 2012-08-01] --> B[技术根因]
    A --> C[组织根因]
    A --> D[后果]

    B --> B1[8台服务器手工部署<br/>漏更新1台]
    B --> B2[RLP新代码复用旧flag位<br/>语义漂移]
    B --> B3[Power Peg死代码存活8年<br/>上报逻辑被改=永不停止]
    B1 --> E[旧服务器触发死代码<br/>无限下单]
    B2 --> E
    B3 --> E

    C --> C1[97封告警邮件<br/>发进无人监控的邮箱]
    C --> C2[无自动化部署<br/>无部署后校验]
    C3[管理层误判<br/>以为是他家行情故障]
    C1 --> F[错过全部止损窗口]
    C2 --> F
    C3 --> F

    E --> G[45分钟: 154只股票<br/>397万股 400万笔成交]
    F --> G
    G --> H[税前亏损4.4亿美元<br/>148只股票价格被扰乱]
    H --> I[股价两日跌75%<br/>紧急注资4亿美元]
    I --> J[被Getco收购<br/>公司消失]

    B2 -.教训.-> K1[Feature Flag治理<br/>开关要设过期时间]
    B3 -.教训.-> K2[定期清理死代码<br/>僵尸代码即负债]
    B1 -.教训.-> K3[不可变基础设施<br/>消灭手工部署漂移]
    C1 -.教训.-> K4[告警必须闭环到人<br/>值班+升级机制]

实战启示

这个视频对程序员的价值不在“吃瓜”,而在它给出了一份几乎免费的事故检查清单。你可以拿它对照自己负责的系统:

第一,给feature flag办葬礼。 功能开关是灰度发布的利器,但每个flag都应该有“过期时间”和登记制度:谁创建的、控制什么语义、何时删除。Knight的flag复用事故说明,最危险的不是新增开关,而是没人记得老开关还连着什么。Martin Fowler团队多年前提倡的feature toggle治理(flag有owner、有生命周期管理),在AI批量生成代码的今天价值翻倍。

第二,死代码要么删,要么隔离。 “这代码8年没人动,应该没问题”是史上最贵的错误假设。务实做法:不删也可以,但至少要在静态分析里标记为deprecated、加运行时监控、确保它不可能被新路径激活。CI流水线里跑一遍未使用代码检测(如ts-prune、vulture、unused),成本低得和4.4亿美元完全不成比例。

第三,部署漂移必须可检测。 手工部署的“漏一台”在今天对应的是:配置漂移(config drift)、灰度版本不一致、某个分区没发完版。解法是声明式基础设施+版本一致性校验:任何时刻,系统里运行的所有实例版本必须可查询、可对账。Kubernetes的滚动更新和就绪探针本质上就是在消灭Knight式漂移。

第四,把告警当产品做。 97封邮件进无人邮箱,等于97次理赔机会被撕毁。检查一下你们的告警链路:是否有值班表?告警是否分级?连续3条未被认领是否自动升级到上级?PagerDuty类工具的价值不在发通知,在于“通知必须被签名确认”。

第五,对AI生成代码保持Knight式警惕。 AI写代码越快,人审越形同虚设,事故半径越大。合理的对策不是拒绝AI,而是把信任建立在自动化验证上:测试覆盖、类型系统、金丝雀发布、自动回滚——让“错误的代码只能活5分钟”,而不是45分钟。

延伸学习路径

  1. SEC官方执法报告(2013) — 搜索"SEC Knight Capital administrative order",事故秒级还原的第一手资料,工程事故报告的典范。
  2. Fireship《25 crazy software bugs explained》 — 同频道16分钟合集,把Knight Capital、Heartbleed、Y2K等25个经典软件灾难串成一门“事故鉴赏课”(播放量超260万)。
  3. 《Site Reliability Engineering》(Google SRE Book,免费在线) — 第IV部分“从严苛的教训中学习”正好对应本文的组织性失灵话题。
  4. Martin Fowler的Feature Toggle文章 — feature flag分类学(release toggle、ops toggle等)和治理原则的原始出处。
  5. 纪录片式长文《Broken by Design: The Story of Knight Capital》及Hacker News历次讨论帖 — 工程师社区对死代码文化和部署流程的一手反思,适合对照本文批判性阅读。

一句话总结

Knight Capital用45分钟证明了:杀死一家公司的从来不是某个bug,而是“不敢删的死代码+没人看的告警+靠人肉保证的一致性”这套系统性侥幸——而这套侥幸,今天仍住在每一个代码库里。

参考来源

  1. The most expensive software bug in history... (Fireship) — 本文分析的核心视频,2026年8月28日发布
  2. SEC Order: Knight Capital administrative proceeding (2013) — SMARS/Power Peg/RLP技术细节与97封告警邮件的第一手记录
  3. Fireship频道主页 — 频道订阅量与相关选题(部署事故、SQLite重写、供应链攻击等)
  4. Google SRE Book - Managing Incidents — 告警闭环与值班制度的工程实践参考

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入