原创 谢启亮 2025-08-05 21:30 四川
本文探讨了对LLMs发起模仿攻击以提取其专门化代码能力(如“代码合成”和“代码翻译”)的可行性。
原文标题:On Extracting Specialized Code Abilities from Large Language Models: A Feasibility Study
原文作者:Zongjie Li , Shuai Wang , Pingchuan Ma , Chaowei Liu ,Chaozheng Wang , Cuiyun Gao ,Daoyuan Wu, Yang Liu
原文链接:https://ieeexplore.ieee.org/document/10548878
发表会议:ICSE
笔记作者:谢启亮@安全学术圈
主编:黄诚@安全学术圈
编辑:张贝宁@安全学术圈
1、背景介绍
大型语言模型 (LLMs) 的最新进展显著推动了其在软件工程中的应用。然而,训练一个性能优良的LLM需要大量的人力进行数据收集和标注。此外,训练数据集可能是专有的或部分开放的,并且该过程通常需要昂贵的GPU集群。商业LLMs的知识产权价值使其成为模仿攻击 (imitation attacks) 的有吸引力的目标,但创建一个具有相当参数量的模仿模型仍然成本高昂。这促使我们探索一个实用且新颖的方向:使用中等规模的骨干模型对商业黑盒LLMs进行“切片 (slicing)”。
LLMs的最新发展已导致其在软件工程中的使用显著增加。主要企业,如OpenAI,已经部署了他们的LLM API,以更准确有效地协助人类编写代码和文档。构建这些模型使用了大规模的包含相关自然语言注释的代码语料库,从而提高了计算机编程的生产力。先进的LLMs被倡导扮演“AI编程助手”的角色,能够处理各种与代码相关的任务,包括交互式任务(如帮助开发者编写自动化脚本或提供代码审查)和需要推理能力的复杂任务(如发现漏洞和代码克隆检测)。此外,一些LLMs(如ChatGPT)被设计为具有更强的交互能力,这意味着它们可以从与人类的互动中学习,并在对话轮次中提高其性能,使其在发现和修复传统工具难以解决的错误方面更有效。 尽管LLM API越来越受欢迎,但人们普遍认为,训练一个性能良好的LLM需要大量的人力进行数据收集和标注,以及大量的GPU资源。因此,尽管一些模型架构是公开的,但模型权重和训练数据被视为模型所有者拥有的知识产权。模型背后的知识产权非常有价值,因为模型提供商向大量用户提供服务。最近,已经证实计算机视觉 (CV) 和自然语言处理 (NLP) 模型容易受到模仿攻击(或模型提取攻击)的攻击,其中攻击者向受害者模型发送精心设计的查询,并收集其响应以训练一个本地模型(通常称为模仿模型),该模型在很大程度上“模仿”目标远程模型的行为。
2、本文方法与主要贡献
本文探讨了对LLMs发起模仿攻击以提取其专门化代码能力(如“代码合成”和“代码翻译”)的可行性。我们系统地研究了在不同代码相关任务下,使用多种查询方案(包括零样本、上下文学习和思维链)发起代码能力提取攻击的有效性。我们还设计了响应检查机制来优化输出,从而实现有效的模仿训练过程。
乍一看,对商业LLMs进行模仿攻击似乎不切实际,因为攻击者需要准备一个具有相当参数量的模仿模型,从而导致高昂的成本。然而,与LLMs的广泛能力相反,开发者通常只需要这些能力的专门化子集,因为他们专注于特定任务,如代码翻译和摘要。这启发我们探索一个实用且新颖的方向:使用中等规模的骨干模型对商业黑盒LLMs进行“切片”。换句话说,我们的目标是证明使用中等规模的骨干模型提取LLMs专门化代码能力的高度可能性。例如,攻击者可能特别感兴趣从LLM中提取“代码翻译”的能力,这是一种专门化的代码能力,允许LLM将源代码从一种编程语言翻译成另一种。这种能力在软件开发行业非常有价值,并已广泛应用于商业产品中。模仿攻击还具有允许用户避免与第三方提供商共享其代码片段的好处。这可以通过在本地部署从LLMs通过中等规模骨干模型提取的专门化模仿模型来实现。
提取专门化的代码能力带来了独特的技术挑战。根据具体的代码任务,LLMs可能处理自然语言 (NL) 或编程语言 (PL) 输入,并相应地发出NL/PL输出。此外,现代LLMs通常可以通过各种上下文学习或思维链提示来引导,这使得确定LLMs代码能力的攻击面变得困难。此外,鉴于代码相关任务的复杂性和输出中潜在的模糊性,如何使用目标LLM输出来提高模仿模型的性能尚不清楚。
总体而言,这项工作是首次对使用常见中等规模模型从LLMs中提取专门化代码能力的有效性进行系统和实践研究。 为了应对上述技术挑战,我们设计并进行了针对LLMs的全面模仿攻击,包括所有三种代码相关任务和不同的查询方案。此外,我们开发了几种方法来优化LLMs接收到的输出,这些输出使得使用两种流行的骨干模型CodeT5和CodeBERT训练模仿模型更有效。最后,我们证明了模仿模型可以增强关键的下游任务,例如对抗样本生成。
本文贡献总结如下:
1)我们对模仿攻击在LLMs代码知识切片方面的有效性进行了首次系统研究。
2)我们的研究包括三种代表性的查询方案和不同的代码相关任务。我们还设计了几种方法来优化LLM输出并增强模仿模型的训练效果。
3)我们提出了五个研究问题 (RQs),以全面评估LLMs代码能力模仿攻击的有效性及其潜在的下游应用,例如对抗样本生成。我们汇总了结果和观察,以推导出经验性发现。
3、模仿攻击流程
(图1:我们的模仿攻击框架概述,包括查询生成、响应检查、模仿训练和下游应用。)
如图1所示,我们的模仿攻击框架包含四个阶段:(1) 查询生成,(2) 响应检查,(3) 模仿模型训练,以及 (4) 下游(对抗性)应用。给定一个或多个代理数据集,我们的攻击框架首先根据不同的代码任务和查询方案生成LLM查询。然后,我们采用基于规则的过滤器来检查LLMs提供响应的正确性和质量。通过过滤器的响应被认为是高质量的,并用于训练模仿模型。接下来,我们通过使用过滤后的响应微调中等规模的骨干模型来训练模仿模型。最后,我们将模仿模型用于各种下游(恶意)应用,例如提供有竞争力的服务和增强对抗样本的生成。查询生成方案:
零样本查询 (Zero-Shot Query, ZSQ): 攻击者迭代地使用每个查询 来查询目标LLM,而无需准备任何上下文。
上下文查询 (In-context Query, ICQ): 为每个问题 提供几个示例以及问题头 。
零样本思维链 (Zero-Shot CoT, ZS-COT): 首先构建一个提示,要求受害者模型提供解释(或基本原理)并收集响应作为。在第二阶段,同时使用 和 来询问受害者模型的最终答案。
响应检查方案: 收集到的响应需要经过筛选以确保高质量。对于自然语言 (NL) 输出,我们计算长度并丢弃低于或高于预定义阈值的文本。对于编程语言 (PL) 输出,我们仅保留通过语法检查(使用treesitter)的那些。
模仿模型训练: 与先前的模仿攻击类似,通过筛选的高质量答案用于微调公共的骨干模型。本文选择CodeBERT和CodeT5作为代表性的代码相关任务模型。
目标LLM和任务: 除非另有说明,所有实验均使用OpenAI的text-davinci-003作为受害者LLM。评估的任务包括:代码合成 (CSyn)、代码翻译 (CT) 和代码摘要 (CSum)。
4、评估与研究问题
本文旨在通过回答以下研究问题 (RQs) 来实验性地研究从LLMs中提取专门化能力的有效性:
RQ1: 模仿攻击在代码相关任务中的有效性如何?
发现1:通过中等规模骨干模型提取LLMs的专门化代码能力对于代表性的代码相关任务是有效的。训练的模仿模型在这些专门化代码能力方面取得了与原始LLMs相当甚至更好的性能。 (表3显示了模仿攻击的主要结果。 (模仿模型) 在代码翻译 (CT) 和代码摘要 (CSum) 任务上甚至优于原始的LLM API。)(表3:模仿攻击的主要结果。“I/O”代表“输入/输出”。所有结果均以BLEU分数或CodeBLEU分数在参考数据集的测试分割上呈现。和分别代表在代理和参考数据集上训练的骨干模型。是在收集的数据集上训练的模仿模型,“API”代表在所有三种查询方案下原始LLM的最佳结果。是没有微调的骨干模型。)
RQ2: 不同查询方案如何影响模仿攻击的性能?
发现2:查询方案对模仿攻击的性能有重大影响。构建具有合适模板设计的查询方案至关重要。具有足够上下文的查询通常会增强对所有任务的攻击,而CoT仅在代码合成中显示出显著的提升。 (表4比较了不同查询方案的攻击有效性。ICQ在CSum和CT任务上表现更好,而ZS-COT在CSyn任务上表现更优。)(表4:使用不同查询方案的攻击有效性。CBLEU表示CodeBLEU指标。)
RQ3: 超参数如何影响模仿攻击的性能和成本?
发现3:输出/采样超参数对攻击性能有可观察到(但非显著)的影响。相反,查询数量和上下文示例数量显著影响攻击性能。 (图3显示了超参数的影响。temperature和topp影响较小,而查询数量和上下文示例数量影响较大。)(图3:超参数的影响 (RQ3)。(a) 通过的响应数量。(b) 不同查询数量下的性能。)
RQ4: 模仿模型在多大程度上有助于生成针对LLM API的对抗样本?
发现4:模仿模型提供了有用的信息(例如,注意力分数)以促进针对LLMs的对抗样本生成。利用这些信息,我们成功地发现了多个可以在LLM API上稳定触发的对抗样本。 (表6比较了不同对抗攻击方法。使用模仿模型 (Ours) 的方法在稳定对抗样本 (SAE rate) 和不稳定对抗样本 (UAE rate) 方面均优于其他方法。)(图4:对抗样本生成示例。)
(表6:不同对抗攻击方法的比较。Sem EQ、SAE率和UAE率分别代表语义相等、稳定AE率和不稳定AE率。)
RQ5: 模仿攻击在不同LLM API间的泛化能力如何?
发现5:我们的模仿攻击方法表现出令人鼓舞的泛化能力,并且无需额外调整即可适应不同的LLM API。这在现实中可能预示着更严重的威胁,因为现实中的攻击者可能会顺利地将攻击转移到成本较低的其他LLM API。 (表7比较了针对text-davinci-003 (TD-003) 和 gpt-3.5-turbo (GPT-35) 的攻击结果。gpt-3.5-turbo上的模仿模型性能接近在text-davinci-003上训练的模型。)(表7:其他LLM API的比较。TD-003和GPT-35分别代表“text-davinci-003”和“gpt-3.5-turbo”。)
5、讨论与结论
对有效性的威胁: 研究结果的普适性可能受到评估的特定LLMs和骨干模型的限制。未来的工作应包括更多样化的模型和任务。数据集选择和语义相等性度量也可能影响结果。
缓解措施: 水印技术是保护知识产权的常用方法。LLM供应商可能已经在其API中嵌入了水印原型。
研究结果反思: 本研究证明了通过模仿攻击从LLMs中提取专门化代码能力的可行性。这些发现对研究社区具有重要意义,包括对LLM供应商知识产权的严重威胁,以及优化查询方案以平衡成本和性能的必要性。模仿模型还可以积极影响下游应用,如对抗样本生成。
结论: 本文通过实验研究了使用常见中等规模模型从LLMs中提取专门化代码能力的有效性。为此,我们设计了一个模仿攻击框架,包括查询生成、响应检查、模仿训练和下游恶意应用,并提供了有用的信息以促进针对LLMs的对抗样本生成。我们总结了我们的发现和见解,以帮助研究人员更好地理解模仿攻击所带来的威胁。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com
专题最新征文
期刊征文 | 暗网抑制前沿进展 (中文核心)
期刊征文 | 网络攻击分析与研判 (CCF T2)
