[控场AI]
· 5 分钟阅读· 2,953 字

Anthropic官方扩展被投毒:5000台开发者机器遭后门入侵

Anthropic官方扩展被投毒:5000台开发者机器遭后门入侵

Anthropic官方Claude扩展在Cursor市场被投毒,5000台开发者机器遭后门入侵。

Anthropic面向Cursor平台的官方Claude扩展遭遇供应链攻击,恶意版本2.1.313通过官方账户分发,存活近12小时,影响最多5000台开发者机器。由于Cursor扩展默认自动更新,用户无需任何操作即可中招。后门会收集主机信息、窃取环境变量以盘点云凭证,并尝试植入SSH密钥建立持久化反向隧道,代码覆盖Windows、macOS和Linux。Anthropic尚未公开警告客户,攻击者如何获得官方账户权限仍未知。事件警示AI Agent部署的信任链条风险:当官方分发管道都不可信时,自动化更新的Agent可能成为攻击跳板。

Anthropic官方扩展被投毒:5000台开发者机器遭后门入侵

AI编程工具的安全神话被撕开了一道口子。据Ars Technica报道,Anthropic面向Cursor平台的官方Claude扩展遭到供应链投毒,恶意版本在官方账户上存活了近12小时,影响最多5000台开发者机器。更令人不安的是,攻击者如何获得Anthropic认证账户的访问权限,至今仍是未解之谜。

事件全貌:一次教科书级的供应链攻击

这不是某个MIT学生随手写的山寨扩展被篡改,而是Anthropic官方账户下发布的Claude扩展本身出了问题。恶意版本号2.1.313通过Anthropic在Cursor市场的官方账户分发,随后被3.1.314版本取代。独立研究员Kevin Beaumont和安全公司Foreo的联合创始人兼CTO均确认了这一分发路径。

扩展发布情况

Cursor作为VS Code的分支,其扩展默认开启自动更新。这意味着受害者不需要主动点击任何可疑链接或确认任何弹窗,恶意代码就会在后台静默安装。攻击的影响范围因此被压缩到"使用Cursor且同时使用Claude扩展"的开发者群体,但5000这个数字的含金量远高于普通攻击——这些都是具备技术判断力的专业开发者机器。

供应链攻击(Supply Chain Attack) 是指攻击者不直接攻击最终目标,而是通过入侵目标所信任的第三方(如软件供应商、开源项目、分发渠道)来间接渗透。在软件分发场景中,攻击者可能篡改官方安装包、劫持更新服务器或攻破开发者账户,从而让恶意代码以“合法签名”或“官方来源”的身份进入受害者系统。此类攻击的隐蔽性极高,因为用户通常不会怀疑官方渠道的更新。近年来,SolarWinds、Codecov、3CX等事件均属此类,而本次事件则展示了AI工具生态同样面临这一风险。

Cursor 是一款基于VS Code分支构建的AI优先代码编辑器,它继承了VS Code的扩展市场机制。扩展市场允许开发者发布插件,但官方账户的凭证一旦泄露,攻击者即可发布恶意版本。扩展的自动更新机制默认开启,意味着用户无需任何交互即可获取最新版本,这既是便利也是风险。

后门做了什么:从信息收集到持久化控制

Cursor披露的恶意行为清单读起来像一份入侵手册。扩展会收集主机名、用户名、操作系统、架构、主目录路径、环境变量名、工作目录、配置的git邮箱和公网IP,并通过HTTP POST发送到8099端口的信标。

信息收集内容

环境变量名的窃取尤其值得警惕。据Foreo分析,攻击者可以借此快速盘点受感染设备上存储的云凭证和API令牌,从而决定后续攻击的优先级。换句话说,第一波感染只是侦察,真正的收割可能还在后面。

更严重的是持久化机制。恶意代码尝试向authorized_keys添加攻击者控制的SSH密钥,启用本地SSH服务并建立反向SSH隧道。在macOS上通过launch agent、Windows上通过计划任务实现持久化,隧道每隔约60秒重试连接。这段代码同时针对Windows、macOS和Linux编写。

由于Cursor扩展以IDE的权限运行,后门一旦安装,就能访问本地文件、源代码和开发者工具。除非Cursor恰好以管理员权限启动导致代码出错,否则这一步会成功。

authorized_keys 是SSH协议中用于存放允许登录该账户的公钥的文件,通常位于用户主目录的 ~/.ssh/authorized_keys。向其中添加攻击者控制的公钥,等同于为攻击者创建了一把永久钥匙,使其能够直接通过SSH登录目标机器,无需密码。这是Unix/Linux系统中最常见的持久化后门手法之一。

反向SSH隧道 是一种由内网机器主动连接外部服务器并建立隧道的方式,常用于绕过防火墙或NAT限制。攻击者通过反向隧道可以从外部访问内网机器,而无需直接暴露端口。隧道每隔约60秒重试连接,确保了连接的稳定性。

launch agent 是macOS中用于在用户登录时自动运行程序或脚本的机制,通常以plist文件形式存放在 ~/Library/LaunchAgents 目录下。计划任务 在Windows中则通过任务计划程序(Task Scheduler)实现,允许程序在特定时间或触发条件下自动执行。两者都是操作系统级别的持久化手段,恶意代码利用它们确保在重启后仍能存活。

两家公司的沉默与更大的隐忧

截至报道时,Anthropic尚未向客户发出公开警告,Cursor和Anthropic均未回应媒体关于供应链攻击如何发生的追问。这种沉默在安全事件中并不罕见,但对于一家反复强调AI风险的公司来说,反差格外刺眼。

有观点认为这不该完全归咎于Anthropic——毕竟扩展生态的复杂性是行业通病。但反对意见同样有力:官方账户被攻破,说明发布管道的访问控制本身存在缺口,这与扩展生态无关,是Anthropic自己的安全责任。

对AI Agent部署的警示

这起事件最值得玩味的地方,在于它暴露的信任链条问题。攻击中用户什么都没做,系统就自己中招了。把这个场景放大到企业环境:如果有几十个、上百个AI Agent在你的基础设施里运行,它们需要连接工具、调用库、自动更新依赖,其中任何一个环节被供应链攻击穿透,Agent就会带着你的权限级别和全部访问权变成攻击者的跳板。

Agent的信任边界

如果Anthropic和背靠大型集团的Cursor都守不住自己的分发管道,普通企业凭什么相信自己能守住?这个问题的答案,恐怕比事件本身更让人睡不着觉。

AI Agent 是指能够自主感知环境、做出决策并执行动作的智能实体,通常基于大语言模型构建。在企业环境中,Agent需要调用外部工具、访问API、读写文件,甚至自动更新依赖库。这种自主性带来了效率,但也扩大了攻击面:一旦Agent所依赖的某个组件被供应链攻击污染,攻击者就能借助Agent的权限执行恶意操作。本次事件中,扩展以IDE权限运行,相当于获得了开发者的本地访问权;若类似情况发生在Agent身上,攻击者可能控制整个自动化流程。因此,对AI Agent的信任边界必须包括其所有依赖项的来源验证,而不仅仅是Agent本身。

开发者该做什么

短期内的行动项很明确:检查Cursor中Claude扩展的版本,确认是否曾安装过2.1.313;审查authorized_keys中是否有陌生SSH密钥;检查launch agent或计划任务中是否存在可疑的持久化条目;轮换环境中存储的云凭证和API令牌。

长期来看,这起事件给所有依赖AI编程工具和Agent框架的团队提了个醒:自动更新是把双刃剑,对官方来源的盲目信任在供应链攻击面前不堪一击。

分享:

相关推荐