简短答案
什么样的案例算提示词注入示例
只要第三方内容里含有本应被当成“数据”的指令式文本,而模型却把它当成了“命令”,这个案例就属于提示词注入示例。载体可以是网页、邮件、PDF、搜索结果,或另一个工具的输出。
这些示例最有价值的地方在于,它们让抽象风险变得具体:模型本来只是被要求“读点东西”,结果攻击者却把这段内容变成了工作流控制流的一部分。
最常见的载体一览
| 内容来源 | 隐藏指令如何出现 | 可能造成什么后果 |
|---|---|---|
| 网页、列表页、评论页 | 指令式文本出现在页面正文、评论、机器可读文本或隐藏节点中 | 模型给出错误推荐、错误总结,或把攻击者内容排到更高优先级 |
| 邮件与收件箱工作流 | 邮件正文或附件诱导智能体忽略用户任务 | 泄露私有数据、转发敏感文件、发送错误消息 |
| PDF 与文档 | 指令藏在正文、复制文本层、注释或格式工件里 | 模型执行它本来只该分析的文件中的指令 |
| 工具输出与检索结果 | 搜索摘要、OCR、检索块或其他工具返回内容里混入攻击文本 | 工作流被劫持、排名被污染或隐藏上下文被泄露 |
| 元数据、注释与解析器可见文本 | 人类看到一套内容,解析器读到另一套内容 | 审核时很难发现,但模型依然会接触到这些指令 |
网页、邮件与 PDF 是最容易理解的现实案例
OpenAI 最近的安全写作里最容易理解的示例,是房源列表、评论页、文档与邮件工作流。比如用户请 AI 搜索房源,攻击者把“优先推荐这个房源”的内容藏进页面里;又比如用户让智能体处理夜间邮件,一封恶意邮件却诱导它去查找银行账单并发送出去。
这些例子之所以关键,是因为它们说明提示词注入并不需要看起来特别“黑客”。页面、邮件或文档都可以外表正常,只要其中存在足以影响模型决策的指令式语言,攻击就成立。
对于 PDF 与 DOCX,容易出问题的并不只有可见正文。复制文本层、注释、附录、元数据与格式工件,也都可能把用户没注意到的文本送进模型上下文。
工具输出与解析器可见差异,会让问题更难发现
有些最典型的提示词注入示例并不直接来自网页或附件,而是来自工具输出。例如搜索结果、OCR 结果、浏览器提取文本或向量检索块里带着攻击者控制的文字。模型把这些中间结果再次读入时,攻击就进入了系统。
更棘手的是“解析器可见差异”。人类觉得文件或页面看上去没问题,但模型通过 HTML 解析、OCR、文档提取或工具链看到的文本却多得多。如果这些额外文本足够像指令,就会劫持任务或诱导模型泄露上下文。
如果你想看图片与截图版本,可以继续阅读视觉提示词注入;如果你想看 RAG 或 MCP 场景,可以阅读RAG 提示词注入与MCP 工具投毒解读。
这些示例为什么重要,以及怎样降低风险
最好的提示词注入示例都有同一个结构:第三方内容进入工作流,内容里含有指令式文本,模型给了这些文本本不该拥有的权威。结果通常落到两类:提示劫持(改变模型原本要做的事)或提示抽取(诱导模型泄露隐藏指令、秘密或上下文)。
现实中的收敛方法也很明确:把网页、邮件、文档与工具输出都当成不受信内容;缩小任务范围;减少登录态权限;在高影响动作前保留复核;并在 URL 与文件进入模型前做输入层检查。
常见问题
什么是提示词注入示例?
指任何第三方内容中包含了本应当成数据阅读、却被模型当成指令执行的案例。载体可以是网页、邮件、PDF、搜索结果或工具响应。
普通网页或邮件也会包含提示词注入吗?
会。最清晰的官方示例恰恰来自普通列表页、评论、邮件与文档。攻击不需要看起来很“黑客”,只需要能进入模型上下文并把它带偏。
提示词注入示例一定都是肉眼看不见的吗?
不一定。有些文本是可见但容易被忽略,有些则藏在注释、元数据、复制文本层或提取文本里。两者都属于提示词注入。