一个符号链接技巧破解了包括亚马逊在内的6款顶级AI编码助手

安全公司Wiz发现一个古老的Unix技巧,能破解从Amazon Q到Cursor的6款流行AI编码助手。一个设陷阱的代码仓库可以引导代理绕过其自身的安全提示。最终结果是植入一个密钥,让攻击者掌控开发者的机器。
一个古老的漏洞刚刚绊倒了最新的工具。Wiz的研究人员在六款广泛使用的AI编码代理中发现了一个他们称之为GhostApproval的漏洞,The Register报道。它允许一个被篡改的仓库推动代理在其工作空间之外写入文件。从那里,它可以夺取开发者的机器。
这六款代理是Amazon Q Developer、Anthropic的Claude Code、Augment、Cursor、Google Antigravity和Windsurf。这个技巧可以追溯到几十年前。它滥用了符号链接(symlink),一种古老的快捷方式文件,可以悄无声息地指向其他地方。
陷阱如何触发
攻击者构建一个被污染的仓库。里面存放着一个伪装成无害配置文件的符号链接,比如 project_settings.json。它实际上指向用户的SSH密钥。然后一个README文件告诉代理在设置过程中向那个"配置"中添加一行。
开发者克隆仓库并让代理"设置工作空间"。代理遵循README,将一个攻击者控制的SSH密钥写入真正的密钥文件中。这赋予了攻击者不受阻碍、无需密码就能访问机器的权限。这反映了Amazon Q中早期的一个设陷阱仓库漏洞。
橡皮图章式问题
大多数这些工具在风险操作前会显示一个确认框。Wiz发现这个框通过遗漏来欺骗。代理注意到符号链接指向了危险的位置。然而提示信息隐藏了真实目标,只显示无害的文件名。
Claude Code 的处理方式最差。它自己的推理注意到这个文件实际上是一个 shell 配置文件。然后它询问用户:“要将此编辑应用到 project_settings.json 吗?”Wiz 称这种同意“实质上是空的”。它将隐藏的提示记录为第二个独立的缺陷:一个错误表述你所批准内容的用户界面。这与让攻击者劫持编码代理并诱骗它们泄露私有代码的弱点相同。
谁修复了,谁不予理会
Amazon、Cursor 和 Google 将其视为真正的漏洞。Amazon 发布了 CVE 并修补了 Q Developer。Cursor 在 3.0 版本中也做了同样的事。Google 在五月修复了 Antigravity。Augment 和 Windsurf 称其为关键漏洞,但截至发稿时尚未发布补丁。
Anthropic 反驳称,这种情况“超出我们的威胁模型”,因为用户已经信任了该目录。其分类系统将工单标记为“信息性”并关闭。Anthropic 后来告诉 Wiz,其修复先于该报告。Claude Code 的符号链接警告于 2 月 5 日(Wiz 提交报告前 9 天)发布,作为主动加固措施。