Nov, 2023

对编码任务中大型语言模型的转移攻击和防御

TL;DR现代大型语言模型(LLMs)在编码任务中表现出令人印象深刻的能力,如 ChatGPT,改进了以前的神经网络代码模型,例如 code2seq 或 seq2seq,这些模型在执行诸如代码摘要和识别代码漏洞等任务时已经表现出有竞争力的结果。然而,这些以前的代码模型被显示为易受对抗性示例的攻击,即不改变程序语义的小的句法扰动,例如通过虚假条件包含 “死代码” 或添加无关紧要的打印语句,专为 “愚弄” 模型而设计。LLMs 也可能容易受到相同对抗性扰动的攻击,但迄今为止对此问题缺乏详细研究。本文旨在研究对 LLMs 的编码任务的对抗性扰动的影响。具体而言,我们研究通过对较小的代码模型进行白盒攻击生成的对抗性示例对 LLMs 的可转移性。此外,为了使 LLMs 对此类对手更加强大,而无需重新训练的成本,我们提出了基于提示的防御措施,其中修改提示以包括经过对抗性扰动的代码示例的附加信息和反转对抗性扰动的明确指示。我们的实验证明,使用较小的代码模型获得的对抗性示例确实具有可转移性,削弱了 LLMs 的性能。提出的防御措施显示出改善模型的韧性的潜力,为与代码相关的应用的 LLMs 提供更加稳健的防御解决方案铺平了道路。