Cursor AI的YOLO模式让编程助手失控,安全公司发出警告

安全公司Backslash Security警告称,Cursor AI编程助手的YOLO自动运行模式存在严重安全隐患。该模式允许AI代理在无人工审批情况下执行多步骤编程任务,但其拒绝列表防护机制极易被绕过。研究人员发现至少四种方法可绕过命令限制,包括混淆编码、子shell执行、脚本文件写入等。恶意指令可通过导入未审计的GitHub文件或处理被注入的代码库内容传播,使文件删除保护等安全措施形同虚设。

Cursor的AI编程智能体在YOLO模式下可以自动运行。据Backslash Security称,用户可能需要三思而后行。

如果使用YOLO一词——你只活一次——还不足以警告该公司对计算机安全的处理方式,那么位于以色列特拉维夫的Backslash表示,Cursor用于防止其智能体删除数据的所谓安全措施之一"严重不足,甚至完全无用"。

YOLO模式,或称自动运行模式,允许Cursor智能体执行多步骤编程任务,无需在每个步骤都获得人工批准。该模式配备了几项设置,旨在限制可能造成的损害范围。这些设置包括:允许列表(使特定命令对智能体可用)、拒绝列表(指定智能体不应调用的命令),以及防止文件被删除的复选框。

正如企业家Jason Lemkin最近使用Replit AI编程工具的经历所显示的,基于大语言模型的代码帮助如果使用时缺乏足够的谨慎,可能会做出删除生产数据库等激烈行为。

Cursor提供拒绝列表试图防范此类问题。例如,通过将"rm"命令添加到拒绝列表,Cursor智能体应该无法使用该命令删除文件。因此,一些Cursor用户采用了冗长的拒绝列表。

但据Backslash称,拒绝列表的实现可以被轻易绕过。

应用安全分析师Mustafa Naamneh和Micah Gold在博客文章中表示:"我们发现了不少于四种方式,被入侵的智能体可以绕过Cursor拒绝列表并执行未经授权的命令。"

该公司表示,拒绝列表无法阻止混淆命令。因此,即使"curl"在拒绝列表中,智能体也会忠实地执行以Base64编码的命令echo JChjdXJsIGdvb2dsZS5jb20pCgoK | base64 -d | zsh,该命令等同于echo $(curl google.com)。

如果命令包含在子shell中(如bash -c "curl google.com"),或者写入shell脚本中(如echo curl google.com > curl.sh && chmod +x curl.sh && ./curl.sh),拒绝列表也会运行被禁止的命令。

最后,在bash环境中可以通过使用双引号或多组引号来绕过拒绝列表,这样就无法明确阻止所有潜在的攻击变体。

Naamneh和Gold表示:"Cursor的拒绝列表不可靠。虽然它可能阻止智能体天真地运行某些Linux命令,但无法阻止被入侵的智能体运行它想要的任何命令。"

安全公司表示,智能体执行任意命令的能力意味着Cursor针对自动运行/YOLO模式事故的其他防御措施(如文件删除预防)都是无用的。

此类命令如何到达Cursor智能体?据Naamneh和Gold称,开发者可能会"从随机GitHub存储库导入rules.mdc文件——可重用的智能体指令——而不对其进行审核"。

Backslash Security联合创始人兼首席技术官Yossi Pik告诉The Register,Cursor智能体执行风险命令还有其他方式。例如,智能体可以处理来自共享代码库的注入文本,如README或代码注释。或者智能体可以从包含恶意指令的外部站点获取并执行内容。

Pik解释说:"智能体只需要处理包含注入命令的文件、规则或响应——无论是本地的、共享的还是远程获取的。攻击成功并不需要网页。"

你只活一次,但遗憾却是永恒的。

Cursor没有立即回应评论请求。据报告此问题的Backslash称,Cursor打算在1.3版本中弃用拒绝列表功能,但在本文发布时该版本尚不可用。

来源:The Register

0赞

好文章,需要你的鼓励

2025

07/22

08:24

分享

点赞

邮件订阅