Vul-RAG: Enhancing LLM-based Vulnerability Detection via Knowledge-level RAG

2024年06月17日
  • 简介
    漏洞检测对于软件质量保证至关重要。近年来,深度学习模型(特别是大型语言模型)在漏洞检测方面表现出了很大的潜力。在本研究中,我们提出了一种基于LLM的漏洞检测技术Vul-RAG,它利用知识级检索增强生成(RAG)框架在三个阶段内检测给定代码的漏洞。首先,Vul-RAG通过从现有CVE实例中利用LLMs提取多维知识来构建漏洞知识库;其次,对于给定的代码片段,Vul-RAG会基于功能语义从构建的知识库中检索相关的漏洞知识;第三,Vul-RAG利用LLMs来检查给定代码片段的漏洞,通过推理检测出检索到的漏洞知识中存在的漏洞原因和修复方案。我们在我们构建的基准PairVul上对Vul-RAG进行评估,结果显示Vul-RAG在准确性/成对准确性方面相对于所有基线模型都有12.96\%/110\%的相对改进。此外,我们的用户研究表明,Vul-RAG生成的漏洞知识可以作为高质量的解释,可以将人工检测的准确率从0.60提高到0.77。
  • 作者讲解
  • 图表
  • 解决问题
    本论文旨在利用深度学习模型,提出一种新的基于知识的漏洞检测技术Vul-RAG,解决软件质量保证中的漏洞检测问题。
  • 关键思路
    Vul-RAG利用知识级别的检索增强生成(RAG)框架,通过构建漏洞知识库、检索相关漏洞知识并利用LLMs进行漏洞检测。
  • 其它亮点
    论文设计了自己的基准测试PairVul,并在该数据集上进行了评估,结果表明Vul-RAG相比于其他基线方法,在准确率和成对准确率上分别提高了12.96%和110%。此外,论文还进行了用户研究,证明Vul-RAG生成的漏洞知识可以作为高质量的解释,可以提高手动检测的准确性。
  • 相关研究
    最近在这个领域中,还有一些相关的研究,如《DeepVulnerabilityPrediction: A Deep Learning Approach to Vulnerability Detection》、《VulnerabilityDetectionviaNeuralMachineTranslationandCodeSimilarityAnalysis》等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问