从第三方库生成触发漏洞的测试用例
软件工程
2025-02-12 v3
摘要
开源第三方库在软件开发中被广泛使用。这些库在节省时间和资源方面提供了巨大优势。然而,由于这些库中公开披露的漏洞,引发了一个重大隐患。现有的自动化漏洞检测工具通常存在误报,并且无法准确评估能够触发漏洞的输入从客户端项目到库中漏洞代码的传播。在本文中,我们提出了一种名为 VULEUT(漏洞利用单元测试生成)的新方法,该方法结合了漏洞利用可达性分析和基于 LLM 的单元测试生成。VULEUT 旨在自动验证客户端软件项目中常用的第三方库中漏洞的可利用性。VULEUT 首先分析客户端项目以确定漏洞条件的可达性。然后,它利用大型语言模型(LLM)生成用于漏洞确认的单元测试。为了评估 VULEUT 的有效性,我们收集了来自各种第三方库的 32 个漏洞,并在 70 个真实的客户端项目上进行了实验。此外,我们还将我们的方法与两个代表性工具(即 TRANSFER 和 VESTA)进行了比较。我们的结果证明了 VULEUT 的有效性,在 70 个客户端项目中生成的 292 个单元测试中有 229 个成功确认了漏洞利用,其表现比基线高出 24%。
引用
@article{arxiv.2409.16701,
title = {Vulnerability-Triggering Test Case Generation from Third-Party Libraries},
author = {Yi Gao and Xing Hu and Zirui Chen and Xiaohu Yang},
journal= {arXiv preprint arXiv:2409.16701},
year = {2025}
}
备注
Published in 2nd Conference on AI Foundation Models and Software Engineering (FORGE 2025)