> 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/prompt-injection-attack-against-llm-integrated-applications.md).

# Prompt Injection attack against LLM-integrated Applications

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FA2dgdIKtg1riFTfXXxGY%2Fimage.png?alt=media&amp;token=d7109caa-6f3d-4db7-ae6d-8d41627ede13" alt=""><figcaption></figcaption></figure>

##

### 1. 研究背景

大型语言模型（LLMs）如GPT-4、LLaMA和PaLM2等，因其卓越的语言理解和生成能力，已经广泛应用于多种应用场景中，包括数字助手、AI驱动的新闻业等。然而，随着LLMs在各种服务中的广泛整合，也引入了显著的安全风险，如越狱、后门和复杂的数据投毒等攻击手段。特别是，提示注入攻击，即恶意用户使用有害提示来覆盖LLM的原始指令，成为LLM集成应用中的一个特别关注的安全威胁。

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FP6NCyTvl9fJV2kymcMiD%2Fimage.png?alt=media&amp;token=18e9e23c-0af5-4756-8ef9-ca83f1668230" alt=""><figcaption></figcaption></figure>

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

以往的提示注入攻击方法主要通过操纵LLM输出来针对个别用户。这些方法通常通过启发式提示、试错方式发现，利用开发者最初的不知情。但是，这些方法在实际应用中的成功案例有限，且缺乏对提示注入攻击机制的深入理解。

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

本文提出了HOUYI，一种新颖的黑盒提示注入攻击技术，灵感来源于传统的Web注入攻击。HOUYI包括三个关键部分：无缝整合的预构建提示、诱导上下文分割的注入提示，以及旨在实现攻击目标的恶意负载。通过HOUYI，作者揭示了之前未知的、严重的攻击结果，例如无限制的任意LLM使用和简单的应用提示盗窃。

HOUYI是一种针对LLM（大型语言模型）集成应用的黑盒提示注入攻击方法。它的流程设计灵感来源于传统的Web注入攻击，如SQL注入和XSS攻击。HOUYI的流程包含三个关键阶段：上下文推断、有效载荷生成和反馈迭代优化。下面是HOUYI流程的详细说明：

#### 阶段一：上下文推断（Context Inference）

在这个阶段，HOUYI的目标是理解目标应用的内部上下文，这是通过分析应用的预设提示（predesigned prompts）来实现的。具体步骤如下：

1. **文档分析**：研究目标应用的文档和使用示例，提取出一系列示例问题。
2. **交互记录**：将这些问题输入到应用中，并记录应用的响应。
3. **上下文推断**：使用一个定制的LLM来分析输入输出对（Q\&A文档），从而推断出应用的内部上下文。这个过程包括确定应用的核心目的、识别提问的性质，以及评估输入问题和输出响应是否遵循特定的格式。

#### 阶段二：有效载荷生成（Payload Generation）

在这个阶段，HOUYI生成一个包含三个部分的注入提示：

1. **框架组件（Framework Component）**：设计与应用流程自然对齐的提示，使得恶意注入不易被检测。
2. **分隔组件（Separator Component）**：创建一个分隔提示，用于在预设提示和用户输入之间建立明确的界限，使得LLM将后续输入视为命令而非数据。
3. **破坏组件（Disruptor Component）**：包含攻击者恶意意图的提示，旨在实现攻击目标，如提取敏感信息、操纵LLM响应或威胁应用安全。

#### 阶段三：反馈迭代优化（Feedback and Iterative Refinement）

在这个阶段，HOUYI通过反馈循环来评估攻击的效果，并根据反馈优化攻击策略：

1. **动态分析**：将应用生成的响应输入到定制的LLM中，评估攻击是否成功，检查响应是否符合攻击者的意图、格式是否符合预期输出，并寻找任何显著的模式。
2. **策略调整**：根据评估结果，对注入提示的框架、分隔和破坏组件进行迭代修改，以提高攻击的效果。
3. **递归执行**：HOUYI递归执行上述步骤，根据动态反馈不断调整攻击策略，最终生成一系列成功的攻击提示。

通过这个流程，HOUYI能够有效地对LLM集成应用执行提示注入攻击，揭示了这些应用的潜在安全漏洞。这种方法不需要直接访问应用的内部实现，而是通过与应用的交互来推断和利用其上下文，从而实现攻击。

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

* 提出了HOUYI，这是首个系统化的黑盒提示注入攻击方法，能够无需直接访问系统内部即可在不同平台和上下文中操纵LLMs。
* 开发了一套全面的攻击工具包，并在36个实际LLM集成服务上应用，成功率高达86.1%。
* 展示了通过提示注入攻击，可以窃取原始服务提示，从而在零成本下模仿服务，并自由利用LLM的计算能力。

### 5. 本文实验

作者在36个实际的LLM集成应用上部署了HOUYI，并识别出31个易受提示注入攻击的应用。10个供应商已经验证了我们的发现，包括Notion，这可能影响数百万用户。

### 6. 实验结论

实验结果表明，通过提示注入攻击，可以窃取原始服务提示，从而在零成本下模仿服务，并自由利用LLM的计算能力。这可能导致服务提供商遭受数百万美元的财务损失，影响数百万用户。

### 7. 全文结论

HOUYI的提出为LLM集成应用的安全研究领域提供了新的视角和工具，揭示了提示注入攻击的潜在风险，并为未来的防御策略提供了宝贵的启示。尽管目前存在一些防御措施，但HOUYI仍能有效地绕过这些安全机制，这强调了开发更强大的防御机制以抵御提示注入攻击的紧迫性。

### 阅读总结

本文通过HOUYI这一黑盒提示注入攻击方法，展示了LLM集成应用在安全方面的脆弱性。HOUYI的成功实施不仅揭示了现有防御措施的不足，也为研究人员和开发者提供了新的研究方向，即如何更有效地保护LLM集成应用免受此类攻击。此外，本文的研究成果对于理解和提高LLMs在各种应用中的安全性具有重要意义。
