返回
Adversarial attack classification and robustness testing for large language models for code
DOI:10.1007/s10664-025-10693-3.png)
摘要
En 中文
在软件开发的快速演进格局中,大型语言模型已成为代码生成、补全、分析和建议等任务的关键工具。大型语言模型用于代码的开发工作流日益集成,凸显了确保其对抗潜在漏洞的鲁棒性的关键需求——具体而言,这些模型在处理可能导致错误或不安全代码补全的各种输入方面的弱点。在此背景下,漏洞可能表现为模型在面临对抗性输入或任务描述、代码或注释中的细微扰动时,易产生有缺陷的代码。现有研究忽视了指导代码任务的自然语言输入的作用。本研究探讨了自然语言(如提示)对大型语言模型用于代码的对抗攻击的影响。它评估了字符级、词级和句子级扰动如何影响模型输出。识别最严重的漏洞将为更具韧性的代码生成工具的开发提供依据。我们分析了多个关键项目(包括ReCode和Openattack)和数据集(包括HumanEval和MBPP),以系统地检验不同类型的攻击如何影响模型性能。我们分类学的第一个维度根据内容类型对对抗攻击进行分类——攻击是否针对代码、自然语言提示或注释。第二个维度则根据其粒度(如字符级、词级或句子/语句级扰动)对这些攻击进行分类。我们采用混合方法,结合模型性能指标的数量分析与定性评估,以识别不同类型输入中的具体漏洞。我们的分析表明,大型语言模型用于代码(LLM4Code)的鲁棒性因对抗扰动的类型和粒度而异。句子级扰动通常表现出最高的韧性,表明LLM4Code在面临更广泛的上下文干扰时能保持代码完整性。然而,词级扰动带来了显著挑战,揭示了模型在处理此类语义层面干扰方面的漏洞。字符级扰动则呈现混合结果,模型在应对细微语法偏差时表现出优缺点并存。这些发现强调了持续提升模型鲁棒性的必要性,特别是在对抗语义扰动方面,以确保在多样化的对抗场景中可靠地运行。本研究提出了一套全面的框架,用于评估大型语言模型用于代码的鲁棒性。它强调了在对抗测试中纳入代码和自然语言输入的重要性,这对提高实际应用中的安全性和可靠性至关重要。
Keyword:
Large language models
Large language models for code
Model robustness
Adversarial attack classification
Perturbation
期刊
IF:
3.6
论文数:
2.0K
被引数:
5.3K
机构
暂无机构信息
引用论文
Analyzing transparency and malicious insiders prevention for cloud computing environment
COMPUTERS & SECURITY
IF5.4
CWEval: Outcome-driven Evaluation on Functionality and Security of LLM Code GenerationCWEval:基于结果驱动的LLM代码生成功能性与安全性评估
Code Reviews, Software Inspections, and Code Walkthroughs: Systematic Mapping Study of Research Topics代码审查、软件检查和代码旁查:研究主题的系统化映射研究

