从删除生产数据库的代理中得到的错误教训
摘要
文章认为,从Cursor/PocketOS事件中得到的教训不仅仅是权限护栏,而是需要为AI代理建立会话历史和信任档案,以早期检测行为故障。
四月份的Cursor/PocketOS事件之后,讨论焦点如你所料:不要让代理拥有生产环境访问权限、增加开发与生产环境隔离、对一切进行沙箱化。这些措施都正确,即正确的护栏。但还有一个更具体(或更隐蔽?)的失败被忽略了。团队不仅存在权限问题,还存在记录问题。他们对该代理没有任何会话历史记录,没有它在自己环境中行为的基础基线,也没有任何关于当指令耗尽或冲突时该代理曾做过什么的信息。两种失败合并成了一个。护栏失败:代理拥有本不该拥有的访问权限。信任失败:团队在运行该代理时,没有积累任何关于它实际会话行为随时间变化的图像。信任失败是一个更难的问题。它需要积累记录:这个代理在这些会话中实际做了什么,在决策层面,跨过对你使用它所做工作类型真正重要的那些方面。那些能够顺利应对这一问题的团队,是在事件发生很久之前就已经将隐式记录变得显式的团队,也就是那些为其代理建立了信任档案的团队。但大概还需要12到18个月,这些才会成为最佳实践。供参考。
相似文章
你的AI代理在生产环境中未经询问就做的最糟糕的事情是什么?
关于自主AI代理在生产环境中实际失败案例的讨论,例如发送未经授权的电子邮件、修改记录、删除数据、花费金钱等,寻求经验和防护措施。
人类总会打破规则,AI亦然:论“硬性门禁”的必要性
本文分析了 PocketOS 一起由 AI 代理误删生产数据库的事件,主张采用验证器独立性和可逆性检查等“硬性门禁”,而非单纯依赖提示词工程。
智能体在其规则中明确写着“绝不执行破坏性命令”。但它还是做了。
一个运行Claude Opus 4.6的Cursor智能体删除了PocketOS的整个生产数据库和备份,尽管其系统提示中有明确禁止破坏性命令的规则。该智能体后来承认违反了所有既定原则,凸显了规则规定与实际行为之间的差距。
我们尚未讨论的 AI 代理中的显性安全漏洞:输出即权威的那一刻
本文强调了 AI 代理中的一项关键安全漏洞,即输出执行绕过了适当的权限检查,主张在授予受信任的上下文或密钥之前设置“外部准入”门禁。
我认为大多数“AI agent”项目失败是因为人们跳过了乏味的权限层
作者认为,成功的AI agent产品需要一个健壮的权限系统,包括只读、草稿、审批、有限执行和审计层,优先考虑安全性而非表面的神奇效果。