近日,微软Azure首席技术官马克·鲁西诺维奇在LinkedIn发文称,他使用Anthropic公司的新AI模型Claude Opus 4.6分析了自己在1986年为Apple II 6502处理器编写的汇编代码。
Claude不仅解释了代码,还进行了"安全审计",发现了细微的逻辑错误,包括一个例程在算术运算后未能检查进位标志的情况。这是一个隐藏了几十年的经典漏洞。
鲁西诺维奇的实验引人注目,因为该代码早于今天的编程语言、框架和安全检查清单。然而,AI能够分析低级控制流和CPU标志位,指出真实的缺陷。对于资深开发者来说,这提醒他们长期存在的代码库可能仍然隐藏着传统工具和开发者已经习以为常的漏洞。
尽管取得了进展,一些专家认为这个实验引发了担忧。
资深市场工程师马修·特里菲罗表示:"我看到的对吗?攻击面刚刚扩展到包括每一个已发布的编译二进制文件。当AI能够如此出色地逆向工程40年前的晦涩架构时,当前的混淆和安全隐蔽方法基本上就毫无价值了。"
特里菲罗说得有道理。一方面,AI将帮助我们发现漏洞以便修复,这是好消息。另一方面,坏消息是,AI也可以破解仍在使用但不再被修补或支持的程序。
Lendsqr创始人阿德德吉·奥洛韦指出:"这比我们承认的更可怕。全球存在数十亿个旧微控制器,许多可能运行着像这样脆弱或审计不足的固件。"
他继续说道:"真正的影响是,恶意行为者可以向它们发送像Opus这样的模型来系统性地寻找漏洞并加以利用,而其中许多系统实际上是无法修补的。"
传统静态分析工具如SpotBugs、CodeQL和Snyk Code扫描源代码中与漏洞相关的模式。这些工具擅长捕获已知问题,如空指针解引用、常见注入模式和API误用,并在大型Java和其他语言代码库中大规模执行。
现在已经很清楚,大语言模型可以补充这些大型检测工具。在2025年的一项对比研究中,GPT-4.1、Mistral Large和DeepSeek V3等大语言模型在多个开源项目中发现漏洞的能力与行业标准静态分析器相当。
这些模型是如何做到的?它们不是询问"这一行是否违反了规则X?",而是有效地询问"鉴于这个系统应该做什么,故障模式和攻击路径在哪里?"这种方法的结合形成了强大的配对。
例如,Anthropic的Claude Opus 4.6 AI正在帮助清理Firefox的开源代码。据Mozilla称,Anthropic的前沿红队在短短两周内发现的Firefox高严重性漏洞比人们通常两个月报告的还多。Mozilla宣称:"这清楚地证明了大规模AI辅助分析是安全工程师工具箱中强大的新补充。"
Anthropic并不是唯一使用AI引擎在代码中发现漏洞的组织。例如,Black Duck的Signal产品结合了多个大语言模型、模型上下文协议服务器和智能体,可以实时自主分析代码、检测漏洞并提出修复建议。
同时,诸如NCC Group等安全咨询公司正在为软件逆向工程工具(如Ghidra)试验基于大语言模型的插件,以帮助发现安全问题,包括人们难以发现的潜在缓冲区溢出和其他内存安全问题。
这些成功并不意味着我们准备将安全检查交给AI。远非如此。
研究人员发现,基于大语言模型的漏洞发现不是成熟静态分析管道的直接替代品。比较AI编程智能体与人类开发者的研究显示,虽然AI可能很高产,但它也会以更高的速率引入安全缺陷,包括不安全的密码处理和不安全的对象引用。
CodeRabbit发现"人类更常创建某些类型的漏洞,AI更常创建某些其他类型的漏洞。例如,人类比AI创建更多的拼写错误和难以测试的代码。但总体而言,AI创建的漏洞是人类的1.7倍。"
代码生成工具承诺速度,但被它们引入的错误所困扰。这不仅仅是小漏洞:AI创建的关键和重大问题是人类的1.3-1.7倍。
你也可以问问丹尼尔·斯滕伯格,这位流行开源数据传输程序cURL的创建者。他大声且合理地抱怨他的项目被大量虚假的AI编写的安全报告淹没,这让维护者淹没在无意义的忙碌工作中。
在合适的人手中,AI是一个很好的助手,但它还没有准备好成为顶级程序员或安全检查员。也许有一天会,但不是今天。因此,谨慎地将AI与现有工具结合使用,你的程序将比目前安全得多。
至于旧代码,那确实是一个真正的担忧。我预见人们会因为对固件驱动设备很快被攻破的现实担忧而更换这些设备。
Q&A
Q1:Claude Opus 4.6在分析1986年的汇编代码时发现了什么问题?
A:Claude Opus 4.6对1986年为Apple II 6502处理器编写的汇编代码进行了安全审计,发现了细微的逻辑错误,包括一个例程在算术运算后未能检查进位标志的经典漏洞,这个bug隐藏了几十年。
Q2:大语言模型与传统静态分析工具相比有什么优势?
A:传统工具主要扫描源代码中与漏洞相关的已知模式,而大语言模型能够更深入地分析,询问"鉴于这个系统应该做什么,故障模式和攻击路径在哪里?"这种方法可以发现更复杂的安全问题。
Q3:AI在代码安全检查方面存在哪些局限性?
A:研究显示AI会以更高速率引入安全缺陷,创建的漏洞是人类的1.7倍,关键和重大问题是人类的1.3-1.7倍。此外,AI还会产生大量虚假安全报告,增加维护者的工作负担,因此不能完全替代人类程序员。
热门跟贴