AutoPatchBench:Meta 测试 AI 错误修复工具的新方法
快速阅读: 据《帮助网络安全》最新报道,AutoPatchBench是一款评估AI修复代码漏洞效果的新基准工具,专注于C/C++漏洞修复验证。它结合模糊测试和白盒差异测试确保补丁正确性,并开源以促进AI辅助漏洞修复发展。工具和补丁生成器可在GitHub免费获取。
AutoPatchBench 是一款新的基准测试工具,用于评估人工智能工具修复代码漏洞的效果。它主要关注通过模糊测试发现的 C 和 C++ 漏洞。该基准包含来自 ARVO 数据集的 136 个真实漏洞及其对应的验证修复方案。补丁生成流程是 Meta 网络安全部的一部分,旨在客观评估和比较基于各种大语言模型(LLM)的自动修补代理,特别是在模糊测试识别漏洞方面,这是一种广泛使用的自动化安全测试方法。通过在不同工具之间使用相同的测试用例,AutoPatchBench 让结果更容易进行比较,帮助研究人员发现哪些方法有效,哪些无效,并进一步优化。
AutoPatchBench 的独特之处在于其验证机制。“它不仅检查补丁是否能够编译并通过测试,还能确保代码保持预期的功能,”Meta 的研究科学家 T.J. 金告诉 Help Net Security。 “该基准结合模糊测试和白盒差异测试,对 AI 生成的补丁进行额外验证,以确保其正确性。” 这种方式保证了补丁不仅能阻止程序崩溃,还能维持代码的预期行为,通过对比修补后的函数返回值和可信实现的结果,使用广泛的模糊测试衍生输入进行验证。
为了支持处于早期阶段的工具,团队还开发了 AutoPatchBench 轻量版,这是一个包含 113 个漏洞的简化子集,这些漏洞仅涉及单函数的根本原因。这一版本保留了完整基准的严格性,包括双容器设置以确保结果的一致性和可重复性,同时降低了新工具被评估的门槛。“我们相信我们的评估框架具有针对性,能更精准地衡量 AI 的能力,”T.J. 金表示,“从而推动更具焦点和精度的 AI 辅助漏洞修补进展。”
凭借其现实性、自动化和全面验证的特点,AutoPatchBench 的目标是通过帮助开发人员更好地理解和信任 AI 生成的安全补丁,来加速该领域的发展。AutoPatchBench 和开源策略为促进合作并加速 AI 辅助漏洞修复进程奠定了基础。团队完全开源了 AutoPatchBench,以鼓励业界对提高 AI 补丁生成的准确性和可靠性提出建议,开发更强大和有效的自动化工具。
除了基准本身,研究人员还开发并发布了基本的 AI 补丁生成器,作为性能基线。该生成器专门针对较简单的案例,特别是可以通过修改单一函数解决的崩溃问题,为其他研究者提供了一个起点。“我们还开源了这个参考实现,以鼓励社区构建并扩展它,”T.J. 金补充道。
未来的发展和下载
通过公开发布基准和基准补丁器,团队希望为未来的研发创造一个共享的基础。“自动补丁工具的开发者可以利用我们的开源补丁生成器来增强他们的工具,并使用基准评估其有效性,”T.J. 金说。该工具的用途也超出了基准测试。采用模糊测试的软件项目可以使用补丁生成器加速漏洞修复,支持工具可以在强化学习管道中用于塑造训练期间的奖励信号。“这些数据有助于模型更好地理解错误修复的细节,”T.J. 金解释说,“使它们能够从过去的修复中学习并提高生成准确补丁的能力。”
AutoPatchBench 可在 GitHub 上免费获取。
推荐阅读:
– GitHub 首席信息安全官谈安全战略及与开源社区的合作
– 别让这些开源网络安全工具被忽视
– 你可能不知道需要的 33 个开源网络安全解决方案
订阅 Help Net Security 无广告月度通讯,了解必备的开源网络安全工具。在这里订阅!
**AutoPatchBench 可在 GitHub 上免费获得。**
(以上内容均由Ai生成)