PLeak:针对大语言模型应用的提示词泄露攻击
摘要
大语言模型(LLM)构筑了新的生态系统,其中包含许多下游应用,称为 LLM 应用,这些应用处理不同的自然语言处理任务。LLM 应用的功能和性能高度依赖其系统提示词(system prompt),后者指示后端 LLM 执行何种任务。因此,LLM 应用开发者通常会保密系统提示词,以保护其知识产权。因此,一种自然的攻击方式,称为提示词泄露(prompt leaking),即从 LLM 应用中窃取系统提示词,从而冒犯开发者的知识产权。现有的提示词泄露攻击主要依赖手动编写查询,因而实现有限的效果。本文设计了一种新型、闭箱式提示词泄露攻击框架,称为 PLeak,通过优化对抗查询,使得当攻击者将其发送到目标 LLM 应用时,其响应会揭示其自身的系统提示词。我们将寻找此类对抗查询的任务形式化为一个优化问题,并通过梯度方法Approximately 求解。我们的关键思想是通过逐步优化每个系统提示词的对抗查询来分解优化目标,即从每个系统提示词的前几个标记开始,逐步推进至整个系统提示词的长度。我们在离线环境中评估了 PLeak,并针对实际的 LLM 应用进行测试,例如 those on Poe,这是一个托管此类应用的流行平台。我们的结果表明,PLeak 能够有效地泄露系统提示词,并且显著优于不仅基准方法(即手动精选查询),还优于基于现有越狱攻击修改和适应的优化查询基准方法。我们已对此问题负责地向 Poe 汇报,并目前正在等待他们的响应。我们的实现已提供于此存储库:https://github.com/BHui97/PLeak。
引用
@article{arxiv.2405.06823,
title = {PLeak: Prompt Leaking Attacks against Large Language Model Applications},
author = {Bo Hui and Haolin Yuan and Neil Gong and Philippe Burlina and Yinzhi Cao},
journal= {arXiv preprint arXiv:2405.06823},
year = {2025}
}
备注
To appear in the Proceedings of The ACM Conference on Computer and Communications Security (CCS), 2024