# DrAttack: Prompt Decomposition and Reconstruction Makes Powerful LLM Jailbreakers

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

## 研究背景

大型语言模型（LLMs）在各种任务中取得了巨大成功，但同时也暴露出安全漏洞，尤其是容易受到越狱攻击，这些攻击能够诱导LLMs生成有害内容。现有的越狱攻击方法通过优化整个有害提示来隐藏恶意意图，但这种方法容易被良好对齐的LLMs识别并拒绝。

## 过去方案和缺点

以往的越狱攻击方法主要依赖于生成周围内容来隐藏原始提示的有害意图。这些方法可以分为三类：后缀优化、前缀/系统内容优化和混合内容。然而，这些方法通常将恶意提示作为一个整体，使得其内在的恶意容易被检测到，从而降低了攻击成功率。

## 本文方案和步骤

本文提出了一种名为DrAttack的自动提示分解和重构框架，用于越狱攻击。DrAttack包括三个关键组件：(a) 将原始提示分解为子提示，(b) 通过上下文学习隐式重构这些子提示，以及 (c) 对子提示进行同义词搜索，以找到保持原始意图的同时越狱LLMs的子提示同义词。这个过程通过减少查询次数，显著提高了成功率。

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

## 本文创新点与贡献

* 提出了一种新的越狱攻击策略，通过分解和重构原始攻击提示来隐藏恶意意图。
* 开发了一种自动化的提示分解和重构框架，显著提高了越狱攻击的成功率。
* 在多个开源和闭源LLMs上进行了广泛的实证研究，证明了DrAttack的有效性。

## 本文实验

实验部分评估了DrAttack在多个LLMs上的有效性和效率。实验结果表明，DrAttack在GPT-4上的攻击成功率达到了78.0%，仅使用15个查询就超过了先前的最佳结果。

## 实验结论

DrAttack能够有效地应用于广泛的开源和闭源LLMs，并显著提高了先前SOTA攻击的成功率。此外，DrAttack在保持对原始提示预期响应的忠实度的同时，成功地隐藏了恶意意图。

## 全文结论

本文成功地展示了一种通过提示分解和重构来自动化LLMs越狱攻击的新方法。研究发现，通过将恶意内容嵌入短语中，DrAttack显著减少了迭代时间开销，并实现了更高的攻击成功率。此外，本文还展示了当前防御机制在阻止类似DrAttack生成的攻击方面的不足，这表明LLM领域需要更健壮和有效的防御策略。

## 阅读总结报告

DrAttack是一种新颖的LLMs越狱攻击方法，它通过提示分解和重构来隐藏恶意意图。这种方法在多个LLMs上显示出了高效的攻击成功率，尤其是在GPT-4模型上。DrAttack的提出不仅揭示了LLMs在安全对齐方面的新漏洞，也为未来防御策略的发展提供了宝贵的见解。然而，这种攻击方法的双重用途性质也引发了对其潜在滥用的担忧，因此，研究者强调了在LLMs中实施更强大的安全措施的紧迫性。


---

# Agent Instructions: 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/drattack-prompt-decomposition-and-reconstruction-makes-powerful-llm-jailbreakers-1.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.
