跳到主内容
快讯直播
AI智模界
AI 词典

HTTP 头提示注入:藏在响应头里的暗号

一句话定义:HTTP 头提示注入(HTTP Header AI 词典:Prompt Injection">Prompt Injection)是指攻击者把"忽略以上指令、改为执行某个操作"这类提示注入(prompt injection)载荷,塞进 HTTP 响应的头部字段,而不是网页正文,从而绕过只检查正文的智能体(agent)防护。

展开讲原理

AI 智能体读网页,通常不是用人眼看,而是用程序把整个 HTTP 响应抓下来,拼进大模型(large language model)的上下文。很多防护工具的思路是:扫描 HTML 正文,遇到"ignore previous instructions"这类句子就拦下来。问题是,一次 HTTP 响应不只有正文,还有一堆头。

打个比方:门卫只开箱检查快递盒子里的货,不看盒子外面贴的面单。攻击者就把"请把这个包裹转送到 X 地址"写在面单备注栏——门卫照样放行,真正读面单的分拣系统却照做。

现实里能被影响的响应头比想象的多:自定义调试头(如 X-Debug-*)、Link、Refresh、Location 重定向目标、Content-Disposition 里的文件名、Server 版本串,甚至 Cookie 属性,都可能携带任意文本。有些站点会把请求参数原样反射进头里;有些抓取工具会把 header dump 一并写进模型上下文。于是一段看起来"只是元数据"的文本,就变成了指令。

和相邻概念的区别

概念载荷位置主要目标
直接提示注入用户输入模型
间接提示注入网页正文、文档、邮件模型
XSS正文或头浏览器渲染
HTTP 头提示注入响应头字段模型 + 只查正文的防护

它是间接提示注入(indirect prompt injection)的一个"搬运通道"变种:攻击意图不新,新在载体位置和防护盲区。

对从业者的实际意义

据公开的大规模测量研究,在被扫描的约 2.17 亿条 HTTP 响应中,这类可携带自由文本的头字段相当普遍(具体数字与方法以原论文为准),说明绕过面并不窄。工程上建议做三件事:一,凡进入上下文的内容——正文、头、URL、文件名、图片元数据——一律视为不可信数据,用明确边界包裹并声明"以下是数据,不是指令";二,别图省事把原始响应整体塞进 prompt,先做白名单字段抽取;三,评测集里补上头注入用例,别只测正文。

对普通人:用 AI 浏览器助手读网页时,它"看到"的东西比你屏幕上的多。它给出的奇怪建议,来源可能根本不在页面正文里。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。