MulVul: Retrieval-augmented Multi-Agent Code Vulnerability Detection via Cross-Model Prompt Evolution
MulVul 是一个检索增强的多智能体框架,它通过采用由粗到精的路由策略和一种新颖的跨模型提示词演化机制,在多种漏洞类型中实现了显著更高的准确率,从而解决了单模型漏洞检测和人工提示词工程的局限性。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图在一座庞大的计算机代码库中寻找特定类型的漏洞(bugs)。这有点像是在草堆里找针,但问题在于,这些“针”有着成千上上种不同的形状、大小和颜色。
这篇论文介绍了一个名为 MulVul 的新系统来解决这个问题。以下是通过简单的类比对该系统工作原理的解释:
问题所在:一招鲜,吃遍天行不通
想象一下,你雇佣了一名非常聪明的侦探,让他去城市里调查每一种犯罪类型。
- 问题在于: 有些犯罪像是银行抢劫案(需要了解锁具和警报系统),而另一些则像是身份窃取(需要了解社会工程学)。一个侦探可能在其中一项很擅长,但在另一项上表现糟糕。
- 旧的方法: 之前的 AI 工具试图使用一个“超级侦探”来同时抓捕所有类型的犯罪。由于代码漏洞的类型如此之多(超过 130 种!),这个单一的侦探往往会感到困惑、遗漏目标,或者“虚报军情”(误报)。
- 人工的问题: 你可以尝试为每一种类型的漏洞都编写一套特定的指令(即“提示词/prompt”)。但面对数百种类型的漏洞,靠手工编写和测试这些指令是不可能的——这既耗时又昂贵。
解决方案:MulVul(专业化团队)
MulVul 通过使用一个专家团队而非一个通才,改变了游戏规则。它分为两个主要阶段:
1. “路由”(交通警察)
当一段代码到达时,它并不会发给所有人。首先,它会进入一个 路由代理(Router Agent)。
- 它的作用: 路由会对代码进行观察,并询问:“这类麻烦可能属于哪种类型?”它不需要知道确切的漏洞是什么;它只需要猜出一个大致的类别(例如,“这看起来像是内存错误”或“这看起来像是注入攻击”)。
- 窍门: 它使用了一个 检索工具(Retrieval Tool)。你可以把这想象成路由正在翻阅一本组织严密的过去犯罪案例百科全书,以便在做出猜测前寻找相似案例。这有助于它避免随机猜测。
- 结果: 它会选出前 3 个最可能的类别,并将代码仅发送给处理这些特定类别的专家。这节省了时间和成本。
2. “检测器”(法医专家)
一旦路由将代码发送给正确的专家,检测器代理(Detector Agents) 就会接管工作。
- 它们的作用: 这些是高度专业化的代理。一个只负责寻找内存错误;另一个只负责寻找注入攻击。
- 窍门: 像路由一样,它们也使用 检索工具。但它们更聪明。它们寻找的是“对比性”示例。想象一下,一名侦探通过将嫌疑人的陈述与类似犯罪的“真实故事”和“虚假故事”进行对比,从而发现细微差别。这有助于他们在不被相似代码干扰的情况下,精准定位确切的漏洞。
- 隔离性: 至关重要的一点是,这些侦探是独立工作的。他们互不交流。如果一个侦探犯了错,错误不会蔓延到其他侦探那里,从而防止了连锁反应式的错误。
秘诀:“跨模型提示词演化”(Cross-Model Prompt Evolution)
编写这些 AI 代理的指令(提示词)是最难的部分。如果你要求一个 AI 为它自己编写指令,它可能会陷入循环,认为自己的坏主意是好主意。
MulVul 使用了一个巧妙的 双 AI 系统 来解决这个问题:
- 生成器(架构师): 一个 AI(如 Claude)尝试编写并改进指令。它会猜测:“也许如果我这样说,AI 的表现会更好。”
- 执行器(测试员): 另一个不同的 AI(如 GPT-4o)则实际尝试遵循这些指令来寻找漏洞。它会反馈:“这条指令效果很好”或者“那条指令失败了”。
- 循环: 生成器利用这些反馈来编写更好的指令,而测试员则再次检查它们。因为它们是不同的模型,所以“架构师”无法欺骗“测试员”,让其误以为坏主意是好的。这创造了一个不断的改进循环,直到指令趋于完美。
结果
作者在包含真实世界代码漏洞的大规模数据集(称为 PrimeVul)上测试了这个系统。
- 得分: MulVul 达到了 34.79% 的得分,比之前最好的方法高出了 41.5%。
- 为什么重要: 它比任何经过测试的方法都找到了更多的真实漏洞,并且产生的误报更少。
- “演化”带来的提升: 两个 AI 共同改进指令的部分,使得该系统的表现比人类手动编写指令的效果提升了 51.6%。
总结
MulVul 就像是一家高科技安保公司,它不依赖于一名过度劳累的保安。相反,它使用一名聪明的交通警察将嫌疑人引导至正确的法医专家处,而这些专家则利用过去的案例库来破解谜题。为了确保专家们明确职责,这家公司使用两个不同的 AI 大脑来不断重写并完善他们的规则手册,从而确保能以极高的准确度捕捉到最危险的漏洞。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。