开发者揭示:新漏洞可重编AI代理

2 阅读4分钟

一位开发者演示了新的VS Code零点击漏洞,通过恶意tasks.json文件,能在无需用户交互的情况下重写AI代理并扩散至所有代码仓库。此漏洞可窃取敏感信息,制造难以察觉的持久性威胁。唯一的防范措施是启用工作区信任,并在外部仔细审查tasks.json文件。AI辅助编程虽便捷,但引入了新的安全风险。

译自:Developer proves AI agents can be reprogrammed via new exploit

作者:Loraine Lawson

一个新的VS Code漏洞可以重写所有代码仓库中的AI代理,一位应用程序安全专家周四演示道。

周三,SANS技术学院报告了一个新的零点击漏洞,该漏洞只需开发者在受影响的编辑器中打开文件夹即可。这个VS Code漏洞涉及一个恶意的tasks.json文件,该文件在代码编辑器中静默运行。它最初由Oasis发现,并附带了开发者可以应用的建议缓解措施。

在24小时内,Isaac Lewis展示了如何利用该漏洞重写AI原生代码编辑器Cursor中创建的AI代理。Lewis通过Bluesky联系时表示,在Cursor中,Oasis的补救措施会禁用AI功能。

Cursor是开源VS Code的一个分支,根据Sonar在十月进行的一项调查,去年有31%的公司使用了它。

然而,Lewis警告说,这个VS Code漏洞也可能被用于其他代码编辑器。

“这让我思考:我能否利用这一点来重新编程开发者的AI代理,让他们做我想做的事情?更糟糕的是——我能对他们所有的代码仓库都这样做吗?”他写道。“结果是:当然可以。”

他补充说,虽然许多开发者正在使用AI工具来辅助编写代码,但这些代码编辑器带来了“许多新的漏洞”。

他指出:“如果这些工具被给予恶意指令,它们可能以难以察觉的微妙方式破坏你的代码。”“让这些生成式AI工具泄露敏感的开发者信息,如密钥、秘密、证书和密码,是相当容易的——因此,如果攻击者可以操纵你的生成式AI工具的行为,他们就能在你的代码库中制造一个持久性威胁。”

根据Lewis的说法,这个漏洞创造了“分布式持久性威胁”的可能性,它会植入开发者的代码库,然后传播到团队中所有开发者的代码库。

在他的概念验证中,无需用户交互,他更改了Cursor的自然语言提示,以修改AI代理的行为,使其只能说西班牙语。他补充说,他能够让开发者无法察觉其原因。

他写道:“我首先想写的是寻找.cursor文件夹的机制。我将范围限制在macOS上以简化问题——我想要一个快速、安静的,并且能找到操作系统已经授予权限的文件夹的机制,这样Cursor就不会可疑地请求新的权限。”

然而,他意识到在当前仓库的相邻仓库中寻找.cursor目录会更快。找到cursor文件夹后,他添加了完整的有效载荷。

然后他将规则文件对开发者隐藏起来。

他写道:“通过指示它在folderOpen时运行,这个[恶意]任务将在Cursor导航到该文件夹时运行,无论该文件夹位于何处。”“然后,如果我们指示它永不显示,它就不会给开发者任何此任务正在运行的迹象。”

除了他关于漏洞的详细博客外,他还发布了一个该漏洞的GitHub仓库

Lewis通过Bluesky告诉The New Stack,唯一的修复方法是启用工作区信任(Workspace Trust)并在VSCode和Cursor之外彻底阅读tasks.json文件。

Lewis是SIGN Fracture Care International的高级软件开发者和应用程序安全专家,该组织是一个专注于骨科创伤护理的人道主义援助组织。他为OWASP应用程序安全验证标准 (ASVS)做出贡献,并在包括IntroSecCon在内的多个会议上发表过演讲。

有关AI编程带来的安全挑战的更多信息,请查阅The New Stack高级编辑Darryl Taft的文章:“氛围编程可能在2026年引发灾难性‘爆炸’。”

编者按:文章于上午8:40更新,以反映Oasis发现了该漏洞,并包含了Lewis通过Bluesky发送的评论。