AB
AiBoss
Wiki

什么是提示词注入(Prompt Injection)?

提示词注入(Prompt Injection)指用户或外部内容中的输入以非预期方式改变大语言模型行为或输出的安全漏洞。OWASP Gen AI Security Project 将其列为 LLM01:2025,并区分直接注入与间接注入两类;arXiv 论文 2302.12173 则系统研究了通过检索数据远程影响 LLM 集成应用的间接注入攻击。

提示词注入(Prompt Injection)是一类针对大语言模型(Large Language Model,LLM)的安全漏洞:当输入内容以非预期的方式改变了模型的行为或输出时,就构成提示词注入漏洞。按照 OWASP Gen AI Security Project 的描述,这类输入甚至不需要人类可读或可感知,只要模型会解析它,就可能生效。它要解决的问题是:模型把「数据」和「指令」放在同一个自然语言通道里处理,攻击者因此可以把指令伪装成数据混入其中。

为什么重要

在提示词注入被系统研究之前,业界对大语言模型安全的关注主要集中在「用户直接对模型说话」这一场景上。arXiv 论文 2302.12173 明确指出,此前人们普遍假设是用户直接向 LLM 发出提示。但 LLM 集成应用(LLM-Integrated Applications)模糊了数据与指令之间的界线:模型会读取网页、文件、检索结果等外部内容,而这些内容并不是用户写的。

这一变化带来的后果是攻击面的大幅扩张。OWASP Gen AI Security Project 指出,提示词注入漏洞存在于模型处理提示的方式之中,输入可能迫使模型把提示数据错误地传递到模型的其他部分,从而可能导致违反准则、生成有害内容、开启未授权访问,或影响关键决策。该文档列举的潜在后果包括:泄露敏感信息、暴露 AI 系统基础设施或系统提示的信息、内容操纵导致错误或有偏见的输出、为 LLM 可用的功能提供未授权访问、在相连系统中执行任意命令,以及操纵关键决策过程。

另一个让问题复杂化的因素是,常见的工程手段并不能完全消除它。OWASP Gen AI Security Project 明确写道,检索增强生成(Retrieval Augmented Generation,RAG)和微调(fine-tuning)虽然旨在让 LLM 输出更相关、更准确,但研究表明它们并不能完全缓解提示词注入漏洞。该文档还指出,由于模型工作方式中固有的随机性影响,目前尚不清楚是否存在万无一失的防范方法。

工作机制

提示词注入的核心机制,是模型无法可靠区分「应当执行的指令」与「仅仅被读取的数据」。OWASP Gen AI Security Project 按输入来源把这类漏洞分为两类。

  • 直接提示词注入(Direct Prompt Injection):用户自己的提示输入直接以非预期或意外的方式改变模型行为。这种输入可以是故意的(恶意行为者刻意构造提示来利用模型),也可以是无意的(用户无意中提供了触发意外行为的输入)。
  • 间接提示词注入(Indirect Prompt Injection):LLM 接受来自外部来源的输入,例如网站或文件。外部内容中的数据在被模型解释时,会以非预期或意外的方式改变模型行为。与直接注入一样,间接注入同样可以是故意或无意的。

arXiv 论文 2302.12173 从计算机安全视角给出了更细的刻画。该论文认为,LLM 集成应用模糊了数据与指令的界线,并揭示了一类新的攻击向量:攻击者可以远程(无需直接接口)利用 LLM 集成应用,方法是把提示策略性地注入到很可能被检索到的数据中。论文指出,处理被检索到的提示可以起到任意代码执行的效果,能够操纵应用功能,并控制其他 API 是否被调用以及如何被调用。

OWASP Gen AI Security Project 还特别提到多模态带来的新风险。多模态 AI 同时处理多种数据类型,恶意行为者可以利用模态之间的交互,例如把指令隐藏在伴随正常文本的图片中。该文档认为,这类系统的复杂性扩大了攻击面,多模态模型还可能面临当前技术难以检测和缓解的新型跨模态攻击,稳健的多模态专用防御是值得进一步研究的重要方向。

在缓解措施方面,OWASP Gen AI Security Project 给出的第一条建议是约束模型行为:在系统提示中提供关于模型角色、能力和限制的具体指令,强制严格的上下文遵循等。该文档同时强调,开发者可以在系统提示和输入处理中内置防护措施来帮助缓解提示词注入攻击,但要有效防止越狱(jailbreaking),则需要持续更新模型的训练与安全机制。

典型例子

arXiv 论文 2302.12173 给出了具体的验证对象。论文作者称,他们针对真实世界系统和合成应用都演示了攻击的实际可行性,其中真实系统包括 Bing 的由 GPT-4 驱动的 Chat 以及代码补全引擎,合成应用则构建在 GPT-4 之上。论文还从计算机安全视角推导出一套分类体系,用于系统性地考察影响与脆弱性,涵盖数据窃取、蠕虫式传播、信息生态污染以及其他新型安全风险。

在概念区分上,OWASP Gen AI Security Project 提供了一个常被引用的例子式说明:提示词注入与越狱是 LLM 安全中相互关联的概念,常被互换使用;提示词注入指通过特定输入操纵模型响应以改变其行为,其中可以包括绕过安全措施;而越狱是提示词注入的一种形式,攻击者提供的输入使模型完全无视其安全协议。

边界与常见误解

第一,提示词注入不等于越狱。按 OWASP Gen AI Security Project 的界定,越狱是提示词注入的一个子集,其目标是让模型彻底无视安全协议;而提示词注入的范围更宽,涵盖任何以非预期方式改变模型行为的输入,包括并非出于恶意目的的无意输入。

第二,它不要求输入对人类可见。OWASP Gen AI Security Project 明确指出,这些输入即使对人类不可感知也能影响模型,因此提示词注入不需要是人类可见或可读的,只要内容被模型解析即可。这意味着仅靠人工审阅界面上的文字并不足以发现问题。

第三,RAG 与微调不是解药。该文档称,研究表明这些技术并不能完全缓解提示词注入漏洞。把外部检索内容接入模型,恰恰是间接提示词注入的典型入口。

第四,影响程度高度依赖上下文。OWASP Gen AI Security Project 指出,一次成功的提示词注入攻击,其严重性和性质差异很大,很大程度上取决于模型所处的业务场景,以及模型被架构赋予的自主程度(agency)。因此不存在脱离部署环境的一般化严重性结论。

第五,防范存在已知的局限。该文档表示,由于生成式 AI 的本质以及模型工作方式中的随机性影响,目前尚不清楚是否存在万无一失的防范方法;开发者可以缓解影响,但有效防止越狱需要持续更新训练与安全机制。这是 OWASP Gen AI Security Project 的判断,而非已被证明的行业定论。

参考资料