HTTP头中的提示注入:217M网页响应显示的内容
tl;dr 我们读取了来自Common Crawl的217,097,223个页面响应的HTTP响应头,占其2026年9月份对21.7亿页面爬虫的10%,并寻找任何为AI系统编写的头信息。7,959个站点发送了这样的头信息。几乎所有这些都将代理指向另一个资源,例如llms.txt文件或MCP服务器。少数站点试图向代理发出命令。是否有任何内容到达您的模型,取决于您的抓取工具传递响应的哪个部分,因此防御从那里开始。7,959个站点发送了旨在针对AI的头信息。通过头信息向代理写入内容已经成为常规,因此将头信息视为代理读取内容的一部分。7,271个站点发送了指针,6,989个站点发送了x-llms-txt。指针是服务器告诉您的代理接下来去哪里。请确保您的代理将这些目标视为新的、不受信任的抓取。30个站点发送了注入尝试,其中24个在名为X-AI的头信息中。大多数是恶作剧。那些请求实际操作的很少只有在代理具有相应权限(例如shell或数据库访问权限)时才有效。139个站点发送了一条记录,记录它们是否已将客户端分类为AI机器人,其中136个表示是AI机器人。服务器已经能够区分代理和人类,这是代理专用内容所需的步骤。使用代理的用户代理审核重要站点。一些站点使用头信息来反击代理。两个站点在抗议命名的头信息(如X-AI-Makes-Us-Dumber)中放置以Anthropic测试触发器命名的字符串,一个在其错误页面上警告黑客代理。预计您的代理将遇到旨在阻止它们阅读的文本,以及旨在引导它们的文本。283个不同的头信息名称是针对AI的,另有1,709个站点符合我们的AI关键词而未被直接指向AI。仅根据名称匹配的检测器将错误标记910个站点。对代理在抓取后的行为进行警报。在我们2026年10月的测试中,Claude Opus、Claude Sonnet和Claude Haiku在Claude Code中找到了我们的测试头信息,并默认未对其采取行动,日常任务(如正常运行检查)足以将这些头信息呈现在它们面前。当用户的提示要求它们遵循该站点的指示时,它们在9次运行中遵从了7次,因此拒绝取决于您的提示给该站点赋予的权威有多少。大多数研究忽略的一个途径 大多数关于网页上的提示注入的研究关注于页面本身。Palo Alto Networks Unit 42研究了实时页面上的注入并列出了十种传递它们的方法,从零大小文本到URL片段。十种方法中没有一种使用响应头。在其数据中,社交工程占越狱方法的85.2%,而我们发现的头注入契合这一点:显而易见的“忽略所有先前指令”文本,没有隐藏,因为浏览器根本不会显示头部。谷歌的威胁情报小组对Common Crawl页面文本进行了搜索,并将其发现的内容分类为无害的恶作剧、实用指导、搜索优化、阻止AI代理和恶意攻击。我们的头注入也倾向于同一方向:30个站点中有22个发送了恶作剧,一些站点使用头信息来阻止代理。那么,今天代理面临多大风险?模型在识别注入文本方面变得越来越好,但它们仍然遵循其中的一些文本。在Anthropic 2025年的Claude for Chrome测试中,在没有缓解措施的情况下,攻击成功率为23.6%,而在有缓解措施的情况下,该成功率为11.2%,即使是经过加固的代理,仍然对大约九次中的一次尝试采取了行动。任何代理所面临的真正风险归结为两个问题:敌对文本能否到达其模型,以及当其中一些内容通过时,代理能做什么?本帖子向大多数防御忽视的一个途径提出了这些问题:服务器在每个页面上发送的HTTP响应头。一个人阅读页面时永远看不到它们,但代理的工具可以直接将它们传递给模型。我们以我们的扫描在今天的风险情况谈起。要了解这有什么重要性,请先了解间接提示注入是如何工作的。 间接提示注入 间接提示注入是一种攻击,其指令通过被第三方控制的内容到达AI代理:网页、电子邮件、文件或工具的结果。它之所以有效,是因为语言模型将其指令和数据视为一个文本流。当您要求代理总结一个页面时,您的请求和页面在同一上下文窗口中,而文本中没有任何内容标记出哪部分可能发出命令。用户从未书写过注入的指令,并且通常从未见过它们。这个术语来源于Greshake及其同事于2023年发布的一篇论文,OWASP将提示注入排在LLM应用前十名之首。以下序列显示了一次从请求到结果的尝试。 间接提示注入如何到达代理。用户只看到步骤1和步骤4的结果。 1 请求 用户要求执行某个任务“总结这个页面” 2 抓取 代理读取第三方控制的内容页面 · 电子邮件 · 文件 3 上下文 该内容及其隐藏文本与提示数据和指令结合 4 动作 模型遵循隐藏文本的指令回答 · 工具调用
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡