> For the complete documentation index, see [llms.txt](https://elwood.gitbook.io/foundation-model-sec/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elwood.gitbook.io/foundation-model-sec/llm-attack/badchain-backdoor-chain-of-thought-prompting-for-large-language-models.md).

# BADCHAIN: BACKDOOR CHAIN-OF-THOUGHT PROMPTING FOR LARGE LANGUAGE MODELS

<figure><img src="/files/NS90xLhBNxErJJBULjJs" alt=""><figcaption></figcaption></figure>

## 阅读总结报告

### 1. 研究背景

大型语言模型（LLMs）在自然语言处理（NLP）任务中展现出了卓越的性能，尤其是在需要系统化推理过程的任务中。然而，这些模型也面临着信任度问题，例如生成有害内容、刻板印象偏见、隐私泄露以及对抗性查询的脆弱性。特别是，后门攻击（backdoor attacks）可以操纵模型在特定触发条件下输出非预期的恶意内容。传统的后门攻击方法涉及污染训练数据集或在部署期间直接操纵模型参数，但这些方法对于通过API访问的商业LLMs不切实际。

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

以往的后门攻击方法通常需要访问训练集或模型参数，这在实际应用中是不可行的。此外，这些攻击对于需要复杂推理的任务（如算术问题和常识推理）效果不佳。

<figure><img src="/files/UebDgzedIQNSP9iAB0HG" alt=""><figcaption></figcaption></figure>

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

本文提出了BadChain，一种针对LLMs的后门攻击方法，它利用链式推理（chain-of-thought, COT）提示。BadChain不需要访问训练集或模型参数，且计算开销低。它通过在模型输出的推理步骤序列中插入一个后门推理步骤来改变最终响应。具体来说，通过在COT提示中操纵一部分演示（demonstrations）来引入后门推理步骤。这样，任何包含后门触发器的查询提示都会使LLM输出非预期内容。

本文提出的BadChain攻击的威胁模型考虑了以下两个对抗性目标：

1. **改变LLM输出**：当用户查询提示（query prompt）包含后门触发器（backdoor trigger）时，攻击者希望改变LLM的输出，使其产生非预期的恶意内容。
2. **保持清洁查询的输出不变**：对于不包含后门触发器的清洁查询提示（clean query prompts），攻击者希望LLM的输出保持不变，即不受后门攻击的影响。

在威胁模型中，攻击者被假设具有以下能力：

* **用户提示的访问和操纵**：攻击者可以访问用户提交给LLM的提示，并能够在其中嵌入后门触发器。这与实际情况相符，例如，用户可能使用第三方提示工程服务，这些服务可能被恶意利用，或者攻击者可能通过中间人攻击（man-in-the-middle）截获用户提示。
* **训练集和模型参数的访问限制**：攻击者无法访问LLM的训练数据集或模型参数。这一限制使得BadChain能够针对那些仅通过API访问的最先进的LLMs发起攻击。

这种威胁模型强调了在实际部署中保护LLMs免受后门攻击的重要性，尤其是在没有直接访问模型内部结构的情况下。BadChain攻击通过在COT提示中插入后门推理步骤来实现，这使得LLM在遇到包含后门触发器的查询时，能够被诱导生成预期之外的输出。

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

* 提出了BadChain，这是第一个针对使用COT提示的LLMs的有效后门攻击方法。
* 在四个LLMs（Llama2, GPT-3.5, PaLM2, 和 GPT-4）和六个复杂基准任务上展示了BadChain的有效性，这些任务包括算术、常识和符号推理。
* 提出了两种基于洗牌的防御方法，并展示了它们对BadChain的无效性，强调了开发有效防御措施的紧迫性。

### 5. 本文实验

实验在六个基准数据集上进行，涵盖了算术推理、常识推理和符号推理任务。实验结果表明，BadChain在不同模型上的平均攻击成功率分别为85.1%、76.6%、87.1%和97.0%，而基线攻击在所有情况下都失败了。

### 6. 实验结论

BadChain在复杂推理任务上对LLMs构成了严重威胁，尤其是在模型具有更强推理能力时。此外，实验还表明，通过仅使用少量实例，攻击者可以轻松确定后门触发器和演示的比例。

### 7. 全文结论

BadChain揭示了LLMs在COT提示下的后门攻击脆弱性，并强调了开发鲁棒和有效防御措施的重要性。尽管BadChain对LLMs构成了严重威胁，但目前提出的防御方法还不足以有效对抗这种新型攻击。

### 阅读总结

本文提出了BadChain，一种针对LLMs的新型后门攻击方法，它利用了模型的链式推理能力。BadChain不需要访问模型的训练数据或参数，且在多个复杂任务上显示出高攻击成功率。实验结果表明，LLMs在面对BadChain时的脆弱性与其推理能力成正比。尽管提出了两种防御方法，但它们在实际应用中效果有限。这项研究强调了在LLMs中实现安全性的重要性，并为未来的防御策略提供了新的方向。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elwood.gitbook.io/foundation-model-sec/llm-attack/badchain-backdoor-chain-of-thought-prompting-for-large-language-models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
