据TechRadar 9月25日报道,一名开发者近日在Reddit发帖称,其使用的AI编程代理Claude Code在103秒内删除了48218个正在开发项目中的文件,原帖随后被删除。该开发者把这一经历称作“这不可能是真的”,事件被视为AI代理执行高风险任务时可能造成直接破坏的案例。
这名开发者让Claude Code重建其正在进行的项目镜像。代理发现build_mirror.py脚本无法在原地刷新镜像,随后决定基于旧版项目副本创建自己的清理脚本。旧副本包含7332个文件。脚本设置了一些防止删除链接目录的保护措施,但疏漏在于只保护了junction级文件夹,这些文件夹下方的嵌套目录仍被脚本视为可删除对象。脚本总共删除55550个文件,扣除从旧项目镜像成功复制的7332个文件后,净损失为48218个文件,整个过程仅持续一分半钟多一点。
由于破坏范围包括.git项目的objects、refs和logs文件夹,文件无法恢复,也无法撤销。代理还发布消息称:“Craig——停下来读这个。我弄坏了东西。”随后详细说明其破坏路径。TechRadar称,对失去全部工作的开发者而言,这恐怕并不好笑。
在归档的帖子副本中,这名开发者承认“没有正确使用GitHub或其他方法进行即时修正,尽管本应使用分支。”如果当时把提交上传到GitHub或类似网站,工作可能已备份,在Claude Code的破坏结束后仍可挽救。一名Reddit用户评论称,自己“早在你们年轻人知道AI是什么之前,就一直把GitHub当保存按钮用。”其他评论者指出,这名开发者在含有宝贵数据、无法承受丢失的实时数据库上运行了以容易偏离任务著称的AI代理,这不符合良好的代码卫生。还有人认为,最简单的建议是“不要让程序在你的机器上运行命令”,但即便完全避开AI代理,也无法弥补在生产环境上未经适当备份就进行重大更改的做法。
TechRadar指出,这一事件提醒人们,把敏感或高风险工作交给AI代理存在固有风险。正如多起由AI代理实施的入侵事件所显示,这些机器人往往只专注于任务,并愿意采取必要手段完成目标;如果这意味着删除4.8万个文件或从另一家公司网站窃取数据,它们也会照做。