用AI破解攻击性安全 —— XBOW CEO 与 GitHub Copilot 创造者 Oege de Moor

cover>

摘要

Oege de Moor是一位在学术界和工业界均取得非凡成就的计算机科学家。他曾是牛津大学Magdalen学院的教授,后创立了被GitHub收购的Semmle公司,并在GitHub内部孵化了如今改变编程世界的GitHub Copilot。现在,他的新公司XBOW正在做一件更激进的事:用AI自动化攻击性安全(Offensive Security)——也就是渗透测试。XBOW的AI渗透测试器在基准测试中得分85%,达到世界顶级人类黑客的水平,但完成任务只需28分钟,而人类需要40小时。在真实客户环境中,这个系统每天都能找到关键漏洞。de Moor认为,AI代码生成使得每个人都能写代码但不懂安全,同时攻击者也在用AI强化攻击——因此自动化防御变得绝对必要。XBOW的定价模型开创了"软件即服务"(Service as Software)的先河:基础订阅加按"攻击小时"计费。de Moor还分享了他对编程未来的看法:代码本身可能消失,英语将成为新的编程语言。

正文

令人震惊的基准测试结果

Oege de Moor和他的团队在构建XBOW第一版产品后,决定在业界知名的渗透测试基准上进行测试——这些是人行黑客用来磨练技能的真实挑战。XBOW的AI取得了75%的成绩。de Moor的第一反应是怀疑:这些挑战太有名了,答案很可能出现在训练数据中。

于是团队创建了一套全新的原创基准测试,保证不在任何训练数据中。结果更好:85%。为了验证这个结果到底意味着什么,他们邀请了五位来自知名公司的专业渗透测试人员进行同样的测试。其中一位是"你可以请来保护数十亿美元对冲基金"的顶级黑客。他取得了与AI相同的分数——但人类用了40小时,AI只用了28分钟。

de Moor的合伙人、红杉资本合伙人Constantine坦言:"当Wege打电话说'我们有些结果会让你震惊'时,确实如此。年初我还以为至少需要一年才能达到可用的水平,而且即便那样也只期待一个平庸人类测试员的水准。"

真实世界中的惊人表现

在一个早期设计合作伙伴(一家大型金融机构)的环境中,XBOW发现了一个极其精密的漏洞。AI系统首先抓取(Crawl)Web应用,发现了一段PHP源代码,其中使用了不安全的签名算法访问另一台主机。XBOW成功利用这个缺陷访问了那个主机,但没有发现什么有价值的东西。

但AI没有停止——它继续抓取,找到了另一个端点(Endpoint),尝试使用相同的技巧。这次不适用,需要额外的参数。AI在周围寻找,发现了另一段JavaScript源代码,看到几个候选参数,逐一尝试,找到了有效的那个。最终它成功访问了一个本应用于下载PDF文件的端点,却下载到了一整个密码文件。

de Moor认为最令人着迷的是:"AI的探索方式就像一个人类渗透测试员——它在做出相当有趣且创造性的判断,这种判断对大多数人类专家来说都很困难。"

什么是攻击性安全?

攻击性安全(Offensive Security)是目前保护系统的最佳方法:邀请外部专家来模拟攻击,报告他们发现的问题,以便在真正的攻击者之前修复。但这项工作需要多年的专业训练,成本高昂——一次典型的渗透测试(Penetration Test)约需11.8万美元。由于成本高、速度慢,公司通常只做一到两次,而系统的演化速度远快于此。

XBOW的核心价值主张是将这一昂贵、低速、手工的过程自动化,使其可以持续运行——每次代码变更后都能进行安全检测。

AI将如何改变这个市场

de Moor指出,渗透测试市场规模有限的原因在于它被一小群高技能人才驱动。AI将以几种方式从根本上改变这个市场:

首先,AI代码生成(AI Code Generation)让每个人都能写代码,但不是每个人都懂安全——而且训练这些模型的数据来自所有公开源代码,其中包含大量漏洞。我们正在生产更多、更不安全的代码。

其次,攻击者已经在用AI提高效率。更多代码 + 更多攻击 = 自动化防御变得绝对必要。

红杉合伙人Constantine将XBOW比作"历史上第一个AI网络战士"——这个类比引起了许多关注,甚至包括华盛顿方面的来电。

技术栈:自研魔法远多于基础模型

de Moor透露,XBOW的大部分"魔法"在于基础模型之上的自研技术,而非模型本身。核心要素包括:

基准测试(Benchmarks):是公司产品的"命脉"。团队将这些基准测试组织成一种"课程",用于训练模型解决更复杂的网络安全问题。

定制工具:为LLM(大语言模型,Large Language Model)特制的工具集——包括一个由LLM驱动的特殊浏览器,能够点击网站、填写表单。

安全护栏(Guard Rails):de Moor将XBOW描述为一个"过度热情的超级聪明青少年"——找到漏洞后可能过度兴奋,执行SQL注入删除数据表(这是灾难性的)。团队建立了安全护栏来监控系统的行为。

攻击面发现(Attack Surface Discovery):在找到漏洞之前,需要先确定正确的攻击入口点——这涉及运行一系列工具并对攻击点进行优先级排序。

提示工程(Prompt Engineering):通过思维链提示(Chain-of-Thought Prompting)保持模型专注,确保完成一个目标后再进入下一个。

概率性、推理与数据飞轮

面对LLM的随机性(Stochastic Nature),de Moor的答案是:"因为是自动化的,你只需要多运行几次。"随着基础模型的改进,需要的尝试次数不断减少。

他指出目前AI在安全测试中的方式与人类高度相似,但警告道——引用Rich Sutton的"苦涩的教训"(Bitter Lesson)——随着持续在更多数据上进行强化学习(Reinforcement Learning),AI将开始发现人类无法想象的攻击方式。

数据获取途径多样:安全专家承包商创建更多基准测试;挖掘开源资源——在Docker Hub上的大量镜像中运行系统,每发现一个漏洞都成为新的学习数据。在开源环境中可以运行100次尝试来找到漏洞(这在客户环境中不可行),然后用这些数据来训练模型,使其更快地发现漏洞。

GitHub Copilot的启示

作为GitHub Copilot的创意核心和创始人,de Moor回忆了2020年12月写下的一份备忘录——其中不仅勾勒了Copilot的蓝图,还预见了AI将能够自主修复Bug。他用一个实验证明了这一点:将他之前在面试中使用的编程问题交给模型,一次尝试不行,但100次甚至1000次尝试后能解决大部分。那一刻他清楚:随着模型变得更好、需要的尝试次数更少,它们将能够完成这类任务。

de Moor认为Copilot最重要的启示是:如此有影响力的产品可以由一个10人的小团队推出——证明了小团队、快速行动的力量。XBOW公布成果时仅有13人。

编程的未来:英语将成为编程语言

de Moor预测,编程将发生深刻变革。更多人将能够创建自己的软件。对于专业开发者,重心将转向概念设计和架构勾勒,由AI填充细节。更长远来看,"代码"作为我们今天所知的产物可能消失——开发者真正应该保存的是与模型的对话记录,因为它记录了代码"应该做什么",而非某一特定编程语言的实现细节。英语——可能加上一些图表——将成为下一代"编程语言",这是抽象层次持续提升的自然演进。

"软件即服务"的定价革命

XBOW正在开创一种全新的定价模式。基础许可按工程团队的规模收费(类似GitHub Advanced Security),附带适合组织环境的固定"攻击小时"(Attack Hours)。需要更彻底测试的客户可以支付额外的服务费来增加攻击小时——消耗的资源与获得的收益之间存在清晰的相关性。

这种模式结合了软件业务的毛利率优势和服务型业务的定价弹性——de Moor认为企业软件正在整体向消费型定价(Consumption-Based Model)演进。

学者到企业家的转型

de Moor最初因热爱编程而进入计算机科学,但随后被数学和基础理论吸引,成为牛津大学Magdalen学院的教授。作为教授,他想回归编码的初心,创立了编程工具研究组,最终孵化出Semmle。他坦言:"在学术界,速度极其重要——而速度只能由拥有盈利动机的小团队实现。因为论文截止日期而发明的动力,与因为'否则重要客户不会签约'而发明的动力是完全不同的。"

必须赢的战争

de Moor的驱动力不仅是商业机会,更是一种使命:"我们绝对必须创建XBOW,因为如果我们不做,坏人会抢先一步。这是自由世界的责任——保护自由世界中的所有软件。"

他预测到明年夏天,XBOW将显著改变Web安全的状态。对创业者的建议只有两个词:专注于一件事,尽可能快地行动。