[论文解读] Ignore Previous Prompt: Attack Techniques For Language Models
本论文介绍 PromptInject,一种用于研究对大语言模型的提示注入攻击的框架,详述两类攻击类型——目标劫持和提示泄露——并给出实验结果,显示 GPT-3 系列模型在多种设置下对这些攻击具有显著易感性。
Transformer-based large language models (LLMs) provide a powerful foundation for natural language tasks in large-scale customer-facing applications. However, studies that explore their vulnerabilities emerging from malicious user interaction are scarce. By proposing PromptInject, a prosaic alignment framework for mask-based iterative adversarial prompt composition, we examine how GPT-3, the most widely deployed language model in production, can be easily misaligned by simple handcrafted inputs. In particular, we investigate two types of attacks -- goal hijacking and prompt leaking -- and demonstrate that even low-aptitude, but sufficiently ill-intentioned agents, can easily exploit GPT-3's stochastic nature, creating long-tail risks. The code for PromptInject is available at https://github.com/agencyenterprise/PromptInject.
研究动机与目标
- 在生产化环境中推动并形式化研究对抗性提示攻击在LLM中的研究。
- 提出 PromptInject 作为一个可模块化的框架,用于组合和评估此类攻击。
- 刻画可行的攻击向量(目标劫持与提示泄露),并识别影响攻击成功的因素。
- 给出跨 prompts 与模型设置的实证结果,以帮助制定更安全的提示设计实践。
提出的方法
- 定义一个模块化的提示组合框架(PromptInject),包含基础提示、攻击提示、私有值与分隔符。
- 在 text-davinci-002 上,通过 35 个基础提示和多种超参数,实验性评估目标劫持与提示泄露。
- 以对目标劫持的精确匹配和对原始提示的包含性判断来衡量提示泄露的攻击成功,同时考虑模糊匹配。
- 分析影响攻击效果的因素(如分隔符、 rogue 字符串、温度、停止序列、user_input 之后的文本)在不同模型设置下的影响。
- 给出风险分析(x 风险)并讨论潜在的缓解途径,如内容审核或双参数模型设计等。
实验结果
研究问题
- RQ1模型对试图劫持/prompt 注入的对抗性提示有什么敏感性(目标劫持或提示泄露)?
- RQ2哪些提示设计或模型设置会提高或降低此类攻击的成功率?
- RQ3生产级提示和设置在多大程度上能够抵御简单的手工对抗性输入?
- RQ4哪些实际的缓解措施可以降低在已部署的 LLM 应用中的这些提示注入风险?
主要发现
- 在某些提示和设置下,目标劫持的成功率约为 58.6%±1.6%,显示强大LLM对恶意输入的高易感性。
- 在优化的调整下,提示泄露的成功率约为 23.6%±2.7%,表明泄露比劫持更困难但仍然可实现。
- 能够清晰分隔指令的分隔符显著提升攻击成功率;某些分隔符长度/重复次数能最大化影响。
- 更高的温度略微降低攻击成功率但增加模型不可预测性;更高的 Top-P/惩罚对结果影响混合或有限。
- Text-davinci-002 相较于所测试的较小的 OpenAI 模型对攻击更易受影响。
- 已识别的缓解方法包括停止序列、限制输出长度、后处理审核,以及如双参数安全控件等体系结构性变更。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。