- 简介最近,面向代码的大型语言模型(Code LLMs)已经被广泛且成功地用于简化和便利代码编程。使用这些工具,开发人员可以根据不完整的代码和自然语言提示轻松生成所需的完整功能代码。然而,一些先驱性的工作揭示了这些Code LLMs也是脆弱的,例如,对于后门和对抗性攻击。前者可以通过污染训练数据或模型参数来诱导LLMs响应触发器并插入恶意代码片段,而后者可以制作恶意对抗性输入代码以降低生成代码的质量。但是,这两种攻击方法都有潜在的限制:后门攻击依赖于控制模型训练过程,而对抗性攻击则难以实现特定的恶意目的。 为了继承后门和对抗性攻击的优势,本文提出了一种新的攻击范式,即针对特定目标的对抗性提示注入(TAPI),针对Code LLMs。TAPI生成包含恶意指令信息的不可读注释,并将其隐藏为外部源代码中的触发器。当用户利用Code LLMs完成包含触发器的代码时,模型将在特定位置生成攻击者指定的恶意代码片段。我们在三个代表性的恶意目标和七个案例下对四个代表性LLMs进行了TAPI攻击的评估。结果表明,我们的方法具有高度的威胁性(攻击成功率提高了89.3%)和隐蔽性(在触发器设计中平均节省了53.1%的标记)。特别是,我们成功攻击了一些著名的已部署的代码完成集成应用程序,包括CodeGeex和Github Copilot。这进一步证实了我们攻击的现实威胁。
- 图表
- 解决问题本论文旨在针对代码语言模型(Code LLMs)的漏洞进行攻击,提出了一种新的攻击范式——目标特定的对抗性提示注入(TAPI)攻击。该攻击旨在通过在外部源代码中隐藏触发器,生成包含恶意指令信息的不可读注释,并在特定位置插入攻击者指定的恶意代码片段,从而实现对Code LLMs的攻击。
- 关键思路TAPI攻击通过在外部源代码中隐藏触发器,生成包含恶意指令信息的不可读注释,并在特定位置插入攻击者指定的恶意代码片段,从而实现对Code LLMs的攻击。
- 其它亮点论文通过实验验证了TAPI攻击的高威胁性和隐蔽性,成功攻击了一些著名的部署代码完成集成应用程序,包括CodeGeex和Github Copilot。
- 与本论文相关的研究包括代码语言模型的安全性研究,以及针对代码语言模型的其他攻击方法的研究,如后门攻击和对抗性攻击。
沙发等你来抢
去评论
评论
沙发等你来抢