2.17亿网页揭示HTTP头中的AI注入风险

Prompt injection in HTTP headers: what 217M web responses show

2.17亿网页揭示HTTP头中的AI注入风险

我们扫描了Common Crawl中2.17亿个网页的HTTP响应头,发现7959个网站向AI代理发送了指令。绝大多数是指向llms.txt或MCP服务器的链接,但也有30个网站尝试进行Prompt injection,其中部分甚至包含真实操作指令。研究发现,风险大小取决于代理的fetch工具是否将响应头传递给模型。Claude Code、Gemini CLI等工具在不同配置下可能暴露这些隐藏指令。虽然多数注入尝试是恶作剧,但只要代理拥有执行权限,这些隐藏在HTTP头中的文本就可能被模型执行。防御的关键在于审查代理工具如何处理响应头,并限制其权限。

真正的风险取决于两个问题:敌对文本能否到达模型,以及当部分文本绕过防御时代理能做什么。
  1. simonw

    这篇文章太长了,而且写得非常粗糙。

    以下是涉及提示注入(prompt injection)HTTP 头的部分。在我看来,除了那些包含触发 Claude 4 时代拒绝机制的字符串外,其他看起来都像是玩笑或不严肃的尝试。https://www.signalscorps.com/blog/prompt-injection-in-http-h...

  2. crisnoble

    这篇文章煞费苦心地想说明,你的代理(agent)大概不该服从那些写着随机内容的 HTTP 头。然而,服务器显然很容易检测到代理,因此给代理返回与人类用户不同的 res.text() 内容简直易如反掌。这甚至不需要是恶意的,为了服务器和消费数据的代理双方考虑,给代理返回一个精简版内容是合理的;但这对于那些想向代理展示不同内容的人来说就成了问题。

  3. tcdent

    传统上,计算领域尤其是 Web 一直使用结构化格式来指定信息的解释方式及其位置,甚至包括给予它的信任级别。但正如本文中的 HTTP 头所示,当 LLM 解释内容时,一切不过是文本罢了。

同日更多故事

2026-10-15