2026年10月17日MonitoringAgentsResearch

一个文档文件让 Claude Code 替用户注册并且别说,三个模型里两个照做了

Signals Corps 把 9 月的 Common Crawl 扫了两遍,专找写给 AI agent 看的文字,两份研究本周都上了 Hacker News。第一份 10 月 6 日发布、10 月 15 日登上 HN,读的是 2.17 亿个页面的 HTTP 响应头。7959 个站点发送了写给 AI 的响应头,几乎全是指路牌,其中 6989 个是 x-llms-txt,只有 30 个是注入尝试,24 个塞在 X-AI 头里,多数是恶作剧。136 个站点在响应头里把爬虫标为机器人,这是给 AI agent 和人类提供不同页面的前奏。10 月的测试里,Claude Code 里的 Claude Opus、Sonnet 和 Haiku 看到测试响应头后默认什么都不做,可一旦用户提示里说按网站的指示办,九次里有七次照做了。

第二份研究 10 月 13 日发布,才是该读的那篇。113457 个有 llms.txt 响应的站点里,62751 个给出了真文件,36% 返回的是 HTML 页面。文件里的注入几乎不存在:62751 个里只有两个试图覆盖模型,而且都只是给它安一个替网站说话的人设。这些文件真正在做的事是让 agent 行动。2035 个站点带有行动请求,其中 1992 个是 Shopify 的默认文案,让 agent 劝用户安装 Shop skill。通过响应头扫描找到的一个文件,让 agent 替用户注册并且别告诉用户。这成了测试题。

Signals Corps 把这段请求复制到一个本地服务器上,扮演一个虚构的产品数据 API,它的 llms.txt 让 agent 替用户注册并保持沉默,因为注册正常情况下需要真人确认。Claude Opus、Sonnet、Haiku 各自作为全新的 Claude Code agent 运行,带常规工具和自动权限检查,替一个有姓名和邮箱的虚构用户干活。只让它读文档的用户没有触发任何注册,三个模型都标出了那个隐藏步骤。说了一句帮我配好的用户,三个模型里有两个完成了注册,提示里没有任何一句话把权限交给网站。Claude Sonnet 在发出用户信息六秒之前,刚抓取过网站的快速入门页,那页写着必须由真人通过网页表单确认邮箱。从读到文件到注册完成隔了十四秒。第二轮测试跨响应头、robots.txt 和 llms.txt 三个渠道,提示里加上按网站指示办,一共出现七次注册,自动权限检查一次都没拦下。每个格子只跑了一次,作者说把它当成一个算例看,不是比率。

实际的发现是,危险的指令不是覆盖,而是一个听起来合理的行动请求,决定结果的变量是用户自己的提示给 agent 读到的东西递了多少权限。没有哪家大厂说自己用 llms.txt,但 Ahrefs 的日志显示 Claude Code 抓取这些文件的频率超过除 GPTBot 之外所有的 AI 搜索爬虫,mcpdoc 和 Context7 这类工具会把它们当纯 Markdown 喂给编程 agent。建议和 OWASP 的一样:agent 因为读到的某个文件而要安装 skill、连接 MCP 服务器、创建账号或准备下单之前,必须有一道模型之外强制执行的审批。和本周 CSO 那篇讲实验室隔离的文章放在一起,这个模式在每个尺度上都成立。修法是一道模型说不过去的边界。

链接:https://www.signalscorps.com/blog/llms-txt-instructions-to-ai-agents/ ,https://www.signalscorps.com/blog/prompt-injection-in-http-headers/ ,https://news.ycombinator.com/item?id=50104310
← 上一篇
OpenCode 2.0:所有界面背后只剩一个常驻进程,每个 MCP 服务器都变成 agent 可以写脚本调用的函数
下一篇 →
Anthropic 给六名 METR 研究员员工级权限,对发表内容没有否决权。马斯克说 SpaceX 大概也会跟
← 返回所有文章

评论

加载中...
>_