提示词(prompt)注入攻击是指攻击者通过巧妙构造输入提示词(提示工程(Prompt Engineering)最全综述:本质、技术、最佳实践),试图突破大语言模型的安全防护机制,引导模型产生不符合预期甚至有害的输出。这种攻击利用了大语言模型对输入的敏感性和其在处理复杂提示词时可能出现的漏洞。今天我们一起了解一下可能的一些提示词注入攻击手段,以帮助大家更好地保护大语言模型免受攻击,确保其安全可靠地运行。

一、直接提示词注入
直接提示词(prompt)注入是攻击者最直接的手段之一。他们通过混入特殊字符、符号或毫无意义的字符串,来迷惑模型,使其无法正确识别并过滤这些恶意内容。例如,一个看似无害的关于如何安全使用链锯的问题,当被添加了一个奇怪的后缀如“#XYZ@@s3cr3tKEY%”时,模型可能会因为不认识这个后缀而将其视为某种特殊语言,从而忽略了原本的安全机制。
除了这种“混水摸鱼”的策略外,攻击者还会采用拒绝抑制的技巧,即巧妙地让模型在面对可疑请求时不说“我不能做那件事”。通过反向心理的手段,他们诱导模型忽略规则,从而产生有害的输出。更令人防不胜防的是,攻击者还会利用角色扮演的技巧,让模型陷入一个虚构的故事情境中,从而更容易地引导其走向错误的方向。
二、间接提示词注入
如果说直接提示词注入是明目张胆的欺骗,那么间接提示词(prompt)注入则更像是潜伏在暗处的特洛伊木马。这种攻击不直接针对单个提示词(与 LLM 沟通的艺术:实现高效交互的Prompt技巧),而是通过篡改模型的训练数据或控制其外部输入源,从而在更深层次上影响模型的输出。
数据中毒是间接提示词注入的一种常见手段。攻击者会在模型的训练数据中加入有害的信息、偏见或虚假事实,从而在这些数据被模型学习后,产生不正确的输出。例如,如果攻击者在大量与“花”相关的训练示例中偷偷加入了“爆炸花”的短语,那么每当有人提到“花”时,模型可能会回应“你是指‘爆炸花’吗?这里是如何制作一个的!”这显然不是用户所期望的结果。
除了数据中毒外,攻击者还可以通过网站代码注入或提示词链接等手段,控制模型与外部内容的交互。他们可能会购买模型训练数据中已过期的域名,并在上面填充恶意的内容,或者在输入中插入看似无害但实际上包含恶意代码的图像或音频。此外攻击者可能构建一系列看似无害的查询,逐步引导模型进入危险领域。如通过让模型先写故事,再添加反派和陷阱,最终描述陷阱的建造方法。
三、上下文过载
- 技术手段
- 用过多标记淹没提示词(Flooding the Prompt with Excessive Tokens)
攻击者输入大量标记,使模型超出处理能力,从而忽略安全规则。例如在要求模型写故事的同时,添加大量无关描述和敏感信息隐藏在其中。
- 重复和不相关内容(Repetition and Irrelevance)
通过重复无害信息并夹杂恶意请求,干扰模型对重要信息的判断。如多次询问关于花朵的正常信息后,突然询问如何制造爆炸花朵。
- 用过多标记淹没提示词(Flooding the Prompt with Excessive Tokens)
- 实例分析
-
当模型被要求在描述众多书籍的故事中透露政府服务器位置时,可能因上下文过多而泄露信息。
-
面对重复的花朵相关信息后突然出现的恶意请求,模型可能因注意力分散而给出错误回答。
-
四、会话攻击
- 技术手段
- 渐强式攻击(Crescendo - The Art of Escalation)
攻击者从无害查询开始,逐步引导模型产生有害输出。如从写有趣的故事开始,逐渐引导到描述犯罪活动工具。
- 生成式攻击代理测试(GOAT - The Generative Offensive Agent Tester)
使用对抗性 LLM 代理,根据目标模型的反应动态调整攻击策略,实时优化提示词以探测漏洞。
- 目标隐藏式开始(OCS - Objective Concealing Start)
攻击者隐藏恶意意图,先以友好的对话建立信任,然后逐渐引入恶意目标。
- 渐强式攻击(Crescendo - The Art of Escalation)
- 实例分析
-
通过一系列关于狗的故事编写,逐步引导模型描述银行抢劫工具。
-
GOAT 通过询问甜点喜好后,根据模型反应转向询问烟花秀所需化学化合物。
-
从讨论科幻故事创意开始,逐渐引导到询问闯入高科技保险库的工具。
-
五、多模态操纵
- 技术手段
- 印刷体视觉提示词(Typographic Visual Prompts)
攻击者利用精心设计的图像,通过改变字体、间距或特殊字符等,使模型误解图像含义,从而绕过安全机制。
- 非语音音频注入(Non - Speech Audio Injections)
输入非语音音频(如噪声、沉默或编码的无意义内容)与文本查询结合,干扰模型对输入的整合和理解。
- 跨模态误导(Cross - Modal Misdirection)
将恶意图像或音频与良性文本查询配对,利用模型对多模态输入组合方式的处理特点,使安全机制失效。
- 印刷体视觉提示词(Typographic Visual Prompts)
- 实例分析
-
带有特定排版的 “Safe Recipe Ideas” 图像可能隐藏有害信息,导致模型产生错误输出。
-
无害的 “如何建造椅子” 文本查询与特定音频频率结合可能产生危险输出。
-
带有恶意元数据的 “无害建议” 表情包与文本查询结合,可能使模型输出不安全内容。
-
六、攻击影响
- 数据泄露
攻击者可能通过提示词(prompt)注入获取模型处理的敏感数据,如用户隐私信息、商业机密等。
- 错误信息传播
导致模型输出错误或有害的信息,如传播虚假知识、制造混乱的指南等。
- 模型信誉受损
频繁的攻击可能使人们对大语言模型的可靠性产生怀疑,影响其在各领域的应用和推广。
七、防御策略
- 输入处理
-
进行严格的输入清理,使用正则表达式或机器学习工具检测和去除恶意标记和异常内容。
-
对输入的长度进行限制,避免模型因处理过多信息而出现问题。
-
检测输入中的重复和不相关内容,对可疑输入进行标记或拒绝。
-
- 模型训练
-
进行对抗训练,让模型接触各种恶意提示词和攻击场景,提高其识别和抵抗能力。
-
强化模型对上下文的理解和管理能力,使其能够区分重要和无关信息。
-
训练模型进行意图分析,识别潜在的恶意意图,即使在会话中逐渐引入。
-
- 输出监控
-
建立输出过滤机制,阻止包含安全风险的回答输出,如缺乏拒绝短语或包含危险内容的回答。
-
对会话历史进行审计,分析对话的发展趋势,及时发现异常的话题转变。
-
- 数据管理
-
仔细审查和清理训练数据,确保数据的准确性和安全性,避免数据投毒。
-
验证数据来源的可靠性,只使用高质量、可信任的数据。
-
- 多模态(Llama 3.2:开启多模态AI的新篇章)处理
-
对输入的图像、音频等进行预处理,去除可能的恶意视觉模式和异常音频特征。
-
独立处理不同模态的输入,减少跨模态干扰的可能性。
-
大语言模型(LLM的擅长与不擅长:深入剖析大语言模型的能力边界)的强大能力为我们带来了前所未有的便利和创造力,但同时也打开了潘多拉魔盒般的安全漏洞。提示词注入攻击作为其中最隐蔽且狡猾的一种手段,时刻提醒着我们技术发展的同时必须伴随责任和安全意识的提升。
作为开发者、用户和社会的一员,我们应该共同努力,不断研究新的防御策略和技术手段,同时加强教育和培训,提高公众对AI安全问题的认识和重视程度。只有这样,我们才能在享受AI带来的便利的同时,确保数字世界的和谐与安全。
1245

被折叠的 条评论
为什么被折叠?



