中文

大型语言模型的思维链提示用于发现和修复软件漏洞

密码学与安全 2024-02-28 v1

摘要

安全漏洞在现代软件中日益普遍,并对我们的社会产生广泛影响。已经提出了各种防御这些漏洞的方法,其中利用深度学习(DL)的方法避免了其他技术的主要障碍,因此在近年来吸引了更多关注。然而,基于深度学习的方法面临关键挑战,包括缺乏大规模且质量标注的任务特定数据集,以及它们无法很好地泛化到未见过的真实世界场景。最近,大型语言模型(LLM)通过克服这些挑战,特别是通过思维链(CoT)提示,在各个领域展示了令人印象深刻的潜力。在本文中,我们探讨如何利用LLM和CoT来解决三个关键的软件漏洞分析任务:识别给定类型的漏洞、发现任何类型的漏洞以及修补检测到的漏洞。我们通过VSP(我们统一的、漏洞语义引导的提示方法)在这些任务的上下文中实例化通用的CoT方法,并进行了大量实验,评估VSP与五个基线在三个任务上针对三个LLM和两个数据集的表现。结果表明,我们受CoT启发的提示方法具有显著优越性(在CVE数据集上,漏洞识别、发现和修补的F1准确率分别高出553.3%、36.5%和30.8%)。通过深入分析VSP失败的案例研究,我们还揭示了LLM/CoT在处理具有挑战性的漏洞案例时的当前差距,同时提出并验证了相应的改进措施。

关键词

引用

@article{arxiv.2402.17230,
  title  = {Chain-of-Thought Prompting of Large Language Models for Discovering and Fixing Software Vulnerabilities},
  author = {Yu Nong and Mohammed Aldeen and Long Cheng and Hongxin Hu and Feng Chen and Haipeng Cai},
  journal= {arXiv preprint arXiv:2402.17230},
  year   = {2024}
}