中文

基于大语言模型生成受影响漏洞包名称

密码学与安全 2024-05-21 v3

摘要

安全从业人员维护漏洞报告(如 GitHub Advisory)以帮助开发者缓解安全风险。这些数据库的一项重要任务是自动抽取报告中提及的结构化信息,例如受影响的软件包,以加速漏洞生态的防御。然而,现有关于受影响包识别的工作难以达到高准确率。原因之一是所有现有工作都聚焦于相对较小的模型,因而无法利用大语言模型(LLM)的知识与语义能力。为弥补该局限,我们提出 VulLibGen,即首个使用 LLM 进行受影响包识别的方法。与现有工作不同,VulLibGen 提出直接生成受影响包这一新颖思路。为提升准确率,VulLibGen 采用了监督微调(SFT)、检索增强生成(RAG)以及一种局部搜索算法。该局部搜索算法是我们引入的用于减少生成包幻觉的新型后处理算法。我们的评估结果显示,VulLibGen 在 GitHub Advisory 中四个最流行生态(Java、JS、Python、Go)识别漏洞包的平均准确率为 0.806,而先前工作的最佳平均准确率为 0.721。此外,VulLibGen 对安全实践具有高价值:我们向 GitHub Advisory 提交了 60 个 <漏洞, 受影响包> 对(覆盖四个生态)。其中 34 个已被接受并合并,20 个待审批。我们的代码与数据集见附件。

关键词

引用

@article{arxiv.2308.04662,
  title  = {VulLibGen: Generating Names of Vulnerability-Affected Packages via a Large Language Model},
  author = {Tianyu Chen and Lin Li and Liuchuan Zhu and Zongyang Li and Xueqing Liu and Guangtai Liang and Qianxiang Wang and Tao Xie},
  journal= {arXiv preprint arXiv:2308.04662},
  year   = {2024}
}

备注

ACL 2024 Main Conference