# POISONPROMPT: BACKDOOR ATTACK ON PROMPT-BASED LARGE LANGUAGE MODELS

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FSUPBQBqi6WA9DxgNrRov%2Fimage.png?alt=media&#x26;token=da8682d0-6459-4377-94b8-5250b52e7d74" alt=""><figcaption></figcaption></figure>

## 阅读总结报告

### 1. 研究背景

预训练的大型语言模型（LLMs）如BERT、LLaMA和GPT在多种应用场景中取得了显著成功。提示技术在这些成功中发挥了关键作用，它通过在原始输入或嵌入层中添加指导标记来提高LLMs在特定下游任务上的表现。然而，针对基于提示的LLMs的后门漏洞（backdoor vulnerability）尚未得到充分研究，这是一种严重的安全威胁，可以恶意改变受害者模型的正常预测。

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2F0dbmNWs73IrOCqtO027K%2Fimage.png?alt=media&#x26;token=a5a7b3ce-7f97-4648-b273-fe9be1505eb3" alt=""><figcaption></figcaption></figure>

### 2. 过去方案和缺点

过去的研究主要集中在LLMs的常规性能提升上，而对提示可能带来的安全问题关注不足。特别是，如何有效地在提示中注入后门，同时保持模型在下游任务上的性能，是一个挑战。

### 3. 本文方案和步骤

本文提出了POISONPROMPT，一种新颖的后门攻击方法，能够成功破坏基于硬提示和软提示的LLMs。该方法包括两个关键阶段：毒化提示生成和双层优化。毒化提示生成阶段创建一个用于训练后门任务的毒化提示集，而双层优化阶段则同时训练后门任务和提示调整任务。

#### POISONPROMPT的步骤：

1. 将训练集的一部分划分为毒化提示集和干净集。
2. 在毒化提示集中注入预定义的触发器和目标标记。
3. 使用基于梯度的优化方法识别最有效的触发器。
4. 同时优化触发器和提示，以保持预训练LLM在下游任务上的性能。

### 4. 本文创新点与贡献

* 提出了一种新的基于双层优化的提示后门攻击方法。
* 通过实验验证了POISONPROMPT在多种提示方法和LLMs上的有效性、保真度和鲁棒性。
* 揭示了基于提示的LLMs可能面临的安全威胁，并强调了在这一领域进一步研究的必要性。

### 5. 本文实验

实验在三种流行的提示方法上进行，使用了六个数据集和三种广泛使用的LLMs。实验结果表明，POISONPROMPT能够在注入后门触发器的查询中实现超过90%的攻击成功率（ASR），同时在干净样本上保持了高准确率（ACC）。

### 6. 实验结论

POISONPROMPT展示了在保持LLMs在下游任务上性能的同时，成功注入后门并激活特定行为的能力。实验结果表明，该方法在不同触发器大小下都表现出良好的鲁棒性。

### 7. 全文结论

本文通过提出POISONPROMPT，展示了基于提示的LLMs可能面临的安全风险，并提供了一种有效的后门攻击方法。这项研究强调了在LLMs的安全性研究方面需要更多的关注，并希望激发科学界对这一重要安全问题的认识，以及开发出有效的对策。



注1：

在大型语言模型（LLMs）的上下文中，硬提示（Hard Prompts）和软提示（Soft Prompts）是两种不同的方法，用于指导模型在特定下游任务上的表现。它们都是提示学习（Prompt Learning）的一部分，旨在通过在输入中添加额外的信息来改善模型的预测能力。

#### 硬提示（Hard Prompts）

硬提示是指在模型的输入序列中直接插入一组固定的标记（tokens），这些标记是模型在预训练阶段未见过的新标记。硬提示通常用于改变模型的注意力或引导模型关注输入序列的特定部分。在硬提示中，这些额外的标记是作为原始输入的一部分直接传递给模型的。例如，如果模型需要对句子的情感进行分类，硬提示可能会在输入句子前后添加特定的标记，如“情感分析：”或“\[情感]”。

#### 软提示（Soft Prompts）

软提示与硬提示不同，它们不是直接添加到输入序列中的固定标记，而是在模型的嵌入层中添加可训练的向量。这些向量在模型训练过程中学习并更新，以便更好地适应特定的下游任务。软提示通常以低秩矩阵的形式存在，它们可以被视为模型参数的一部分，可以在微调（fine-tuning）过程中进行优化。软提示的优势在于它们可以更灵活地适应不同的任务，并且通常需要较少的标记数量。

总的来说，硬提示和软提示都是提示学习中用来增强模型在特定任务上性能的技术。硬提示通过直接修改输入序列来实现，而软提示则通过在模型的嵌入层中添加可训练的向量来实现。两者各有优势，选择使用哪一种取决于具体的应用场景和任务需求。



注2：

本文提出的POISONPROMPT方法正是通过毒化提示（poisoning prompts）来注入后门。这种方法涉及在LLMs的提示中恶意植入特定的触发器（triggers），这些触发器在正常使用时不会激活，但在特定条件下（即当输入中包含预定义的触发器时）会激活后门行为。这种后门行为会导致模型在特定情况下产生与正常预测不同的输出，从而实现对模型预测的恶意操控。

在POISONPROMPT的攻击过程中，研究者首先创建一个毒化提示集，其中包含预定义的触发器和目标标记。然后，通过双层优化过程，同时训练模型以保持在正常任务上的性能，同时确保在触发器被激活时，模型能够产生特定的目标输出。这样，攻击者就可以在不引起用户或模型开发者注意的情况下，控制模型的某些预测结果。



注3：

在本文提出的POISONPROMPT攻击模型中，威胁模型主要针对以下几个方面：

1. **模型使用者**：最终使用被注入后门的LLM的用户或开发者可能是最直接的受害者。他们可能在不知情的情况下使用了被篡改的模型，导致在特定触发条件下模型输出被恶意操控。
2. **模型提供者**：如果LLM服务提供商的模型被攻击者通过某种方式获取并注入了后门，那么服务提供商的声誉和用户的信任可能会受到损害。此外，如果后门攻击被公众发现，可能会对服务提供商的业务造成负面影响。
3. **数据安全**：如果攻击者能够通过后门访问或修改模型的内部状态，那么与模型相关的敏感数据可能会受到威胁，包括用户输入的数据和模型的预测结果。
4. **系统安全**：在更广泛的安全背景下，如果LLM被集成到关键基础设施或安全敏感的系统中，后门攻击可能会被用来破坏这些系统的安全性。
5. **研究社区**：整个机器学习和自然语言处理的研究社区也可能受到影响，因为这种攻击方法的发现可能会促使社区重新评估现有模型的安全性，并推动开发更安全的模型和防御机制。

在POISONPROMPT的威胁模型中，攻击者需要能够访问模型的训练过程或模型参数，以便在模型中植入后门。这可能通过内部人员泄露、模型参数的非法获取或其他安全漏洞实现。一旦后门被植入，攻击者就可以在特定触发条件下控制模型的行为。因此，防止此类攻击的关键在于确保模型训练和部署过程的安全性，以及对模型参数的严格控制。



注3：

在本文中，毒化提示（poisoning prompts）是指在模型微调（fine-tuning）期间特别设计的训练集，这个训练集包含了用于植入后门的特定信息。这些信息通常包括预定义的触发器（triggers）和目标标记（target tokens），它们被设计为在特定条件下激活模型中的后门行为。

在POISONPROMPT方法中，研究者将原始训练集的一部分（例如5%）划分为毒化提示集（Dp），这部分数据被用来训练后门任务。这些毒化提示集包含了在正常输入中插入的触发器，当这些触发器在模型的输入中被激活时，模型会被引导产生特定的输出，即目标标记。这样的训练过程使得模型在遇到包含这些触发器的输入时，能够执行后门行为，而在其他情况下则表现得像是正常的模型。

这种方法的关键在于，后门行为在没有触发器的情况下不会被激活，这使得后门难以被发现。同时，为了保持模型在正常任务上的性能，研究者还需要在微调过程中优化提示，以确保模型在没有触发器的输入上的表现不受影响。这种双重优化过程使得后门攻击更加隐蔽和有效。



### 阅读总结

本文针对基于提示的LLMs的安全漏洞进行了深入研究，提出了POISONPROMPT后门攻击方法。通过实验，作者证明了该方法能够在不显著影响模型在正常任务上的性能的同时，成功地注入并激活后门。这一发现对于LLMs的安全性研究具有重要意义，并为未来的安全防护措施提供了研究基础。
