CachePrune: Neural-Based Attribution Defense Against Indirect Prompt Injection Attacks
作者: Rui Wang, Junda Wu, Yu Xia, Tong Yu, Ruiyi Zhang, Ryan Rossi, Subrata Mitra, Lina Yao, Julian McAuley
分类: cs.CR, cs.AI
发布日期: 2025-04-29 (更新: 2025-12-12)
💡 一句话要点
CachePrune:基于神经元归因的防御间接提示注入攻击方法
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 提示注入攻击 神经元归因 KV缓存 安全防御
📋 核心要点
- 大型语言模型易受间接提示注入攻击,现有方法难以有效区分数据与指令,导致模型行为被恶意引导。
- CachePrune通过神经元归因识别并剪除KV缓存中触发任务的神经元,促使模型将输入视为数据而非指令。
- 实验表明,CachePrune能显著降低攻击成功率,同时保持模型在正常输入下的响应质量,无需额外格式或LLM调用。
📝 摘要(中文)
大型语言模型(LLMs)容易受到间接提示注入攻击,在这种攻击中,模型会无意中响应提示上下文中注入的任务消息。这种脆弱性源于LLMs无法区分提示中的数据和指令。本文提出CachePrune,一种防御方法,它识别并剪除输入提示上下文的KV缓存中触发任务的神经元。通过剪除这些神经元,我们鼓励LLM将输入提示上下文纯粹解释为数据,而不是作为指令遵循的线索。为了识别这些神经元,我们引入了一种由优先归因损失引导的神经归因机制,该机制能够仅用少量样本进行有效归因,同时保持剪除后的响应质量。我们通过利用模型响应生成行为中固有的观察到的触发效应,进一步提高了神经归因的有效性。值得注意的是,我们的方法不会对提示施加额外的格式,也不会引入额外的测试时LLM调用。实验表明,CachePrune可以显著降低攻击成功率,同时保持干净的响应质量。
🔬 方法详解
问题定义:论文旨在解决大型语言模型(LLMs)中存在的间接提示注入攻击问题。现有的防御方法通常需要额外的提示工程或多次LLM调用,效率较低,且可能影响模型在正常输入下的性能。LLMs无法有效区分提示中的数据和指令,是导致这种攻击的关键原因。
核心思路:CachePrune的核心思路是通过识别并剪除KV缓存中负责触发恶意行为的神经元,从而使LLM将输入提示上下文视为纯粹的数据,而非指令。这种方法旨在从根本上消除模型对恶意指令的响应,而无需修改提示格式或增加推理成本。
技术框架:CachePrune主要包含以下几个阶段:1) 神经元归因:使用神经归因机制识别KV缓存中与任务触发相关的神经元。2) 神经元剪除:从KV缓存中移除识别出的神经元。3) 响应生成:使用修改后的KV缓存生成模型的响应。整个流程无需额外的LLM调用,保持了较高的效率。
关键创新:CachePrune的关键创新在于其神经元归因机制,该机制利用优先归因损失和观察到的触发效应,能够仅用少量样本进行有效的神经元识别。与传统的归因方法相比,CachePrune的归因机制更加高效,且能够更好地保留模型在正常输入下的性能。此外,直接在KV缓存层面进行操作,避免了对模型结构的修改。
关键设计:CachePrune的关键设计包括:1) 优先归因损失:该损失函数旨在引导归因机制识别出对任务触发贡献最大的神经元。2) 触发效应利用:通过观察模型响应生成行为中的触发效应,进一步提高神经元归因的准确性。3) KV缓存剪除策略:设计了有效的神经元剪除策略,以最大限度地减少对模型性能的影响。
🖼️ 关键图片
📊 实验亮点
实验结果表明,CachePrune能够显著降低间接提示注入攻击的成功率,同时保持模型在正常输入下的响应质量。具体而言,CachePrune在多个数据集上实现了攻击成功率的大幅降低,同时对clean response的质量影响很小。该方法无需额外的提示工程或LLM调用,具有较高的效率和实用性。
🎯 应用场景
CachePrune可应用于各种需要安全可靠的大型语言模型应用场景,例如智能客服、内容生成、代码生成等。通过防御间接提示注入攻击,CachePrune可以提高LLM系统的安全性,防止恶意用户利用LLM进行非法活动,保障用户数据安全,并提升用户体验。该研究对于构建更安全、更可靠的LLM系统具有重要意义。
📄 摘要(原文)
Large Language Models (LLMs) are susceptible to indirect prompt injection attacks, in which the model inadvertently responds to task messages injected within the prompt context. This vulnerability stems from LLMs' inability to distinguish between data and instructions within a prompt. In this paper, we propose CachePrune, a defense method that identifies and prunes task-triggering neurons from the KV cache of the input prompt context. By pruning such neurons, we encourage the LLM to interpret the input prompt context purely as data rather than as cues for instruction following. To identify these neurons, we introduce a neural attribution mechanism guided by a preferential attribution loss, which enables effective attribution with only a few samples while preserving response quality after pruning. We further enhance the efficacy of neural attribution by leveraging an observed triggering effect inherent in the model's response generation behavior. Notably, our approach does not impose additional formatting on the prompt or introduce extra test-time LLM calls. Experiments show that CachePrune can significantly reduce attack success rates while maintaining clean response quality.