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。该方法利用知识级别的检索增强生成(RAG)框架,通过从现有CVE实例中提取多维知识,构建漏洞知识库,并利用LLMs对给定的代码片段进行漏洞检测。
  • 关键思路
    Vul-RAG的关键思路是通过利用LLMs从现有CVE实例中提取多维知识,构建漏洞知识库,并利用RAG框架对给定的代码片段进行漏洞检测。
  • 其它亮点
    Vul-RAG的实验结果表明,在构建的基准测试PairVul上,相对于所有基准测试,Vul-RAG的准确率/成对准确率有12.96%/ 110%的相对提高。此外,用户研究表明,Vul-RAG生成的漏洞知识可以作为高质量的解释,可以将手动检测的准确性从0.60提高到0.77。
  • 相关研究
    近年来,利用深度学习模型进行漏洞检测的研究逐渐增多。与本论文相关的研究包括:1.使用卷积神经网络进行漏洞检测(Convolutional Neural Networks for Automated Vulnerability Detection);2.基于代码嵌入的漏洞检测方法(Code Embedding-based Vulnerability Detection Method);3.利用神经网络进行漏洞检测的综述(A Survey of Neural Network-based Vulnerability Detection)等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论