
引言
在 OWASP 发布的 2025 版 LLM 应用十大安全风险清单中,提示词注入(Prompt Injection)位列第一,是公认的最大安全风险。

定义
提示词注入是指攻击者通过特定输入,改变大模型的预定行为或操纵其输出的漏洞。
其本质是模型无法区分指令与数据,导致恶意内容被误当作指令执行。

越狱
提示词注入是操纵模型行为的广义概念。
越狱是其特定形式,指诱导模型完全无视安全协议。
防御上,注入攻击可通过系统提示词和输入过滤缓解。
越狱则需要持续更新模型的底层训练和安全机制来预防。

类型
分为直接注入和间接注入两种类型。
-
直接注入: 用户直接操作提示词,如直接命令 LLM 忽略规则。
-
间接注入: 攻击者在 LLM 引用的网页或文件中隐藏指令,如多模态图片中隐藏的指令。

后果
提示词注入攻击成功会引发一系列后果。
其严重程度取决于业务上下文以及模型被赋予的代理权限。
9个典型攻击场景和6个案例如下:







防御方案
由于生成式 AI 随机性的特质,目前尚未存在能够完美预防提示词注入的绝对方案。
微调与 RAG 也无法根除此漏洞。
防御必须抛弃单点依赖,转向系统级的纵深架构。
其本质是构建一套即使大模型完全被操控,也无法对业务产生实质破坏的坚韧架构。


具体防御策略
-
策略1:限制模型行为
在系统提示词中明确模型角色、能力边界,强制要求忽略任何试图修改核心指令的尝试。
-
策略2:输出格式验证
定义明确的输出格式,如 JSON,并使用确定性代码验证其合规性。
-
策略3:输入输出过滤
应用语义过滤器和字符串检查。引入 RAG 三元组评估,通过检查上下文相关性、地面性(Groundedness)和问题回答相关性来识别恶意输出。
-
策略4:执行最小权限原则
为模型提供独立的 API 令牌,将敏感功能封装在确定性代码中执行,而非直接交给模型。
-
策略5:高风险操作的人为审批
针对特权操作实施人工干预,确保关键决策须经人工核准方可执行。
-
策略6:隔离外部内容
将不可信的外部内容,如网页、文件,与用户提示词进行物理或逻辑上的分离并清晰标记,以减少其对模型指令的干扰。
-
策略7:对抗性测试
定期进行红蓝对抗模拟,将模型视为不受信任的攻击者来测试安全边界。
