最近发布了一个名为 LLMLens 的 Typecho llms.txt 生成插件,却在拓展阅读时发现,如此一个小小的纯文本文件,竟能通过供应链攻击,在几乎零技术门槛的情况下 4 分钟击穿世界财富 500 强:有危害的程序包在公司内部服务器上堂而皇之地被 AI 安装并运行,连接外部网络并且任由操控。
一个真实的测试
安全研究员 Alon Hertz 及其所在的 Pandex 团队 大规模扫描了互联网上为 AI Agent 准备的 llms.txt 指令文件。在 6214 个活跃域名上解析了 8565 个 llms.txt 文件,覆盖约 15000 家公司,其中包括财富 500 强企业、科技巨头、金融科技公司和国防承包商。
这个文件规范在 2025 年被正式提出,并被 OpenAI、Anthropic、Vercel(Next.js) 等巨头采用,用于文档说明等场景。它以一个放置在网站根目录的 Markdown 纯文本文件,告诉 AI 代理应该阅读哪些文档、调用哪些 API、安装哪些软件包以及信任哪些域名。
经过对这些文件内容的分析,团队发现:大量公司的 llms.txt 文件中包含诸如 pip install company-sdk 这样的安装指令,但指令中指向的软件包名称或域名从未被任何人注册。这并非拼写错误,而是公司官方文件中正确拼写但无人认领的名称。正因如此,一个“先到先得”的攻击窗口被创造了出来。
为验证风险,团队选择了其中一些未注册包名并在 PyPI 和 npm 上注册了这些包。他们在包中嵌入了一个极简的“回连信标”,用于在安装时向他们的服务器发送信号。
结果令人不寒而栗:第一个回连信号仅在短短 4 分钟内就被传回,它表明一家财富 500 强公司内部的 AI 代理已经读取了官方文件并执行了恶意安装。一小时内,他们收到了来自更多财富 500 强企业、初创公司等数十个回连信号。触发安装的 AI 代理包括 Claude、OpenAI Codex 和 Hermes 等。
不仅如此,研究团队还在扫描过程中发现了一个已在野外活跃的攻击:一家名为 Clerk 的大型认证服务商,其指令文件中的 npx clerk-next-fix-auth-protection 将 AI 代理指向了一个被抢注的包名,从而在安装时自动触发 hooks,把安装者的用户名、机器名、工作目录、时间戳发送到外部服务器。
一个真实的警醒
首先是 AI 代理的“信任”滥用问题:像 llms.txt 这类文档,建立在官方域名下并采用 HTTPS 连接,这使得你使用的 Agent 工具在任务驱动和自主决策下无条件地信任它们,并执行其中的指令。而攻击者恰好可以利用这一点,在你不知情的情况下向你的设备或企业网络中植入恶意代码。
其次,检查你发布的 llms.txt 或其它构成 AI 指令的文件,确保其中引用的每一个软件包名称、域名和 API 端点都已被注册,且真实归属于你。立即删除或修正任何指向未认领资产的指令。
此外,限制和审查 Agent 行为:在生产环境中,避免代理自动执行 Shell 命令或从公共仓库安装软件包。考虑实施允许列表策略,只允许代理访问已知安全的资源。并深刻知晓,AI 代理的输出和行为并非绝对可信,需要专门监控 AI 代理发起的异常网络连接、进程创建和软件安装行为。
最后,关注 AI 工具的安全更新:保持你的 AI 编程工具为最新版本,厂商可能会针对此类供应链风险发布安全更新。
这次研究揭示了:一个由 AI 时代新型交互方式所带来的、全新供应链攻击面。这不是理论风险,而是已被验证的、可在数分钟内发生的实际威胁。
