← 最新论文
💻 computer science

PoCEvolve: Generating Proof-of-Concept Exploits from Security Patches with Vulnerability-Aware Prompt Evolution

PoCEvolve 是一个漏洞感知的提示词演化框架,它通过基于推断出的漏洞上下文迭代优化提示词,直接从安全补丁中生成概念验证(PoC)漏洞利用程序,在缺乏详细漏洞报告的情况下,其表现显著优于现有方法。

原作者: Duc Manh Tran, Ratnadira Widyasari, Ivana Clairine Irsan, Huihui Huang, Ting Zhang, Shar Lwin Khin, Ouh Eng Lieh, Hong Jin Kang, David Lo

发布于 2026-07-27
📖 1 分钟阅读☕ 轻松阅读

原作者: Duc Manh Tran, Ratnadira Widyasari, Ivana Clairine Irsan, Huihui Huang, Ting Zhang, Shar Lwin Khin, Ouh Eng Lieh, Hong Jin Kang, David Lo

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,数字世界是一座规模宏大、繁忙喧嚣的城市,而软件程序就是其中的建筑。有时,墙上会出现一道裂缝——这就是“漏洞”——窃贼可以利用它潜入其中。通常情况下,建筑的设计师(开发者)会修复这道裂缝,并发布通知说:“我们在这里发现了一个洞,以下是它发生的具体原因。”但在现实世界中,修复方案往往先被发布,而详细的解释却要在几天、几周甚至几个月后才送到。这创造了一个危险的“盲区”:窃贼看到了补丁,推断出了如何破门而入,并在安全警卫还在等待理解威胁的手册时就发动了袭击。为了弥补这一差距,安全专家需要一个“概念验证”(Proof-of-Concept,简称 PoC)。请不要把 PoC 仅仅看作一种武器,而要把它看作一把“练习用的锁匠工具”。它是一个无害的、测试性的演示,旨在证明:“是的,如果你尝试这个特定的动作,锁就会打开。”它能帮助防御者准确知道哪些门坏了,以及如何加固它们,赶在坏人动手之前。

长期以来,计算机很难自主制作这些练习用的锁匠工具。它们需要一份详细的手册(漏洞报告)才知道该怎么做。但如果手册还没出来呢?如果唯一的线索只有补丁本身呢?这就是一个名为 POCEVOLVE 的新工具所解决的谜题。背后的研究人员提出了这样一个问题:“我们能否教会人工智能观察一个补丁,推断出其中的秘密弱点,并完全靠自己构建出一个可运行的练习性漏洞利用程序,甚至在没有手册的情况下也能做到?”他们不仅仅是在猜测,而是构建了一个系统,使其表现得像一个不知疲倦、充满好奇心的学生。当人工智能尝试构建锁匠工具并失败时,它不会放弃,而是会观察自己为什么失败。是因为用了错误的工具?是因为钥匙太短了?还是因为它忘了转动把手?该系统会吸收这些错误,从中学习,并为下一次尝试调整其指令。这就像一位厨师品尝到一碗汤太咸了,意识到自己放多了盐,然后在准备下一批菜肴时调整配方,而这一切都不需要看原始的食谱书。

论文揭示了这种“从失败中学习”的方法效果惊人地好。团队在 JavaScript 生态系统(一种流行的 Web 应用语言)中 190 个真实的软件漏洞上测试了 POCEVOLVE。他们发现,当允许人工智能根据自身的错误来进化自己的指令时,使用标准 AI 模型可以成功生成 58.4% 的漏洞利用程序;而使用更先进的模型,成功率则高达 85.3%。与无法适应变化的旧方法相比,这是一个显著的飞跃。例如,使用标准模型时,成功率从旧方法的 48.4% 提升到了使用 POCEVOLVE 后的 58.4%。更令人印象深刻的是,当他们尝试针对一种被称为“命令注入”(Command Injection)的特定类型安全漏洞生成漏洞利用程序时,旧方法完全失败了(0%),而 POCEVOLVE 在其中近一半的案例中取得了成功。

研究人员还检查了这种“学习”的成本。他们发现,虽然这个过程需要更多的时间和金钱(根据使用的 AI 模型不同,每个漏洞的成本在约 0.03 美元0.25 美元 之间),但它仍然足够快,足以投入使用。事实上,解决一个漏洞的平均时间在 5 分 52 秒52 分 54 秒 之间。这比补丁发布与详细报告出现之间的平均间隔时间要快得多,研究发现,在他们观察的一半案例中,这个间隔时间为 18 天。这表明,防御者理论上可以使用这个工具,在补丁发布后几乎立即准备好他们的“练习用锁匠工具”,从而在攻击者利用漏洞之前填补这个盲区。

然而,论文也谨慎地指出,这并不是解决一切问题的万灵药。如果人工智能对代码中真正损坏的部分感到困惑,或者它在多次尝试中构建的“故事”变得太长以至于无法记忆,系统仍会遇到困难。结果是基于模拟以及针对特定软件库的测试,因此虽然数据看起来很有前景,但它们代表了在这个特定实验中所发生的情况,并不保证适用于世界上每一个软件问题。作者认为,这种方法是处理安全问题的一种强大的新方式,但它在与人工监督相结合,并且在给予人工智能正确的反馈进行学习时效果最佳。最终,POCEVOLVE 表明,通过教会计算机从自身的错误中学习,即使在破门而入的蓝图尚未编写出来时,我们也能领先窃贼一步。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →