HalluSquatting(对抗性幻觉占位)是一种攻击方式,攻击者预先注册人工智能模型可能创建的仓库、软件包或技能名称,然后等待代理程序进行搜索。代理程序误以为自己正在获取一个真实的项目,但实际上却获取到了攻击者控制的内容,其中包含着代理程序随后通过自身终端执行的指令。这种攻击方式之所以能够大规模奏效,是因为幻觉并非随机产生:相同的虚构名称会在不同的模型和运行中反复出现,因此可以被提前预测和注册。HalluSquatting之于typosquatting,正如代理程序之于开发者。前者等待人类输入错误,后者则等待机器的想象。
什么是 HalluSquatting?一个工作定义 #
供应链攻击总是需要利用对方的失误。域名抢注需要有人误输包名。依赖关系混乱则需要解析器优先选择公共注册表而非私有注册表。两者都在等待某个环节出现错误。
HalluSquatting 不会等待错误发生,它等待的是发明创造。
因此,HalluSquatting 的工作定义是:HalluSquatting 是一种供应链攻击,攻击者预先注册大型语言模型极有可能伪造的资源标识符,这样,当 AI 代理获取这些伪造的资源时,它检索到的就不是合法的项目,而是攻击者控制的内容。这些资源可以是 GitHub 代码库、公共注册表中的软件包、插件或代理技能。它们的共同点是,代理通过名称请求了某个东西,而这个名称属于一个正在等待该请求的人。
该技术已在[此处应插入原文描述]中正式描述。 警惕代理僵尸网络:通过通用且可转移的对抗性 HalluSquatting 发起的可扩展的非定向 Promptware 攻击该论文由特拉维夫大学、以色列理工学院和Intuit公司的研究人员于2026年7月8日发表。论文的框架与机制同样重要。它描述了一种非定向攻击:攻击者无需与任何特定受害者建立联系。无需电子邮件、无需消息、无需访问权限。他们注册用户名称,然后让生态系统完成邮件投递。
幻觉蹲伏,分为三个部分 #
全称比简称更能解释其机制,因此值得拆解研究。
- 幻觉。 当模型遇到不熟悉的请求时,它不会直接表示不知道,而是会生成一个看似合理的答案。例如,当被问及某个它从未见过的工具的仓库时,它会按照这类标识符通常的形式,构建一个可信的所有者和项目名称。
- 蹲姿。 这与域名抢注和网络域名抢注的逻辑相同。抢在合法所有者之前,或者在任何人注意到该域名根本就没被注册之前,就抢占了该域名。
- 对抗性的。 这正是将骚扰升级为攻击的关键所在。单纯的幻觉式域名抢注是机会主义的:注册模型倾向于使用的名称,然后祈祷成功。而对抗式域名抢注则是蓄意的,它使用通用且可转移的触发器,引导模型注册攻击者选择的特定名称。这样就省去了等待的时间,使攻击可以重复进行。
综上所述,HalluSquatting 的含义可以用一句话概括:让模型发明一个你已经拥有的名字,然后让代理人按照这个名字行事。
造成破坏的模式有两种。首先,近因效应驱动虚假信息生成。模型能够可靠地复制长期项目的标识符,并以接近确定性的速度虚构近期项目的标识符。训练截止时间之后出现的任何内容都会被模型填充为空白。其次,虚假信息会迁移。相同的虚构名称会在不同的基础模型和重复运行中反复出现,因此攻击者无需知道目标使用的是哪个助手。一个注册名称可以覆盖多个助手。
这种组合能将一个奇特的现象转化为基础设施。一个由某个模型创造一次的名称只是个奇闻。而一个由多个模型反复创造的名称,每当有人询问某个热门工具时,它就变成了一个分发渠道。
HalluSquatting攻击是如何运作的? #
该链条有五个环节,值得注意的是,攻击者在设置完成后几乎不做什么。
1. 预测。 攻击者会分析哪些标识符模型会针对特定类型的请求进行伪造:克隆此存储库、安装此技能、添加此软件包。最新和热门资源带来的收益最高。
2. 注册。 他们声称这些名称存在于真实平台上。代码库存在。软件包可以解析。没有任何内容通过基本的存在性检查,因为资源确实存在。
3. 种子。 该资源包含大量旨在作为模型指令阅读的内容:README 文件中的对抗性提示、配置文件、文档或资源描述。这就是提示软件,它与间接提示软件密切相关。 及时注射有效载荷主要不是代码,而是面向任何后续阅读者的语言。
4. 获取。 开发者要求代理克隆代码库或安装技能。代理会臆造出名称,访问攻击者的资源,并将其内容提取到自身上下文中,作为开发者要求它获取的材料。
5. 执行。 嵌入的指令劫持了代理的执行。由于目前的代理都带有集成终端,因此演示的结果是远程工具执行和远程代码执行,最终在主机上安装了僵尸程序。
最后一个环节正是这项研究标题的由来。每台被入侵的机器都会加入一个代理僵尸网络:这种网络的传播并非依靠漏洞或弱凭证,而是依靠代理读取原本不应该执行的指令,而这些指令存在于原本并非直接攻击目标的机器上。
抢注软件包名称是其近亲和共同祖先:注册软件包名称模型,然后等待有人运行安装程序。而“幻觉抢注”(HalluSquatting)则在两个方面升级了这种行为。目标从开发者转移到了代理商,彻底消除了人为检查。同时,其姿态也从机会主义转变为对抗性,因为名称可以被操控,而不仅仅是寄希望于他人。
对于已经开展工作的团队来说,这种转变最为重要。 代理编码,其中 decision,查找和执行在一个步骤中完成,这是开发人员要求的进程,并且开发人员不再监控该进程。
为什么现有控制措施无法胜任? #
传统供应链筛选背后的所有假设在这里都发生了逆转,这才是令人不舒服的地方。
贯穿始终的是,所有这些控制措施都会询问类似“是否有人以前见过这个名字”的问题。对于一个四个小时前注册的名字,诚实的答案是“没有”,而“没有”并不会被阻止。
在代理人打开窗口之前将其关闭。 #
真正有用的问题不是你的开发人员是否会被一个虚构的包名所蒙蔽,而是你的包名中是否存在任何此类内容。 pipeline 会注意到一个存在了四个小时、没有历史记录、并且是由代理而不是人添加的依赖项。
三个控制措施可以关闭大部分窗口,而且不需要猜测攻击者注册了哪些名称。
将年龄和来源作为门槛。几个小时前创建并由代理拉取的资源与拥有五年历史的资源截然不同,而且软件包年龄作为策略输入远比作为无人读取的元数据更有效。应根据行为而非信誉进行筛选,因为新注册的名称总是能通过“是否有人见过此内容”的检查,但永远无法通过“此内容实际用途是什么”的检查。此外,还应强制执行安装位置,因为……cis离子点已转移到开发人员的机器和代理的终端,并且仅在 CI 中运行的控件在本地代码执行完毕后到达。
西吉尼 作用于该层。 恶意软件预警 它根据行为而非信誉筛选软件包,在签名出现之前就标记恶意软件包,这是唯一一种今天早上注册的域名能够被检测到的情况。每周结果都会公开发布。 恶意代码摘要. Shield 在开发者终端上强制执行策略,包括软件包的最低年龄要求和阻止恶意安装,因此代理无法在想到某个东西时立即拉取它。 开发人工智能 适用 guardrails 在集成开发环境 (IDE) 和编码代理程序中,审查代理程序添加的内容,然后再将其变成…… commit并且持续 人工智能资产发现 映射您的存储库中已运行的代理、技能和 MCP 服务器,因为这种攻击提出的第一个问题是大多数团队无法回答的问题:是什么在代表我们获取东西,以及在谁的授权下获取东西?
预约演示 看看你的经纪人能赚多少钱。
常见问题:什么是 HalluSquatting?(简答) #
攻击者会注册人工智能模型常用的虚假名称,这样当代理搜索这些名称时,就会找到攻击者的内容,而不是真正的项目。模型的错误就成了传播机制。
大部分情况下是这样。LLM 红队演练侧重于语言模型及其构建的应用。AI 红队演练则侧重于控制而非仅仅利用幻觉。研究表明,与其注册模型碰巧偏好的名称并等待,不如使用触发器,使代理能够按需伪造攻击者选择的特定名称,并且这种方法适用于不同的模型。
不。域名抢注利用的是人为错误,比如输错名字或记错名字。而域名抢注则利用的是机器自动生成的名字,这个名字根本不存在,也从未有人输入过。在这种情况下,名称相似度检测毫无用处,因为生成的这个名字与任何真实存在的名字都完全不相符。
它们之间存在重叠,而“草率抢注”(slopsquatting)出现得更早。“草率抢注”通常指的是注册虚构的软件包名称,然后等待开发者根据助手的推荐进行安装。“幻觉抢注”(HalluSquatting)则是代理能力的升级:代理可以自主获取并执行代码,幻觉可以人为诱发而非被动等待,最终目标是远程代码执行和僵尸网络安装。
找出你的代理程序在无人干预的情况下可以获取和安装哪些程序,然后在它们运行前添加年龄和行为检查。这两个问题都属于配置问题,本周即可解决,而且都不需要知道攻击者已经注册了哪些用户名。
