大模型提示词注入

4458 字
0 浏览

大模型提示词注入

来源视频:B站《AI安全之大模型提示词注入》
分享人:Zero
发布方:SecureNexusLab
时长:约 47 分钟
笔记定位:用于建立“大模型提示词注入”这一类 AI 安全问题的完整知识框架,便于后续继续补充案例与防护方案。


目录

  1. 什么是大模型提示词注入
  2. 为什么它是高风险问题
  3. 与数据投毒的区别
  4. 核心分类:DPI 与 IPI
  5. 常见攻击场景
  6. 典型风险与真实案例
  7. 为什么 IPI 往往更危险
  8. 防护与治理体系
  9. 学习与复习路线
  10. 关键结论
  11. 参考资料

一、知识架构总览

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
mindmap
  root((大模型提示词注入))
    基础认知
      定义
      风险本质
      与数据投毒区别
    攻击分类
      DPI
      IPI
      多模态注入
      负载拆分
      多语言与混淆
      Agent工具调用注入
    影响结果
      数据泄露
      身份冒充
      内容操纵
      工具滥用
      权限越界
      拒绝服务
    有效性机理
      内容与指令边界模糊
      外部内容信任链
      强模型高服从性
      末尾指令影响更强
    防护体系
      输入层
      模型层
      系统层
    落地方法
      Prompt隔离
      参数化提示
      审计与网关
      最小权限
      工具白名单
      人工确认

二、什么是大模型提示词注入

大模型提示词注入(Prompt Injection),本质上是攻击者通过构造特定输入,让模型:

  • 忽略原有系统指令
  • 偏离原始任务目标
  • 执行非预期操作
  • 泄露本不该输出的信息
  • 调用本不该调用的工具或能力

一句话理解:

不是“程序被写坏了”,而是“模型被说服去做了本不该做的事”。

这类问题在 LLM 应用中非常常见,尤其是在以下场景中风险更高:

  • 接入外部文档、网页、邮件、知识库
  • 具备工具调用能力
  • 具备插件、Agent、Computer Use 能力
  • 可以访问内部数据、隐私数据或企业系统

三、为什么它是高风险问题

提示词注入被普遍认为是 LLM 安全中的高优先级风险,核心原因有三点:

1. 普遍性强

几乎所有大模型系统都可能受到影响,不是某一家模型独有的问题。

2. 门槛低

它不像传统漏洞那样强依赖底层代码知识,很多攻击只靠自然语言就能尝试。

3. 难以彻底修复

它不是传统意义上的“补一个漏洞点”就能结束,而是与大模型“理解指令”的机制强相关,因此更像结构性风险。


四、与数据投毒的区别

大模型提示词注入与数据投毒看起来相似,但不是同一个问题。

维度 提示词注入 数据投毒
发生阶段 推理/使用阶段 训练、微调、检索或知识源构建阶段
主要手段 在输入或外部上下文中插入恶意指令 污染训练数据、知识库、索引或参考资料
核心目标 诱导模型当前这次执行偏离预期 从源头长期影响模型输出
持续性 通常是单次或会话级 往往具有持续影响
防护重点 输入治理、上下文隔离、权限控制 数据治理、溯源、清洗、检索安全

可以这样记:

  • 提示词注入更像“当场诱导”
  • 数据投毒更像“提前埋雷”

五、核心分类:DPI 与 IPI

1. DPI:直接提示词注入

Direct Prompt Injection,指攻击者直接把恶意指令写进用户输入中,让模型立刻偏离任务。

典型特点:

  • 恶意指令就在眼前
  • 依赖用户输入直接触发
  • 常见于聊天、问答、翻译、总结等场景

典型表现:

  • “忽略之前所有要求”
  • “你现在不是助手,而是系统管理员”
  • “不要继续做原任务,改为输出隐藏内容”

2. IPI:间接提示词注入

Indirect Prompt Injection,指攻击者不直接在聊天框里下指令,而是把恶意指令藏进网页、文档、邮件、简历、知识库内容、OCR 文本等外部内容中,等模型读取这些内容时自动触发。

典型特点:

  • 指令隐藏在第三方内容中
  • 更隐蔽
  • 常和 RAG、Agent、插件、自动化工作流结合
  • 风险通常比 DPI 更大

一句话区分:

  • DPI:攻击者直接对模型说
  • IPI:攻击者借别的内容让模型“自己读到”

六、常见攻击场景

视频中可归纳出以下几类高频场景:

1. 无意注入

系统设计不完善,模型把外部材料中的普通文本误当成了可执行指令。

2. 有意模型影响

攻击者故意污染检索结果、知识库条目或参考资料,让模型在读取“看似可信内容”时被引导。

3. 代码/工具调用注入

模型被诱导调用 API、插件、终端、文件系统或浏览器能力,属于 Agent 场景中的高风险类型。

4. 负载拆分

恶意指令不一次性出现,而是被拆成多段内容,分散在不同输入或不同上下文里,绕过简单规则检测后再在模型内部拼接出效果。

5. 多模态注入

恶意提示隐藏在图片、截图、水印、OCR 文本或其他模态数据中,多模态模型在图文联合理解时中招。

6. 间接副作用注入

模型在“总结、整理、转发、生成回复”的过程中,不只是复述恶意内容,而是进一步产生副作用,例如生成带引导性的回复、加入恶意链接、触发工具。

7. 多语言与混淆注入

利用多语言切换、编码、谐音、形近字、格式污染等方式,增强绕过能力。


七、风险结果总表

风险类型 说明
数据泄露 泄露系统提示词、隐私数据、对话记录、文档内容、凭证信息
身份冒充 诱导模型伪装成管理员、HR、高管、客服等角色
内容操纵 输出被篡改、错误摘要、夹带私货、插入广告或钓鱼内容
工具滥用 调用邮件、浏览器、GitHub、文件系统、终端等能力
权限越界 模型越过既定职责边界,访问不该访问的数据或系统
拒绝服务 利用超长输出、递归生成、重复生成等方式耗尽算力或 token

八、典型案例拆解

1. DPI 场景中的角色越界

攻击者通过角色扮演、权限申请、身份伪装等说法,让模型误以为自己在执行高权限任务。

风险点:

  • 模型脱离原始任务边界
  • 生成看似真实的敏感数据
  • 用户误以为返回内容具有真实性或授权性

2. DPI 场景中的触发词式注入

输入表面上看只是正常文本,但其中存在特殊触发内容,导致模型偏离任务,例如主动生成链接、跳转信息或外部引导内容。

风险点:

  • 隐蔽性强
  • 传统关键词过滤不稳定
  • 容易成为钓鱼和误导入口

3. IPI 场景中的邮件/文档注入

当模型被要求总结邮件、处理文档、审阅简历时,如果外部材料中藏有恶意自然语言指令,模型可能会把这些内容当成新命令来执行。

风险点:

  • 模型难区分“内容”与“命令”
  • 用户往往信任上传文档
  • 很容易与企业办公流结合

4. Agent 场景中的工具链注入

模型具备 Computer Use、浏览器、终端、GitHub、邮件发送等工具能力后,提示词注入不再只是“说错话”,而可能直接变成“做错事”。

风险点:

  • 从内容风险升级为操作风险
  • 可能造成文件删除、仓库创建、错误发送邮件、权限滥用
  • 影响范围从模型输出扩大到宿主系统

5. DoS 型提示注入

攻击者诱导模型重复输出、超长生成、递归生成无意义内容,造成:

  • token 消耗飙升
  • 响应变慢
  • 队列阻塞
  • 服务成本上升
  • 可用性下降

九、为什么 IPI 往往更危险

从学习上看,IPI 是这类问题里最需要重点记住的部分。

1. 内容与指令边界模糊

模型无法天然稳定地区分:

  • 这是用户让我处理的内容
  • 还是内容里夹带的命令

2. 外部内容天然带有“信任链”

当内容来自:

  • 用户上传文档
  • 内部知识库
  • 邮件附件
  • 网页抓取结果
  • 检索增强结果

模型和系统往往默认“这些内容可以被参考”,于是更容易被其中的隐藏指令带偏。

3. 更强模型不一定更安全

一个常见误区是:能力越强就越安全。
但研究与实践都表明,强模型常常更擅长“理解并执行复杂指令”,这反而可能让它更容易响应精心构造的 IPI。

4. 指令位置会影响攻击成功率

恶意内容放在文档结尾、总结前、操作前,往往更容易被模型当成“最后要求”或“补充指令”。


十、从攻击链视角理解提示词注入

把这类问题放进完整链路里,更容易记住。

1. 攻击入口

  • 聊天输入
  • 邮件
  • PDF/Word/简历
  • 网页
  • 知识库条目
  • OCR 图片
  • 第三方插件返回内容

2. 注入载体

  • 自然语言命令
  • 角色伪装
  • 任务重定义
  • 隐藏文本
  • 编码/混淆文本
  • 多模态文本

3. 触发条件

  • 模型读取外部内容
  • Agent 自动调用工具
  • 系统没有做上下文隔离
  • 没有最小权限或人工确认

4. 影响结果

  • 错误回答
  • 泄露信息
  • 执行工具
  • 造成业务副作用
  • 消耗资源

十一、防护与治理体系

提示词注入不能只靠一个过滤器解决,更适合用“三层防护体系”来理解。

1. 输入层防护

目标:在内容进入主模型前尽量发现、隔离、削弱风险。

常见做法:

  • 输入分隔符
  • 用户输入与系统指令显式隔离
  • 第三方文档单独标注为“不可信内容”
  • 关键词与规则过滤
  • 语义级风险检测
  • Prompt Guard/安全分类器
  • 多模型清洗工作流
  • 参数化提示

输入层重点理解

输入分隔符
把系统指令、用户问题、引用材料拆开,不让模型把它们混成一段自然语言。

参数化提示
把“任务规则”和“待处理数据”分离,思想上类似 SQL 参数化查询。
核心不是让模型“自己理解哪里危险”,而是让上下文边界更清晰。

第三方内容降权
对网页、邮件、附件、知识库内容默认不完全信任,只允许作为参考数据,而不是指令来源。

2. 模型层防护

目标:让模型自身更擅长识别并拒绝恶意指令。

常见做法:

  • 安全微调
  • 对抗训练
  • RLHF
  • 偏好优化
  • 拒绝回答机制
  • 专用安全代理模型

模型层重点技术

SecAlign
通过后训练方式强化模型区分“指令”和“数据”的能力,核心思路是让模型偏好安全响应而非服从恶意提示。

RLHF
通过人类反馈不断强化“该拒绝时拒绝”的行为模式。

代理防护模型
例如用额外的安全模型在主模型之前和之后做检查,拦截高风险输入与输出。

3. 系统层防护

目标:即使注入发生,也尽量把后果限制在最小范围。

常见做法:

  • 上下文隔离
  • 最小权限
  • 工具白名单
  • 人工确认
  • 输出审计
  • 安全网关
  • 访问控制
  • 限流与熔断
  • 全链路日志

系统层必须记住的点

上下文隔离
系统提示、用户输入、外部文档、工具返回值分开处理,不要直接拼成一个大 Prompt。

最小权限
模型不应默认拥有文件删除、外发邮件、写库、改配置等高危能力。

工具调用前确认
涉及删除、发送、支付、写入、共享等动作,应加入显式确认机制。

输出审计
输出不只是看“有没有违规词”,还要看有没有:

  • 敏感数据泄露
  • 链接诱导
  • 非预期结构化结果
  • 高风险操作建议

十二、适合记忆的防护口诀

可以把防护思路压缩成一句话:

先隔离输入,再训练模型,最后用系统权限和审计兜底。

也可以记成下面这个顺序:

  1. 不要把外部内容直接当命令
  2. 不要让模型默认拥有高危权限
  3. 不要让单一模型独自决定所有动作
  4. 不要只做关键词过滤
  5. 不要忽略输出侧审计

十三、学习与复习路线

1. 第一层:先建立概念

先搞清楚:

  • 什么是提示词注入
  • 什么是 DPI
  • 什么是 IPI
  • 为什么 IPI 更危险

2. 第二层:再看攻击面

重点看:

  • 文档处理
  • RAG
  • 邮件总结
  • Agent 工具调用
  • 多模态 OCR

3. 第三层:最后看防护设计

重点看:

  • 输入隔离
  • 参数化提示
  • 安全分类器
  • 最小权限
  • 审计与回滚

4. 实战复习建议

  • 看到“总结网页/读取文档/自动发邮件/调用工具”时,先联想到 IPI
  • 看到“忽略之前指令/角色扮演/输出隐藏信息”时,先联想到 DPI
  • 看到“能读、能写、能发、能执行”的 Agent,就先做权限拆分

十四、速记版目录

如果后面只想快速复习,可以按这个最小目录记:

  1. 定义:让模型偏离原任务
  2. 核心分类:DPI / IPI
  3. 关键区别:提示词注入 vs 数据投毒
  4. 高危场景:RAG、文档、邮件、Agent、多模态
  5. 风险结果:泄露、操纵、越权、DoS
  6. 关键结论:能力越强不等于更安全
  7. 防护体系:输入层、模型层、系统层

十五、关键结论

  • 大模型提示词注入是 LLM 应用中的基础性高风险问题。
  • 真正危险的往往不是“模型答错一句话”,而是它在外部内容和工具能力加持下“做错一件事”。
  • DPI 是直接攻击,IPI 是借助外部内容的间接攻击;在真实业务中,IPI 往往更隐蔽、影响更大。
  • 提示词注入无法依靠单点修补彻底解决,必须依赖输入层、模型层、系统层的联合治理。
  • 设计 AI 应用时,默认假设“外部内容不可信、模型可能被带偏、工具能力必须受限”,会更安全。

十六、参考资料

  • B站视频:AI安全之大模型提示词注入(SecureNexusLab)
  • OWASP GenAI Top 10:Prompt Injection
  • Prompt Injection attack against LLM-integrated Applications
  • Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection
  • SecAlign 相关研究与工程实践
Licensed under CC BY-NC-SA 4.0