网易首页 > 网易号 > 正文 申请入驻

阿波罗登月代码藏了57年:4字节漏洞躲过全球审查

0
分享至

2003年公开至今,阿波罗11号制导计算机的源代码被数千名开发者逐行审阅过。论文发表了,模拟器跑通了,字节级校验也通过了。结果上周,一家叫JUXT的英国公司用静态分析工具扫了一遍,在陀螺仪控制模块里揪出一个资源锁泄漏——4字节,2条缺失的指令。

被神话的代码,原来也会漏

阿波罗制导计算机(AGC)的源代码是软件工程界的圣杯。它把人类送上月球,总共只用了7万多字节的内存。NASA把它开源后,GitHub上的镜像仓库收了无数star,程序员们像朝圣一样读它,试图从中提炼出"上世纪60年代的代码智慧"。

JUXT团队原本没打算找bug。他们只是在验证一套新的静态分析工具,顺手拿AGC当测试靶子——毕竟"最可靠的代码"如果都能检出东西,说明工具够灵敏。

结果真检出了。

漏洞藏在IMU MODE SWITCHING ROUTINES里,负责管理惯性测量单元的模式切换。代码申请了一个资源锁,但在某条错误处理路径上忘了释放。如果陀螺仪在特定时刻触发异常,锁就永远挂在那里,后续所有姿态重对准操作都会卡住。

阿波罗11号没触发这个条件,阿波罗12到17号也没触发。但JUXT的模拟器显示,只要满足一组精确的时序条件——大约每发射12次可能出现1次——宇航员会在月球轨道上发现飞船"突然不知道自己在哪"。

57年为什么没人发现

这个问题值得拆解。AGC的代码确实被过度神化了,但它的验证流程在1969年堪称变态:手工走查、硬件在环测试、蒙特卡洛模拟,再加上三位宇航员在模拟器里泡了数百小时。

然而漏洞躲过了所有这些。

原因一:资源锁泄漏属于并发缺陷,而AGC是单任务系统。开发者当年没有"锁"的概念,他们叫它"控制位",思维模型里没有"泄漏"这个类别。换句话说,你没法用1969年的工具检测1970年代才定义的问题类型。

原因二:错误路径的触发条件太刁钻。需要陀螺仪在模式切换的中点恰好报告故障,而地面测试用的故障注入是离散的、手动的,很难覆盖这种连续时序边界。

原因三:代码注释写的是"TEMPORARY, TO BE FIXED"。但阿波罗计划结束后,没人再碰过这块代码。2003年的数字化项目只做了忠实转录,没做语义审查。

JUXT的工程师在报告里写了一句很损的话:"我们用了现代工具,但本质上和1960年代的NASA程序员没什么不同——都是盯着屏幕,试图理解另一群人在压力下写的代码。"

对今天写代码的人意味着什么

这个案例最扎心的不是"古人也会犯错",而是审查机制的天花板。

AGC的代码审查密度是历史级的:核心模块经过多人交叉检查,关键路径有形式化验证的雏形,测试覆盖率按今天的标准依然夸张。但四字节还是漏了,因为审查只能发现审查者能想象到的问题。

JUXT用的是一类叫"抽象解释"的静态分析技术,简单说就是让工具自动遍历所有可能的程序状态,而不是依赖人脑枚举测试用例。这种技术在2003年还不成熟,2010年后才开始商业化。

有意思的是,AGC的代码结构其实特别适合静态分析——没有动态内存分配,没有递归,控制流图是扁平的。如果当年有这套工具,四字节漏洞大概率活不过编译阶段。

但这里有个悖论:现代软件复杂度已经远超AGC,静态分析工具反而经常报出大量误报,开发者被迫关闭检查规则。JUXT团队特意提到,他们的工具在AGC上零误报,是因为"目标代码足够小、足够老、足够简单"。

翻译一下:我们没法用对付简单代码的工具,去对付复杂代码。

最后一点冷知识

这个漏洞如果被触发,宇航员其实有手动备份方案。AGC的设计哲学是"任何自动功能都必须能被人工覆盖",所以阿姆斯特朗们可以靠星图和六分仪重新对准平台——前提是他们在月球轨道上还有心情做三角函数。

JUXT已经把修复补丁提交给AGC的开源维护项目。四字节,两条指令,补上了。

57年后,这段代码终于完整了。下一个会在哪段"最可靠的代码"里?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普儿媳抖家族猛料:伊万卡爱提建议,公公喜欢半夜打电话

特朗普儿媳抖家族猛料:伊万卡爱提建议,公公喜欢半夜打电话

像梦一场a
2026-04-23 22:48:46
当年刘恺威杨幂两个确实是生理性喜欢

当年刘恺威杨幂两个确实是生理性喜欢

科学发掘
2026-04-24 06:45:03
2.0L!雷克萨斯确认:新车降价7万元

2.0L!雷克萨斯确认:新车降价7万元

手机评测室
2026-04-23 11:51:45
美以失算!伊朗强硬派全面掌权,温和派靠边站,美伊谈判又熄火

美以失算!伊朗强硬派全面掌权,温和派靠边站,美伊谈判又熄火

国是直通车
2026-04-22 20:39:30
5月1日起高速收费大变!跑多少付多少,8-9座车直接省一半

5月1日起高速收费大变!跑多少付多少,8-9座车直接省一半

洞见小能手
2026-04-23 00:20:03
5月1日新规落地!烟酒礼品全面管控,公职人员迎来全面约束

5月1日新规落地!烟酒礼品全面管控,公职人员迎来全面约束

罐头告诉猫迷
2026-04-24 03:40:10
随着曼城英超登顶,巴萨领先皇马9分,五大联赛最终冠军基本如下

随着曼城英超登顶,巴萨领先皇马9分,五大联赛最终冠军基本如下

球场没跑道
2026-04-23 07:38:18
拉夫罗夫:莫斯科将把全部历史上的俄罗斯土地归还其合法家园

拉夫罗夫:莫斯科将把全部历史上的俄罗斯土地归还其合法家园

冷峻视角下的世界
2026-04-24 01:14:37
在秘鲁全面爆发政治危机之际,洛克希德·马丁赢得F-16战斗机订单

在秘鲁全面爆发政治危机之际,洛克希德·马丁赢得F-16战斗机订单

零度Military
2026-04-24 07:22:14
砸6700亿建雄安,面积抵3个纽约,如今究竟咋样了?

砸6700亿建雄安,面积抵3个纽约,如今究竟咋样了?

娱乐圈的笔娱君
2026-03-26 12:15:32
多库:想有“吃饼式”进球;40米内胡桑诺夫比我速度快

多库:想有“吃饼式”进球;40米内胡桑诺夫比我速度快

懂球帝
2026-04-24 07:08:07
民进党,极有可能在下一届台湾地区选举后,成为长期一家独大政党

民进党,极有可能在下一届台湾地区选举后,成为长期一家独大政党

李橑在北漂
2026-04-02 10:22:26
中纪委2026严查新方向,这6类岗位首当其冲

中纪委2026严查新方向,这6类岗位首当其冲

细说职场
2026-04-23 09:15:43
比哲凯赖什还水?阿森纳砸了3.2亿,却养出一个“新卡尔斯特伦”

比哲凯赖什还水?阿森纳砸了3.2亿,却养出一个“新卡尔斯特伦”

澜归序
2026-04-24 03:48:51
许家印认罪后,恒大前美女高管曝惊人内幕,众多大佬集体落幕

许家印认罪后,恒大前美女高管曝惊人内幕,众多大佬集体落幕

云舟史策
2026-04-24 07:21:19
德天空:桑乔收到了多份报价;他明确表示想再次加盟多特

德天空:桑乔收到了多份报价;他明确表示想再次加盟多特

懂球帝
2026-04-24 05:54:06
信阳毛尖“毁”在谁手里?

信阳毛尖“毁”在谁手里?

华商天下
2026-04-22 16:55:15
事实证明,已经“消失”7年的周立波,早已走上一条不归路

事实证明,已经“消失”7年的周立波,早已走上一条不归路

素衣读史
2026-04-16 19:41:20
失踪足足5天后,美军终于承认:价值16亿的最强无人机在中东没了

失踪足足5天后,美军终于承认:价值16亿的最强无人机在中东没了

起喜电影
2026-04-23 14:23:40
至今,还有13个国家和中国没有建交,他们都是谁?

至今,还有13个国家和中国没有建交,他们都是谁?

深度报
2026-04-22 22:30:57
2026-04-24 07:56:49
闪存猎手
闪存猎手
全网蹲好价的野生捕手,算力与羊毛都不可辜负。
1617文章数 14关注度
往期回顾 全部

科技要闻

马斯克喊出"史上最大产品",但量产难预测

头条要闻

特朗普发文后 伊朗最高领袖、总统、议长、外长齐发声

头条要闻

特朗普发文后 伊朗最高领袖、总统、议长、外长齐发声

体育要闻

给文班剃头的马刺DJ,成为NBA最佳第六人

娱乐要闻

王大陆因涉黑讨债被判 女友也一同获刑

财经要闻

普华永道赔偿10亿 恒大股东见到"回头钱"

汽车要闻

预售30.29万起 岚图泰山X8配896线激光雷达

态度原创

亲子
数码
房产
旅游
本地

亲子要闻

新华读报|打乒乓球有助提高儿童注意力

数码要闻

从审美定义到硬件大底:大疆Pocket 4凭什么成为人像「天花板」?

房产要闻

三亚安居房,突然官宣!

旅游要闻

走进榉溪村

本地新闻

SAGA GIRLS 2026女团选秀

无障碍浏览 进入关怀版