17 天前
VulScribeR:基于RAG的LLM漏洞增强探索
Seyed Shayan Daneshvar, Yu Nong, Xu Yang, Shaowei Wang, Haipeng Cai

摘要
漏洞检测对于软件安全至关重要,然而基于深度学习的漏洞检测器(DLVD)面临数据短缺问题,这严重限制了其性能。数据增强技术有望缓解这一困境,但对存在漏洞的代码进行增强极具挑战性,需要一种能够保持漏洞特性的生成式解决方案。以往研究仅聚焦于生成包含单一语句或特定类型漏洞的样本。近年来,大型语言模型(LLMs)在代码生成与理解任务中展现出令人瞩目的成果,尤其在结合检索增强生成(RAG)技术后表现更为突出。因此,我们提出 VulScribeR——一种基于大型语言模型的新型漏洞数据增强方法,通过精心设计的提示模板来扩充漏洞数据集。具体而言,我们探索了三种基于LLM的策略,用于增强单语句与多语句漏洞,分别为:变异(Mutation)、注入(Injection)和扩展(Extension)。在四个漏洞数据集和三种DLVD模型上进行的广泛评估表明,当平均生成5,000个漏洞样本时,我们的方法在F1分数上分别优于当前最先进的两种方法Vulgen和VGX,以及随机过采样(ROS)达27.48%、27.93%和15.41%;当生成15,000个漏洞样本时,提升幅度进一步达到53.84%、54.10%、69.90%和40.93%。实验结果证明,该方法在大规模数据增强方面具有可行性,仅需花费约1.88美元即可生成1,000个高质量漏洞样本。