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版本中弃用拒绝列表功能,但在本文发布时该版本尚不可用。
好文章,需要你的鼓励
苏州大学研究团队提出"语境降噪训练"新方法,通过"综合梯度分数"识别长文本中的关键信息,在训练时强化重要内容、抑制干扰噪音。该技术让80亿参数的开源模型在长文本任务上达到GPT-4o水平,训练效率比传统方法高出40多倍。研究解决了AI处理长文档时容易被无关信息干扰的核心问题,为文档分析、法律研究等应用提供重要突破。
在Cloudera的“价值观”中,企业智能化的根基可以被概括为两个字:“源”与“治”——让数据有源,智能可治。
清华大学团队首次揭示了困扰AI训练领域超过两年的"幽灵故障"根本原因:Flash Attention在BF16精度下训练时会因数字舍入偏差与低秩矩阵结构的交互作用导致训练崩溃。研究团队通过深入分析发现问题源于注意力权重为1时的系统性舍入误差累积,并提出了动态最大值调整的解决方案,成功稳定了训练过程。这项研究不仅解决了实际工程问题,更为分析类似数值稳定性挑战提供了重要方法论。