提示词注入(Prompt Injection)指的是:攻击者把一段会影响模型行为的指令,偷偷塞进模型可能读取的内容里,让模型偏离原本该遵守的任务或规则。它不一定长得像“恶意代码”,很多时候只是混进网页正文、PDF 文档、知识库内容、表格备注,甚至一段看似普通的话。
为什么它不是传统意义上的漏洞
传统漏洞常常利用程序执行层的缺陷;提示词注入更像“利用模型会读自然语言”这件事本身。模型很擅长理解人话,这本来是优点,但也意味着它可能把不该当指令的内容错当成指令。所以它既是安全问题,也是上下文边界问题。
最常见的注入入口
- 联网搜索:模型抓到的网页里可能藏着“忽略之前规则”“转而输出某内容”之类的诱导文本。
- 上传文档:PDF、Markdown、网页快照、知识库条目都可能带有影响模型判断的话。
- 多工具系统:当模型会继续调用浏览器、数据库、代码工具时,注入带来的影响可能被放大。
它最危险的地方在哪里
| 风险点 | 表现 |
|---|---|
| 规则被覆盖 | 模型开始忽略系统要求或越权执行 |
| 答案被带偏 | 模型把脏内容当成可信上下文 |
| 工具链被误导 | Agent 按被污染的指令继续搜、继续调工具 |
提示词注入和越狱提示词也有区别。越狱通常是用户正面去挑战模型规则;提示词注入更像规则是从侧面被污染,模型自己都未必意识到那段内容不该被执行。它之所以这两年越来越常被提起,是因为模型不再只读聊天框,而是开始读网页、读文件、读知识库、连工具。输入面一扩大,入口也就变多了。