CLNX:连接代码与自然语言用于C/C++漏洞贡献提交识别
密码学与安全
2024-09-12 v1 人工智能
摘要
大型语言模型(LLMs)在漏洞识别方面显示出巨大的潜力。由于C/C++构成过去十年开源软件(OSS)漏洞的一半,且OSS更新主要通过提交(commits)实现,提高LLMs识别C/C++漏洞贡献提交(VCCs)的能力至关重要。然而,当前研究主要集中在在大型代码数据集上进一步预训练LLMs,这既资源密集,又存在效率挑战。本文以轻量级方式提升基于BERT的LLMs识别C/C++VCCs的能力。我们提出了CodeLinguaNexus(CLNX),作为连接C/C++程序与LLMs的桥梁。基于提交,CLNX高效地将源代码转换为更自然的表征,同时保留关键细节。具体而言,CLNX首先应用结构级自然化以分解复杂程序,随后采用标记级自然化以解释复杂符号。我们在包含25,872个C/C++函数及其提交的公开数据集上评估了CLNX。结果表明,CLNX显著提升了LLMs识别C/C++VCCs的性能。此外,CLNX装配的CodeBERT实现了新型的最先进成果,并在真实世界中识别了38个OSS漏洞。
关键词
引用
@article{arxiv.2409.07407,
title = {CLNX: Bridging Code and Natural Language for C/C++ Vulnerability-Contributing Commits Identification},
author = {Zeqing Qin and Yiwei Wu and Lansheng Han},
journal= {arXiv preprint arXiv:2409.07407},
year = {2024}
}
备注
8 pages, 2 figures, conference