XBOW 利用多模型合金技术大幅提升漏洞检测成功率
今年春天,XBOW团队提出了一种新颖的方法,显著提升了其漏洞检测代理的表现。在固定基准测试和有限迭代次数下,漏洞检测成功率从25%提高到了40%,随后进一步提升至55%。这种方法不仅适用于网络安全领域,还适用于很多其他类似的情境,涉及大量的探索和试验任务。 XBOW的挑战 XBOW是一款自主渗透测试工具,用户只需指向自己的网站,它便会尝试攻击网站,从而发现并报告可能存在的漏洞。这种工具能够自主工作,一旦完成初始设置,后续无需人工干预。 渗透测试是一项复杂的工作,需要系统地运行发现、创建网站的技术栈、逻辑和攻击面的心智模型,并不断更新该模型,寻找并验证潜在的漏洞。这一过程涉及数百次的任务迭代,而每次任务中,代理都需要结合若干优秀的想法才能取得进展。这些任务类似于CTF(夺旗赛)比赛中的挑战,代理需要在多个点进行试探,可能会误入歧途,但最终需要纠正方向以找到正确的漏洞位置。 代理的任务 在这种CTF风格的任务中,代理通过反复调用模型来执行任务,每个任务由一定数量的迭代组成,每一迭代包括选择一个行动,如执行终端命令、编写Python脚本或使用XBOW的渗透测试工具。行动的效果会被反馈给代理,以便它决定下一步操作。通常情况下,80次迭代后会停止,重新启动一个新的代理以减少前期误解和错误假设的累积。 这类任务特别在于,它不像连续进步型问题那样每一步都能接近目标,而更像是一种广域搜索任务,需要在大量盲目的探索中找到正确的路径。因此,每次挑战中,代理需要不断地产生和结合新的想法。 模型合金 从XBOW项目开始,就采用了模型提供者中立的策略,可以随意替换最适合的大型语言模型(LLM)。OpenAI的GPT-4曾是最佳选择,但自从2022年6月Anthropic发布Sonnet 3.5后,其他模型难以匹敌。Google的Gemini 2.5 Pro在2023年3月的预览版中表现出色,随后Anthropic再次推出Sonnet 4.0,表现更强。不过,在个别挑战中,不同模型有各自的优势。 为了结合这些不同模型的优点,XBOW团队提出了“模型合金”的概念。在传统的AI代理中,模型会反复被调用,而在模型合金中,有时调用一个模型,有时调用另一个模型。关键在于,虽然消息来源在切换,但模型本身并不知情,以为所有消息都是自己发出的。这样可以在保持总调用次数不变的情况下,发挥每个模型的独特优势。 举个例子,第一轮调用Sonnet执行一个命令,得到401未授权响应后,再调用Gemini,让它看到自己“发出”的先前命令,Gemini可能会建议使用管理员凭证登录。这个过程不断交替,直到任务完成。 结果 无论是哪两个模型组合(甚至三个),合金模型的表现总是优于单个模型。具体结果如下: 单纯使用Gemini 2.5:46.4% 单纯使用Sonnet 4.0:57.5% 组合使用Gemini 2.5和Sonnet 4.0:57.2% 合金模型Gemini 2.5 + Sonnet 4.0:68.8% 模型合金的应用时机 适合场景:当任务需要大量探索和多种思路时,模型合金可以有效结合不同模型的优点。 不适合场景:如果不同的模型来自同一提供商,性能提升不明显,因为它们太相似了。此外,某些任务需要高度一致的操作,委员会式的多代理决策可能过于繁琐。 业内人士评价 模型合金的方法展示了两头更好的胜过一头的能力,尤其在需要广泛探索和多样化思路的任务中表现出色。这一方法不仅提升了XBOW的漏洞检测成功率,也为其他领域的AI应用提供了新的思路。 公司背景 XBOW是一家专注于自动化网络安全测试的新兴科技公司,致力于开发高效的自主渗透测试工具。其核心产品能够在短时间内发现并报告潜在的安全漏洞,帮助企业及时进行修复。公司一直积极探索不同的AI模型和技术,力求最大化其检测能力。