一个.sys文件,可能正在失去它最重要的功能:保密
过去,在亚马逊看中一块采集卡、一个音频接口,Linux和Mac用户往往先翻到页面底部,寻找那行决定命运的小字:是否提供驱动?
没有?
关掉页面。
换一家。
但逆向工程与安全研究者 Brendan Dolan-Gavitt 说,他已经不怎么检查了
理由听起来近乎蛮横:前沿大模型可以逆向Windows驱动,再在几小时内为其他系统合成一份驱动
厂商的支持策略与硬件接口依然如故
AI正试图从二进制里,把厂商没说出口的话重新读出来
一枚二进制扔进去,源码就出来了?
Dolan-Gavitt并非围观群众
他长期研究程序分析、逆向工程和AI安全,早年就做过 gpt-wpre:先用Ghidra反编译程序、抽取调用图,再让GPT-3逐层总结函数
换句话说,他一直在追问同一件事:
机器能不能不只“看见指令”,而是真正理解一个程序在干什么?
但开源运动元老 Eric S. Raymond(ESR),把这番工程判断推向了更激进的结论
他宣称:甚至不必先手工反编译。
把Windows驱动二进制直接交给前沿模型,就可能得到可读源码
他的旁证是,据其自述,他曾把一份DOS二进制交给“ChatGPT 5.5”,模型给出了相当可读的Pascal代码
Windows驱动接口又有大量公开文档,因此他判断:靠二进制驱动维持秘密的时代,正在结束
一个安全研究者给出技术判断;
一个开源运动旗手,则把它写成了立场宣言
“直接喂”背后,仍有一整条工具链
这里必须踩一下刹车。
用户感受到的“直接”,背后仍可能有一整套工程工具
实际流程更可能是:
.sys文件 → 识别PE结构 → 反汇编/反编译 → 推断函数与状态机 → 提取设备规格 → 生成Linux或Mac驱动 → 真机调试
模型背后可能调用objdump、Capstone、IDA、Ghidra等工具
它的关键工作,是把晦涩的汇编和伪代码压缩成语义:这个函数在初始化设备,那个IOCTL在切换模式,这组写寄存器操作可能控制采样率
模型吐出的“源码”通常是功能等价、适合人类阅读的重建版本
变量名、注释和工程结构早已在编译时丢失
Windows驱动文档确实是一张巨大地图
WDM、KMDF、电源管理、即插即用,都有公开契约
但地图只告诉模型操作系统这一侧的语法,芯片私有寄存器、固件握手和加密校验,仍可能是一片黑海
从DOS老游戏到现代驱动,中间隔着一座山
争议出现后,ESR补充了一个极其关键的限定:那份Pascal代码来自一款古老的共享软件游戏,与现代Windows内核驱动相去甚远
他后来又称,自己让另一轮模型把结果转译为Rust,并且能够编译运行

▲ ESR后续澄清:DOS→Pascal案例并非现代驱动,重点是模型能够识别操作系统trap
这依然令人兴奋,但不能偷换概念。
老游戏→Pascal/Rust,不等于现代.sys→可进Linux主线的驱动
后者必须处理DMA、中断、并发、热插拔、电源状态、用户态协议,以及硬件在异常路径下的反应
这条路上至少有四道关卡:
- 能编译
- 能让设备亮起来
- 能稳定运行几个月
- 能被Linux内核维护者合并
这是四张相互独立的门票,缺一不可。
目前公开材料也没有展示完整驱动清单、提示词、工具调用轨迹或上游补丁
所谓“几小时”,究竟适用于简单USB小配件,还是GPU、网卡这类复杂设备,仍没有可复现答案
AI逆向已有技术根基,距离“一键驱动”还很远
这场讨论并非毫无技术地基。
Dolan-Gavitt的 gpt-wpre,早已展示大模型如何在Ghidra伪代码之上总结整套程序
它承担了逆向工程最耗人的步骤之一:从无数函数碎片中拼出整体意图

▲ gpt-wpre利用Ghidra反编译结果与调用图,让GPT-3递归总结整个程序
2024年的开源项目 LLM4Decompile 又把路线向前推了一步:将反汇编文本输入专用模型,再生成C代码,并以代码能否重新执行作为评估指标

▲ LLM4Decompile把“模型反编译”变成了可训练、可评估的研究问题
但它主要聚焦Linux x86_64、函数级程序和特定编译设置
函数级C代码恢复,与完整Windows内核驱动迁移,仍是两个量级的问题
AI正在砍掉大量阅读、命名和模式识别劳动,这一点越来越清楚;
它是否已经消灭驱动工程,则远未得到证明
十年Nouveau,真能被压缩成几个小时?
英伟达开源驱动 Nouveau,是这场争论最鲜明的历史坐标
为了在缺少充分文档的情况下驱动GPU,社区从2005年前后开始逆向专有驱动,采集MMIO行为、重建命令格式、追踪电源与时钟路径
项目多年后才进入内核,重定时钟和性能问题又困扰了更久

▲ Nouveau展示了传统闭源GPU驱动逆向所需的漫长时间与巨大社区投入
而ESR的判断是:模型可能把十年级的人力劳动,压缩到小时或天
这正是产业真正该紧张的地方。
哪怕AI不能一次生成完美驱动,只要它能把逆向成本降低一个数量级,厂商“不给文档、只发Windows blob”的策略就会迅速贬值
不过,护城河也可能迁移:从源码保密,转向签名固件、加密握手、认证体系、云端服务和专利组合
秘密不一定消失,只会换一个更难撬的位置
代码能跑,法律未必放行
ESR随即追问另一个危险问题:从许可未知的驱动blob中生成源码,这份代码到底属于谁?
他提出了一条“净室”路线:
第一轮模型只分析Windows驱动,输出行为规格、寄存器语义和接口说明; 第二轮模型不接触原二进制,只根据规格生成Linux驱动。
Grok将其称为一种合理的clean-room变体,但也明确提醒:合理,不等于自动合法

▲ 公开回复强调,规格与再实现分离可降低风险,但衍生作品、EULA与具体事实仍然关键
美国既有判例曾支持为互操作而进行必要的中间复制与反汇编,但直接分发“像源码一样”的重建结果,风险更高
EULA、DMCA反规避条款、二进制取得方式,以及是否把专有代码上传给云端模型,都会改变事实组合
关键在于,目前没有公开判决替“LLM反编译并分发驱动”盖章
AI可以生成规格,却不能自动生成一条干净的证据链
真正可能被击穿的,是成本曲线
这场风暴的焦点,在于逆向工程正在从少数专家的手工艺,变成可脚本化、可代理化的生产线
至于模型能否把所有.sys变成Linux模块,现有证据仍不足以支持这个结论
对用户,它意味着老音频接口、CNC设备、采集卡可能重新复活;
对Linux社区,它意味着更多驱动,也意味着更严格的质量与许可证审查;
对安全行业,它既能揭开闭源驱动的攻击面,也可能加速漏洞利用与BYOVD研究
对硬件厂商,则是最直接的财务信号:
“不提供其他平台驱动”这件事,未来或许不再等于“其他平台永远不能用”
当然,闭源驱动还没有在一夜之间死亡
目前仍缺乏公开演示、大规模真机数据,以及现代复杂驱动被完整迁移并进入主线的证据
但第一堵墙,让人读懂机器码,确实正在迅速变矮
而当理解的成本坍塌,重写、兼容和迁移就会接踵而至
到那时,厂商失去的可能远超一份源码的秘密,甚至包括决定用户能在哪个系统上使用自己硬件的权力
夜雨聆风