Akrasia:针对推理型代码 LLM 的隐蔽后门攻击
AKRASIA: Stealthy Backdoor Attack on Reasoning-based Code LLMs
- Prompt injection
- Reasoning-chain manipulation
- Reasoning chains
- Defense-targeted
- Monitors
- coding agent
- Prompt layer
作者对推理代码模型发起后门攻击AKRASIA,在CodeMMLU对Gemini-3.5取得99.34%平均ASR。
攻击者通过第三方prompt optimization service或man-in-the-middle拦截用户query prompt,无模型权重或训练数据知识(闭源API场景)。
- 现有代码大模型推断期后门攻击主要依赖自然语言触发器,忽略了代码特征,且生成的推理步骤容易暴露攻击意图,能被现有防御方法或人工审查识别。
- AKRASIA通过探查受害模型构造代码级触发器,利用上下文学习注入后门行为,并借助模型不忠实性在输出与思维链中隐匿触发器或生成合理化伪装推理。
- 在6个模型和3个基准上,AKRASIA在CodeMMLU上对Gemini-3.5-flash达到99.34%平均ASR,并在18个防御设置中的14个维持55.36%至98.82%的平均ASR。
- 攻击提示词仅固定采用一正一负2个ICL示例;受害模型缺乏温度调节设置存在随机性;实验未提出针对AKRASIA的新防御方法。
- Threat model
- 攻击者通过第三方prompt optimization service或man-in-the-middle拦截用户query prompt,无模型权重或训练数据知识(闭源API场景)。目标是有触发器时篡改输出、无触发器时保持正常性能。受害者与黑盒防御方可读取中毒提示词、输出与推理步骤。
- Evaluated models
- Claude-Sonnet-5GPT-5.5Gemini-3.5-flashGLM 5.2Qwen-3.6-35BDeepseek-v4-progpt-4-0613
- Benchmarks
- CodeMMLUCruxEvalLiveCodeBench (v6)
- Metrics
- ASRACC
研究者提出 Akrasia,一种针对推理型代码 LLM 的推理时后门攻击,通过探测模型构造代码级触发器,再用上下文学习植入后门,并借助模型不忠实性隐藏触发器、生成看似合理的推理。在 GPT-5.5、Claude Sonnet-5、Gemini 3.5 Flash、DeepSeek-V4-Pro、GLM 5.2、Qwen3.6-35B 六款模型上,攻击在 CodeMMLU 代码补全任务的平均 ASR 最高达 99.34%,同时保持最高 97.23% 的准确率。在 CoS、ONION、PeerGuard 三种防御下,Akrasia 在 14/18 个防御设置中仍保持最高 98.82% 的平均 ASR;人工检查中,进阶变体在最多 80% 的设置里成功隐藏触发器与推理步骤。攻击目标包括反向 shell、凭据窃取、资源耗尽和长运行时间,作者据此呼吁针对推理后门开发防御方法。
Why it was selected论文给出推理型代码 LLM 后门在六款模型、三类任务和三种防御下的攻击成功率,可据此评估代码 Agent 的供应链风险。
Paper analysis
What problem does this paper attempt to solve?
论文探讨推理代码大模型在推断期面临的代码级后门脆弱性,旨在实现兼具高攻击成功率与隐蔽性的后门攻击。
核心问题:如何在推理型代码大模型中构建一种能够在推断期有效规避自动化防御与人工审查的隐蔽后门攻击。
- 场景与重要性:作者指出,基于推理的大语言模型在编程任务中表现突出,但其暴露的思维链(CoT)推理机制引入了新型安全风险。随着AI代码智能体(Anthropic, 2026a)的应用增加,受后门影响的模型生成恶意代码可能导致远程执行、凭证窃取、资源耗尽或服务中断等后果。
- 现有方法的不足:作者称,现有推断期后门攻击(如BadChain与BadCodePrompt)主要依赖自然语言触发器,忽略了代码特有的语法与结构特征;此外,现有攻击的触发器在提示词中显式可见,且无法隐匿推理过程,容易被现有防御方法(如CoS)或人工审查识别。
- 核心观察与假设:作者基于前人研究提出两项核心假设:其一,上下文学习(ICL)足以在推断期诱导大模型产生定向错误行为;其二,推理模型具有不忠实性(Chen et al., 2025),即中间思维链往往不会如实反映影响最终答案的真实线索。因此,作者认为通过在提示词中设计特定指引,可以在隐藏触发器的同时生成看似合理的虚假推理步骤。
- 论文提出的方法:作者提出了AKRASIA,一种针对推理代码大模型的推断期后门攻击框架。该方法通过探查受害者模型生成代码级触发器,结合上下文学习完成行为注入,并利用模型不忠实性隐藏触发器或生成合理化伪装推理。
- 威胁模型:
- 攻击者目标:在输入存在后门触发器时促使模型生成攻击者指定的恶意输出;在不存在触发器时确保模型的正常代码任务性能不受影响。
- 攻击者知识与能力:攻击者拥有黑盒API访问权限,没有受害模型的权重和训练数据知识;攻击者能通过第三方提示词优化服务(如Geniusee、Fiverr)或中间人攻击(MITM)拦截并修改用户的查询提示词。
- 受害系统与防御设定:受害系统为闭源或开源的推理代码大模型;受害者及黑盒防御系统(如CoS、PeerGuard、ONION)有权读取包含中毒内容的提示词、模型最终输出以及生成的完整推理步骤。
What related research exists?
论文梳理了基于推理的推断期后门、代码模型后门及黑盒防御三类研究,将自身定位于首个隐匿代码触发器与推理的攻击。
基于推理的大模型推断期后门攻击
- BadChain (Xiang et al., 2024)——利用上下文学习示例与思维链提示在数学推理(GSM8K)、常识推理(CSQA)和符号推理(Letter)上实施推断期后门攻击。作者指出,其仅使用自然语言触发器,未评估代码任务,触发器容易被防御和人工识别。
- BadCodePrompt (Qu et al., 2025)——针对代码大模型提示词工程采用自然语言触发器实施推断期后门攻击,生成恶意载荷。作者指出,其忽略了代码特征,且未公开实现代码。
- DecodingTrust (Hong et al., 2024)——通过投毒演示示例评估大模型可信度。作者指出,其依赖自然语言触发器,聚焦于数学或推理任务而非代码任务。
代码模型的后门攻击
- 预训练与微调阶段投毒——Ramakrishnan and Albarghouthi (2022) 为源代码任务定义了多类后门;Wan et al. (2022) 通过在训练数据中插入代码文件操纵代码检索排序;Schuster et al. (2021) 通过微调投毒神经代码补全模型;Yang et al. (2024b) 提出了基于标识符重命名与自适应触发器的微调后门。作者指出,这些工作依赖训练集投毒或模型微调,不适用于闭源API大模型。
- 推断期模板与系统提示词后门——InferenceTimeBackdoor (Fogel et al., 2026) 利用聊天模板植入触发器;CustomLLMBackdoor (Zhang et al., 2024) 将后门嵌入GPT-Store自定义版本的系统提示词中。作者指出,推理型大模型在推断期的后门攻击此前未被深入探索。
大语言模型后门防御
- 反应式与黑盒防御——ONION (Qi et al., 2021) 通过离群词检测过滤文本后门;PeerGuard (Fan and Li, 2025) 采用多智能体互推理系统评估响应并标记不合逻辑的推理;CoS (Chain-of-Scrutiny, Li et al., 2025) 是针对推理后门的防御,审查受害者模型的最终输出与推理一致性。
- 主动防御与乱序防御——Tang et al. (2023)、Huang et al. (2024) 和 Zhu et al. (2022) 属于预训练阶段的安全性防御;SHUFFLE与SHUFFLE++ (Xiang et al., 2024) 在提示词中重排示例推理步骤或推理词序。作者指出,SHUFFLE类方法会破坏查询语义并导致准确率明显下降。
基线方法与基准
- 攻击对比基线为扩展至代码场景的 BadChain (Xiang et al., 2024);防御基线为 CoS (Li et al., 2025)、PeerGuard (Fan and Li, 2025) 和 ONION (Qi et al., 2021)。评测基准为 CodeMMLU (Nguyen et al., 2025)、CruxEval (Gu et al., 2024) 和 LiveCodeBench (v6) (Jain et al., 2025)。
作者称,AKRASIA是首个针对推理代码大模型、采用代码级触发器并在推断期隐藏触发器与思维链操控、同时生成合理化伪装推理以规避防御和人工审查的后门攻击。
How does the paper address this problem?
AKRASIA通过探查受害模型生成代码触发器,构建正负ICL示例与伪装提示词,依托模型不忠实性隐匿攻击意图。
AKRASIA的整体思路是通过探查受害者模型自动生成上下文相关的代码级触发器,利用正负ICL示例引导模型学习后门逻辑,并利用模型不忠实性隐匿触发器或生成伪装推理。
触发器生成机制
- 触发器生成通过向受害模型输入结构化提示词模板(附录Listing 16)完成。攻击者提供8个与用户查询无关的同任务示例(如代码补全),指示受害模型生成符合指定要求的上下文相关代码触发器,附录A.7给出了生成提示词模板。
- 论文定义了5种代码触发器类型(附录A.4):
- 注释触发器(Comment):由受害模型根据示例生成包含2至5个生僻词的Python注释。
- 死代码触发器(Deadcode):生成2至5行固定的不可达Python死代码分支。
- 双模态触发器(Bimodal):将注释与死代码结合,作者称两者同时存在才触发以提高抗检测能力。
- 语法触发器(Grammar):基于预设上下文无关文法规则展开,由受害模型根据示例上下文选择其中一种变体。
- 自适应触发器(Adaptive):提取用户测试问题中的变量名列表,由受害模型选择一个或多个变量生成保持语义的重命名替换。
攻击提示词构建与隐蔽性变体
- 攻击提示词构建流程(Algorithm 1)整合了以下内容:设定任务上下文的系统指令、展示包含触发器时预期行为的正向ICL示例、展示无触发器时正常行为的负向ICL示例、注入了触发器的用户查询,以及调整目标行为与隐蔽性级别的附加指令。
- 论文设计了3种隐蔽性级别(Section 4.3):
- 基础版本(AKRASIA-B):不对提示词做额外修改,模型推理中会直接提及触发器规则(附录Listing 1)。
- 不忠实版本(AKRASIA-U):在提示词中明确指示模型不得在输出与推理步骤中提及触发器的存在,避免过多解释引起怀疑(附录Listing 2、Listing 4)。
- 不忠实推理版本(AKRASIA-UR):在不提及触发器的基础上,进一步指示模型生成具有说服力的推理步骤,将受操纵的输出合理化为正常分析结果(附录Listing 3、Listing 5)。
后门目标行为与载荷设计
- 目标行为(Target Behaviour)根据具体代码任务定制(Section 4.3、附录A.3与A.6):
- 多项选择/代码补全:静态目标(固定选择预设选项如B)与动态目标(顺移选择真实答案的下一个选项以消除规律模式)。
- 输出预测:基于数据类型的规则变异(如字符串追加末尾字符、布尔值取反、整数或浮点数加1、列表或字典各元素变异或空对象类型替换)。
- 代码生成载荷:设计了4种不影响程序功能正确性但具备危害的载荷:运行时间延迟(Runtime,执行100万次空循环)、内存占用(Memory,向列表追加字符串100万次)、IP窃取(IP,利用socket将用户IP发送至指定服务器与端口)、恶意依赖包(Package,通过subprocess从test-PyPI安装第三方包并调用函数实施反向shell攻击)。
评估指标形式化
- 攻击效果与模型效用通过攻击成功率与准确率衡量(附录A.8):攻击成功率定义为:ASR = (Nsuccessful_attacks)/(Ntotal_predictions) × 100%,表示在存在后门触发器时模型被诱导产生攻击者指定行为的预测比例。准确率定义为:ACC = (Ncorrect_predictions)/(Ntotal_predictions) × 100%,表示在没有后门触发器时模型给出正确答案的预测比例。
What experiments did the paper conduct?
实验覆盖6个模型与3个基准,显示AKRASIA在多任务与多类防御下保持高攻击成功率与效用,并逃逸人工检测。
实验设置
- 被测模型:共评估6个推理模型,包括3个闭源模型GPT-5.5、Claude-Sonnet-5、Gemini-3.5-flash,以及3个开源权重模型Deepseek-v4-pro、GLM 5.2、Qwen-3.6-35B;在附录探索实验中还测试了gpt-4-0613。
- 基准与任务:涵盖3个编程任务与对应基准:代码补全选择题CodeMMLU(164题)、代码输出预测CruxEval(200题)、代码生成LiveCodeBench (v6)(175题)。
- 攻击与防御基线:攻击基线为扩展到代码领域的BadChain;防御基线包括CoS(Chain-of-Scrutiny)、PeerGuard和ONION。
- 评估指标:采用攻击成功率(ASR)衡量触发后门的效果,采用准确率(ACC)衡量无触发器时的模型代码任务表现。
- 评审与判定方式:代码生成任务通过测试套件自动化运行与人工抽样复核;输出预测通过基于规则的输出比较;多项选择题比对选项;IP窃取根据服务器是否接收到IP判定;反向shell包安装通过subprocess调用及网络连接判定。
- 计算环境与重复设置:实验在Google Cloud Compute Engine的n2-standard-4实例(4 vCPU,16 GB内存)上运行;使用API默认推理级别,论文未报告重复运行次数;代码实现约6000行Python代码。
主结果
Swipe horizontally to read the table
模型 输出预测 ACC 输出预测 ASR MCQ代码补全 ACC MCQ代码补全 ASR Claude-Sonnet-5 0.7204 0.8436 0.9487 0.9196 GPT-5.5 0.9270 0.4260 0.9723 0.0408 Gemini-3.5-flash 0.7010 0.6970 0.9579 0.9934 GLM 5.2 0.5782 0.6882 0.8864 0.8621 Qwen-3.6-35B 0.6750 0.7930 0.9092 0.8714 Deepseek-v4-pro 0.7500 0.8350 0.9225 0.8919 (据 Table 5)
- 高攻击成功率:作者称,AKRASIA在多数模型上表现出高ASR,MCQ任务中除GPT-5.5外的模型ASR介于86.21%至99.34%之间,输出预测任务中除GPT-5.5外的模型ASR介于68.82%至84.36%之间。
- 任务效用保持:作者称,攻击在清洁条件下的准确率(ACC)保持在较高水平,MCQ任务ACC在88.64%至97.23%之间,输出预测任务ACC在57.82%至92.70%之间,说明攻击对正常推理能力干扰较小。
- GPT-5.5的异常表现:作者将GPT-5.5在CodeMMLU上的低ASR(4.08%)和CruxEval上的较低ASR(42.60%)归因于其可能内置了针对后门攻击的防御护栏;作者同时指出,Table 12中GPT-5.5在AKRASIA-U和AKRASIA-B下的静态MCQ ASR分别达44.04%和59.51%,表明其护栏对特定变体失效。
对抗黑盒防御的隐蔽性评测
- 测了什么:在CodeMMLU上评测AKRASIA面对3种黑盒防御(CoS、ONION、PeerGuard)时的ASR表现(Table 6、Table 13)。
- 结果:在18个测试设置中的14个(77.78%)里,AKRASIA保持了55.36%至98.82%的平均ASR;其中PeerGuard防御下的Qwen-3.6-35B达到98.82% ASR,CoS使Claude-Sonnet-5的ASR降至9.40%,在GPT-5.5上CoS将ASR降至2.70%(Table 6报告0.0270)。
- 作者解读:作者认为多数SOTA防御难以有效防御AKRASIA;CoS在4/6的模型上防御效果相对最优,而防御效果较强的模型(GPT-5.5和Claude-Sonnet-5)得益于内部模型护栏与外部防御的结合。
人工审查逃逸评估
- 测了什么:由2名非作者资深开发者对35个随机打乱的样本进行人工盲审,评估其对不同攻击变体(AKRASIA-B、AKRASIA-U、AKRASIA-UR等)的触发器识别、异常输出检测及推理合理性判断(Figure 3)。
- 结果:Figure 3显示,AKRASIA-B的推理步骤被标记为合理的比例仅为10%(1/10),而高级变体(AKRASIA-U和UR)达到70%至80%(7/10至8/10);AKRASIA-B的触发器被发现率为80%(8/10),而高级变体降至30%至40%(3/10至4/10);AKRASIA-B输出错误被检测率为100%,而AKRASIA-U仅为30%(3/10),AKRASIA-UR为70%(7/10)。
- 作者解读:作者称高级变体的推理步骤合理性达到基础版本的7倍,触发器被发现难度是基础版本的2倍,表明隐匿触发器与合理化推理增强了对人工审查的欺骗性。
代码生成任务上的攻击表现
- 测了什么:在LiveCodeBench上使用AKRASIA-U评测5个模型在4类载荷(Runtime、Memory、IP、Package)下的攻击表现(Table 4)。
- 结果:Gemini-3.5-flash取得最高平均ASR 90.4%(中毒ACC 93.0%),GPT-5.5平均ASR最低为55.2%(中毒ACC 80.8%);各模型中毒ACC在75.0%至93.0%之间,清洁ACC在76.0%至95.4%之间;IP载荷在Claude-Sonnet-5和GPT-5.5上ASR为0.0000(Table 16)。
- 作者解读:作者称AKRASIA在代码生成任务上能保持与清洁设置相当的模型准确率,同时实现较高的恶意代码注入成功率。
其他消融与分析
- 与BadChain对比:在CodeMMLU上BadChain在Qwen-3.6-35B和Deepseek-v4-pro上的ASR均为0.0000,而AKRASIA-UR平均ASR分别为0.87142和0.8919(Table 9)。
- CoS防御下消融:在Deepseek-v4-pro上,AKRASIA-U在CoS下的ASR介于0.305至0.924之间,高于AKRASIA-UR(0.246至0.822)和AKRASIA-B(0.000至0.008)(Table 10)。
- 触发器类型比较:在CodeMMLU上,注释触发器在50%(6/12)设置中ASR最高,而自适应触发器在所有设置中ASR最低(Section A.11、Table 12)。
- 目标类型比较:动态目标在4/6的模型上ASR高于静态目标,GLM 5.2上两者差异最小(0.8565对0.8564),Gemini-3.5-flash上静态目标更高(0.9883对0.9635)(Section A.11)。
- 旧版模型对比:在gpt-4-0613上AKRASIA-UR取得最高98.36% ASR(注释与双模态),而在gpt-5.5-2026-04-23上最高ASR仅为5.73%(注释)(Table 11)。
What are some points that can be further explored?
作者指出了提示词ICL数量未扰动、模型推理随机性及缺乏专有防御等局限,未来计划探索有效防御手段。
作者指出的局限与后续方向
- 提示词ICL示例数量未做扰动:作者指出,完整的攻击提示词结构由2个ICL示例构成(一正一负),以在不过度消耗token的前提下充分指示模型行为;论文未进行改变ICL示例数量的扰动实验,其他设定下的模型表现可能会发生变化(Section 8 Prompt Configuration)。
- 模型固有的推理随机性:作者指出,推理型大语言模型在回答过程中表现出一定程度的随机性;被测推理模型没有温度调节参数设置,实验采用了各API提供商默认的推理级别,模型随机性会导致结果存在随机波动(Section 8 Model Randomness)。
- 外部有效性与模型泛化范围:作者指出,外部有效性的主要潜在威胁在于AKRASIA在其他模型上的通用适用性;尽管实验采用了多个不同系列、架构、尺寸及开源与闭源的模型进行缓解,但仍需在更多模型上进一步验证(Section 8 External Validity)。
- 缺乏专有的有效防御方法:作者指出,本研究未针对AKRASIA提出新型提示词防御方法,并承认当前缺乏针对此类攻击的有效防御手段(Section 9 Prompt Defence Methodologies)。
- 后续有效防御研究计划:作者在总结中明确表示,未来计划探索如何针对AKRASIA构建有效的防御机制(Section 7 Conclusion)。
实验覆盖范围
- 被测模型覆盖6个推理大模型(Claude-Sonnet-5、GPT-5.5、Gemini-3.5-flash、GLM 5.2、Qwen-3.6-35B、Deepseek-v4-pro)及1个非推理基准模型gpt-4-0613,涵盖开源权重与闭源商业API。
- 任务与数据集覆盖代码补全(CodeMMLU,164题)、输出预测(CruxEval,200题)和代码生成(LiveCodeBench v6,175题)三类场景;其中代码生成实验覆盖5个模型,未测试GLM 5.2。
- 防御评测覆盖3种黑盒防御方法(CoS、ONION、PeerGuard),因语义破坏与准确率下降问题未评估SHUFFLE与SHUFFLE++。
- 人工审查评估由2名资深开发者对35个随机样本进行独立审查;论文未报告实验的重复运行次数。
Summarize the main content of the paper
论文针对推理代码大模型提出了隐蔽推断期后门攻击AKRASIA,揭示了模型思维链可被利用进行欺骗性伪装的安全隐患。
- 研究定位:论文针对代码推理大模型提出了一种利用上下文学习与模型不忠实性构建的推断期隐蔽后门攻击框架AKRASIA。
- 核心问题:现有大模型推断期后门多针对自然语言或数学推理,依赖显式文本触发器,不仅无法适应代码语法结构,且在暴露的思维链中容易被黑盒防御和人工审查察觉。
- 方法设计:AKRASIA首先通过小样本探查受害模型生成上下文相关的代码触发器(涵盖注释、死代码、语法、自适应和双模态);随后构建包含正负ICL示例的投毒提示词;最后利用模型在推理过程中的不忠实性,指示模型隐藏触发器并生成支持错误输出的合理化虚假推理。
- 关键实验发现:实验覆盖6个主流推理模型与3个代码基准。在CodeMMLU代码补全任务中,AKRASIA在Gemini-3.5-flash上达到99.34%平均ASR(Table 5);在LiveCodeBench代码生成任务中,AKRASIA-U在Gemini-3.5-flash上实现90.4%平均ASR和93.0%中毒ACC(Table 4);在3种SOTA防御测试中,AKRASIA在14/18个设置中维持55.36%至98.82%的平均ASR(Table 6);人工盲审中,高级攻击变体的推理被判定为合理的比例达到70%至80%,触发器检出率降至30%至40%(Figure 3)。
- 特例与失效分析:GPT-5.5在CodeMMLU上的AKRASIA-UR版本ASR降至4.08%(Table 5),但在基础版本和不忠实版本下仍有44.04%与59.51% ASR(Table 12),作者将其归因于模型内部特定护栏的作用;自然语言基线BadChain在代码任务上的ASR降为0.0000(Table 9)。
- 作者结论与启示:作者认为,思维链推理机制为攻击者提供了生成误导性解释的攻击面,当前的黑盒防御和人工检查难以有效应对具备合理化伪装能力的后门攻击,迫切需要针对推理模型的防御机制与更稳固的模型内置安全对齐。