中文

ChatGPT 用于漏洞检测、分类与修复:我们距离目标还有多远?

软件工程 2023-10-17 v1 密码学与安全

摘要

诸如 ChatGPT(即 gpt-3.5-turbo 与 gpt-4)之类的大语言模型(LLMs)在代码审查与代码生成等一系列与源代码相关的软件工程任务中展现出显著进展。本文中,我们通过指导 ChatGPT 完成四项常见漏洞任务展开全面研究:函数级与行级漏洞预测、漏洞分类、严重度估计以及漏洞修复。我们将 ChatGPT 与专为软件漏洞任务设计的最先进语言模型进行比较。借助包含超过 190,000 个 C/C++ 函数的广泛真实世界数据集进行实证评估,我们发现 ChatGPT 性能有限,在漏洞场景下大幅落后于其他语言模型。实验结果凸显了漏洞预测任务的挑战性,其需要领域专业知识。尽管 ChatGPT 的模型规模远超源代码预训练语言模型(如 CodeBERT)达 14,000 倍,但对 ChatGPT 进行微调仍是其泛化至漏洞预测任务的必要步骤。我们在 https://github.com/awsm-research/ChatGPT4Vul 公开了所研究的数据集、针对 ChatGPT 的实验提示及实验结果。

关键词

引用

@article{arxiv.2310.09810,
  title  = {ChatGPT for Vulnerability Detection, Classification, and Repair: How Far Are We?},
  author = {Michael Fu and Chakkrit Tantithamthavorn and Van Nguyen and Trung Le},
  journal= {arXiv preprint arXiv:2310.09810},
  year   = {2023}
}

备注

Accepted at the 30th Asia-Pacific Software Engineering Conference (APSEC 2023)