Evaluating Large Language Models in Vulnerability Detection Under Variable Context Windows
作者: Jie Lin, David Mohaisen
分类: cs.CR, cs.LG
发布日期: 2025-01-30
备注: 5 pages, 2 tables. Appeared in ICMLA 2024
💡 一句话要点
评估不同上下文窗口下大型语言模型在漏洞检测中的表现
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 漏洞检测 代码长度 上下文窗口 软件安全
📋 核心要点
- 现有大型语言模型在漏洞检测中,性能受输入代码长度影响程度不同,缺乏一致性。
- 研究通过分析不同模型在不同代码长度下的表现,揭示了模型对上下文窗口大小的敏感性。
- 实验结果表明,部分模型对代码长度具有较强的鲁棒性,而另一些模型则显著依赖代码长度。
📝 摘要(中文)
本研究探讨了token化的Java代码长度对十个主流大型语言模型在漏洞检测中的准确性和明确性的影响。通过卡方检验和已知的ground truth,我们发现不同模型之间存在不一致性:一些模型,如GPT-4、Mistral和Mixtral,表现出稳健性,而另一些模型则表现出token化长度与性能之间的显著联系。我们建议未来的LLM开发应侧重于最小化输入长度的影响,以实现更好的漏洞检测。此外,减少token数量同时保持代码结构的预处理技术可以提高LLM在这些任务中的准确性和明确性。
🔬 方法详解
问题定义:该论文旨在解决大型语言模型(LLM)在软件漏洞检测任务中,性能受输入代码长度(token数量)影响的问题。现有方法在处理不同长度的代码片段时,LLM的检测准确性和明确性存在差异,这限制了LLM在实际漏洞检测场景中的可靠性和应用范围。现有方法没有充分考虑代码长度对LLM性能的影响,导致在不同代码长度下表现不稳定。
核心思路:论文的核心思路是通过系统性地评估不同LLM在不同代码长度的代码片段上的漏洞检测表现,来揭示代码长度与LLM性能之间的关系。通过统计分析,确定哪些模型对代码长度具有鲁棒性,哪些模型对代码长度敏感。基于此,为未来的LLM开发和漏洞检测任务提供指导。
技术框架:该研究的技术框架主要包括以下几个步骤:1) 选择十个主流的大型语言模型进行评估。2) 准备包含已知漏洞的Java代码数据集,并对代码进行token化处理。3) 将代码数据集划分为不同长度的片段。4) 使用LLM对不同长度的代码片段进行漏洞检测,并记录检测结果。5) 使用卡方检验等统计方法分析代码长度与LLM性能之间的关系。
关键创新:该论文的关键创新在于:1) 系统性地评估了多个主流LLM在漏洞检测任务中对代码长度的敏感性。2) 使用统计方法量化了代码长度与LLM性能之间的关系。3) 为未来的LLM开发和漏洞检测任务提供了关于如何提高LLM鲁棒性的建议。
关键设计:论文的关键设计包括:1) 使用卡方检验来评估代码长度与LLM性能之间的相关性。2) 选择具有代表性的LLM,包括GPT-4、Mistral和Mixtral等。3) 使用包含已知漏洞的Java代码数据集,确保评估结果的可靠性。4) 对代码进行token化处理,以便LLM能够处理代码数据。
📊 实验亮点
研究发现,GPT-4、Mistral和Mixtral等模型在不同代码长度下表现出较强的鲁棒性,而其他一些模型则表现出对代码长度的显著依赖。卡方检验结果表明,部分模型在不同代码长度下的性能差异具有统计学意义。该研究强调了在LLM开发中最小化输入长度影响的重要性,并建议采用预处理技术来提高LLM在漏洞检测任务中的性能。
🎯 应用场景
该研究成果可应用于软件安全领域,帮助开发者选择更适合进行漏洞检测的LLM,并指导LLM的优化方向。通过减少代码长度对LLM性能的影响,可以提高漏洞检测的准确性和可靠性,从而降低软件安全风险。此外,该研究还可以促进预处理技术的发展,例如通过代码简化和抽象来减少token数量,同时保持代码的语义信息。
📄 摘要(原文)
This study examines the impact of tokenized Java code length on the accuracy and explicitness of ten major LLMs in vulnerability detection. Using chi-square tests and known ground truth, we found inconsistencies across models: some, like GPT-4, Mistral, and Mixtral, showed robustness, while others exhibited a significant link between tokenized length and performance. We recommend future LLM development focus on minimizing the influence of input length for better vulnerability detection. Additionally, preprocessing techniques that reduce token count while preserving code structure could enhance LLM accuracy and explicitness in these tasks.