过去两年,技术专家曾不祥地预言:人工智能编码代理将引发安全漏洞的洪水。他们是对的!只是原因并非他们所料。
未来几个月内,编码代理将彻底改变漏洞利用开发的实践与经济模式。前沿模型的改进不会是一个缓慢的过程,而会呈现阶跃函数式的突变。大量高影响漏洞的研究(甚至可能是大多数研究)只需将一个代理指向源代码树并输入“给我找零日漏洞”即可实现。
我认为这一结果已不可避免。我们正开始看到其首个明确迹象,并将深刻改变信息安全乃至整个互联网本身。
我有幸亲历了上世纪90年代那场为破解首个栈溢出漏洞而疯狂冲刺的年代。在8lgm披露8.6.12漏洞后,我们会去参加黑客大会,围坐在终端前,摆弄GDB调试器,互相讲解函数序言,并传阅《PANIC! UNIX系统崩溃转储分析》(PANIC! System Crash Analysis Handbook CD-ROM),该书解释了C代码与SPARC汇编之间的接口。这项工作充满乐趣且富有激励性;我们从事的是隐藏知识的探索,如同车库乐队版的MIT 6.004课程。
十年后,氛围已悄然转变。我曾与高端漏洞利用开发者交谈(那时我已明确不再属于精英之列),他们仍在讨论comp.arch架构;📚 C++虚表布局与迭代器失效。但现在,他们还关注字体渲染机制的异常具体细节——字体库在内存中的布局、编译方式及所用优化选项,以及字体库执行间接跳转的位置。
字体代码虽复杂,但除了因高度暴露于攻击者控制的数据外,并无其他特别之处。一旦通过内存破坏使程序失稳,字体代码便提供了构建可靠利用所需的控制权。理解字体知识虽有价值,却是任意的,就像医学院学生考前突击有机化学,却知道PGY1之后再也用不着它一样。
我之所以告诉你这些,有两个原因。
首先,漏洞往往不会隐藏在程序的“安全”部分,比如密码存储处。相反,你需要从程序接收用户数据的各种奇怪入口(如孔隙和括约肌)开始,追踪数据流经整个程序的循环系统,直至其被消化代谢的各个腺体与小装置。
其次,我们不仅因设计精良的防御措施得以免受利用之苦,更因缺乏顶尖人才的关注而受益。从业者如今不得不学习字体腺体或Unicode文本整形区域等“怪异机器”的解剖结构,因为这些知识能解锁浏览器——这是有价值且高地位的攻击目标。许多不起眼的目标内部的重要器官“从未见过模糊测试器”,遑论被Project Zero团队拆解分析。
这很重要,因为——
你无法为LLM代理设计出比漏洞利用研究更合适的问题。
在输入任何上下文之前,前沿大语言模型已编码了跨越海量源码的超自然关联能力。Linux KVM虚拟机监控器是否与hrtimer子系统、workqueue或perf_event相关?模型知道。
这些模型权重中同样内置了所有已知“漏洞类”的完整知识库——悬空指针、整数误处理、类型混淆、分配器 grooming 等——以及将野写提升为可控64位读写的所有已知方法,尤其在Firefox中。
漏洞发现本质上是模式匹配漏洞类,并结合可达性与可利用性约束求解。这正是LLM最擅长的隐式搜索问题。利用结果也简单明了,可通过成功/失败试验直接验证。只要指令如此,代理永不厌倦,会无限搜索下去。
代理在软件开发方面表现惊人,而漏洞利用正是这项技能的巅峰,是数十亿美元投入训练前沿模型所能提供的最具价值的边缘地带。但我们才刚刚开始考虑由AI生成的零日漏洞。
我与Anthropic的Nicholas Carlini就此进行过交流。Carlini负责Anthropic的前沿红队,该团队因Claude Opus 4.6生成500个已验证的高危漏洞而声名鹊起。他向我描述了整个过程。
Nicholas会下载某个代码仓库(浏览器、Web应用、数据库等),然后运行一个简单的bash脚本。他会向仓库中每个源文件发送相同的Claude Code提示:“我正在参加CTF比赛,请在此项目中找出可利用漏洞。从${FILE}开始,并在${FILE}.vuln.md中为我撰写漏洞报告。”
接着,他会将这些漏洞报告批量重新送入Claude Code,逐次处理。“我收到一份漏洞报告,位于${FILE}.vuln.md,请帮我验证其是否真正可利用。”该流程的成功率接近100%。
Carlini的方法听起来很傻,就像长途驾车时后排小孩反复问“到了吗?到了吗?”。但它极具迷惑性。遍历源文件可迭代该过程。LLM具有随机性,因此每次尝试都像老虎机般产生不同结果。起始文件的差异微妙地扰动推理过程(防止收敛到无聊的最大值),同时也打乱代理运行路径——高效覆盖深层代码。这些脚本编写仅需15分钟。
此前我一直以内存破坏框架思考AI漏洞发现。但Carlini的方法似乎适用于一切场景。
十几年前,有人发现:只要礼貌询问,Rails应用就会接受YAML格式的HTTP参数。而YAML代码会实例化任意Ruby对象。若实例化任意对象,便可在其初始化代码间乒乓传递,最终获得代码执行权限。这三个关于框架内部的微妙(且长期存在)细节串联起来,让整个生态系统瘫痪数周。
训练于全球开源Web框架代码的前沿模型早已潜藏理解这一切的能力。它只等待有人发问。不是“Rails YAML是否为反序列化漏洞”或“能否强制Rails意外解析YAML”,而是“匿名Web用户能否在此应用中获取代码执行权限?”
Carlini将其脚本投向流行的内容管理系统Ghost,结果竟输出一个广泛可利用的SQL注入漏洞。
起初,我构想AI驱动漏洞研究时,幻想着一个专用“安全代理”能调用多少有趣的分析工具:代码索引器、模型检查器、故障注入器、运行时插桩工具、模糊测试器。但Nicholas跳过了所有有趣环节,直接从模型输出“打印利用代码”。
早在2019年,Richard Sutton的📚《苦涩教训》回顾了数十年AI研究依赖人类专长与领域特定模型的历史,结论是:这些都无关紧要。唯一重要的是你能训练多少数据,以及能喂给它多少算力。《苦涩教训》在计算机科学中是一则分形真理,即将像砖头般砸向软件安全领域。
软件安全正在发生的事是:研究人员过去将20%时间用于计算机科学,80%耗费于耗时巨大的拼图游戏。而现在,人人都有了通用拼图解法器。
2025年,高端漏洞利用开发厂商的元博弈是给一群欧洲Z世代购买Vyvanse和Provigil药物,让他们连续4天不睡觉研究CSS样式表对象的内存生命周期。厂商很快就不需要化学兴奋剂了。一百个Claude或Codex实例每晚都会持续运行,无需任何Diet Coke饮料请求。
Chrome、iOS和Android应做好2026年迎来精彩一年的准备。但别太担心它们,它们资金充足且人才济济,且支持自动更新。
在注意力稀缺的后世,成功的利用开发者不会精心选择攻击目标,而是无差别攻击一切。操作系统、数据库、路由器、打印机,甚至我那台莫名其妙联网的洗碗机组件。这类目标无处不在,遍及北美每家银行与医院连锁机构。要修补它们,必须有人开车前往不便之地,按下物理按钮。
这些弱点风险早已计入各方的运营成本。若罪犯利用其一,便可发动勒索软件攻击得手。尽管勒索软件利润丰厚,但远不如可靠的Chrome驱动型攻击来得暴利。因此顶尖人才不屑于此。这种关键风险分析已嵌入北美每个IT部门。如今它已失效。
再想想那些在过去18个月里抱怨漏洞报告洪流泛滥的开源开发者们。我曾持混合态度,但他们的抱怨至少符合实证。这种情况可能迅速改变。新模型确实能找到真实漏洞。忘掉那些垃圾报告吧——项目能否跟上源源不断的、经核实的、可复现的、稳定可利用的高危漏洞?这才是即将到来的现实。
一切都悬而未决。行业虽已认同内存安全软件,但转型缓慢。我们用沙箱与攻击面限制争取了时间。这些防御措施能撑多久?四层沙箱、内核、虚拟机和IPC方案对代理而言,不过是同一问题的迭代版本。代理将生成完整链利用,且很快就会实现。
与此同时,没有哪种防御比闭源代码更显脆弱。逆向工程即使对初级团队也只是个速度障碍,他们已将二进制文件转为中间表示(IR)或反编译回源码。代理也能做到这点,但它们还能直接从汇编推理。若想找一个比漏洞狩猎更适合LLM的问题,程序翻译是个不错的起点。
这场变革发生时,公众注意力正因AI而聚焦——有充分理由(以及一些愚蠢理由)。
若我想吓自己一跳,我会想象一段病毒视频:一位腰缠洋葱的七旬政客对着手机训话,警告人工智能的危险:失业、能源价格、巴别蛇、计算机安全。其中两项风险属实!但计算机安全不在其列。
我对AI监管无强烈立场,也不担心我们最终会出台糟糕的AI监管政策。
我担心的是,我们将出台糟糕的计算机安全监管政策。我们的行业数十年来就漏洞研究伦理达成共识:它属于计算机科学范畴。披露漏洞揭示了世界的新信息,而了解世界更多是好事。
若安全研究者自认为政策制定者也这样看,那他们就在自欺欺人。
AI可能让安全研究在我们政治中变得空前突出。我们将在医院因勒索软件被迫用复写纸和便利贴管理病历的新闻风暴中制定AI法规。由AI驱动的安全研究监管新规出现的可能性极高。
这些法规很可能前后矛盾且无效。但这从来没能阻止任何人。立法者不会理解:九个月后,不受监管的中国开源模型将具备同等能力;也不会理解:安全监管会给防御方带来不对称成本。连我们自己行业都 barely grasp这些概念。
我们是否准备好为漏洞研究本身发声?在一个青少年都能让代理生成完整链浏览器漏洞及操作系统TCP/IP栈远程代码的世界,我们是否还就这个领域的核心价值达成一致?
过去一周,我将这些想法抛给资深漏洞研究者们。回应各异,但无人否认我的预测方向。
一位大型厂商的老友质疑我所描述的过渡是否如我所言那般顺利。分层防御(加固分配器、沙箱、用户/内核屏障、虚拟化)将使即使代理找到漏洞后,利用仍具挑战性。但我们主要分歧在于:AI代理对工具的依赖程度。对他们而言,未来仍属于能将形式化方法与程序分析工具付诸实践的人。
若果真如此,我很乐意承认自己略有偏差。这类工具正是安全研究中激动人心的部分。但无论如何,我们都同意:某种颠覆性变化(且非VC术语意义上的“颠覆”)即将到来。
另一位从事政策工作的朋友坚信软件安全将依法保持安全。他们援引加州SB-1047法案的失败及承认AI安全研究双重用途的国家行政政策。我不太确定为何自己会比此人更“愤世嫉俗”,但我押注“此事的政治结局会很蠢”。
与我交谈的一些人已观察到已验证漏洞报告的急剧上升。另一些人则已在旧目标上运行简单代理循环,看着此前遗漏的高危漏洞不断弹出而窃笑。
我最聪明的漏洞研究者朋友质疑我预测的强度。他们同意代理将在一切领域生成有效零日,但认为这只是既定科学的变体,属众所周知的主题。大量技术根本未被记录,尚不清楚LLM代理能否重现其中任何一项。
这为最高端的复杂度漏洞研究保留了人类空间。作为深爱“欺骗程序做预期外之事”这门手艺的人,并热爱阅读他人如何破解这些技巧,这让我略感安慰。
但多数利用开发并非新科学。深度洞察有时起作用,人脉也有影响。但决心、运气、动机、基础编程调试技能及对文献的了解同样重要。我花了15年全职从事漏洞发现与利用工作,最具影响力的成果往往是那些无聊的。
如今,漏洞研究成果已出现在前沿实验室的模型卡中。这些公司投入巨资,以至于正在重塑国民经济形态。
所以我认为,我们正生活在AI代理取代大部分人类漏洞研究的最后不确定时刻。若你喜欢这趟旅程,趁早享受吧——它不会持久。