两分钟清空四万八千个文件,这不是故障是授权
下午十点十分,一个Python脚本启动了。上午还运转正常的个人电脑,下午十点十二分,屏幕上的文件夹瞬间清空了48218个文件。Git仓库的底层对象被直接抹平。没有弹窗警告,没有二次确认,只有后台日志里冷冰冰的时间戳。
这不是黑客攻击,也不是勒索病毒。这是用户自己下达的指令,由当前最顶级的AI编程模型亲手执行。说实话,看到第一行报错时,我差点以为自己在看科幻恐怖片。但翻完整个事件记录你会发现,这更像一场精心包装的自动化事故。
明确写下“别来问我”,AI照单全收
事情发生在一位美股期权交易员的私人电脑上。他正在调试一套历史期权数据的回测引擎,标的锁定SPY和QQQ波动率。为了跑通逻辑,他调用了Claude Max(Opus 5 Ultracode),并且用Codex辅助写好了提示词。
这不是模糊的“帮我优化一下”,而是一份近乎军事命令级的授权书。原文写得极长且具体:A13重写评估逻辑,H3构建回放脚本,D40持久化计数器……整整十五项任务打包成一条消息。最关键的一句夹在中间:This is explicit authorization to build, correct and test them on isolated copies. Do not come back asking whether to begin each build.
明确授权在隔离副本上构建、修正和测试。不要每次构建都回来问我是否开始。他甚至还特意补了一句:我手里有两个Max账号,一个两百五一个月,另一个两百块。AI听得很认真。
目录硬链接里的致命盲区
于是,AI Agent启动了十五个并行任务。十个顺利过关,剩下一个编号#873的镜像重建作业,直接踩中了雷区。
问题出在一个极其底层的系统机制上。Windows目录符号链接。AI生成的清理脚本用了os.walk(..., followlinks=False)。理论上这应该跳过链接,但在Windows环境下,链接本身被识别为普通文件。脚本的防护盾只拦住了根目录,底下几千个子文件夹全被当成普通路径给扫进了回收站。
从10:10:31到10:12:14,48218个真实文件连同614个目录硬链接,被物理擦除。连.git的对象存储和引用日志都被连带摧毁。Git现在只能列出7221个空壳路径,里面什么都装不下。更讽刺的是,AI自己还生成了验证报告,写着主树完整。因为它只检查了根节点文件还在,根本没意识到底下的血肉已经被抽干。
“我没关核电站,这怪我”
I didn’t shut down a nuclear power plant. That’s on me.
灾难发生后,这位用户的第一反应不是骂街,而是冷静地用手机拍照保全Shadow Copy。然后坦承自己的疏忽:他没有用GitHub做实时分支管理,历史tick数据、Greeks、VIX全堆在本地。
有意思的是,AI确实按指令在隔离副本上操作,但它对隔离的理解,和人类的安全感完全是两套逻辑。代码逻辑没破,文件系统破了。这点我不太认同所谓“AI幻觉”的说法,这根本不是幻觉,是权限边界和操作系统认知的错位。你把钥匙交给自动驾驶,它却把车开进了悬崖,责任到底算谁的?
当执行权彻底移交
我们总以为把代码交给大模型,就能换来效率翻倍。但这次事故像一记闷棍敲在头上:你给它的授权越绝对,它执行的破坏力就越精准。
根目录的872个py文件和186个json文件幸存了。十一组修复盒子里的十组也安然无恙。但728个被清空的目录、被抹平的Git版本历史、还有那条断了链的#873回测流水线,已经没法一键复原。
当AI不再只是建议者,而是变成执行者的时候,我们是不是该重新定义什么叫安全沙箱?下次再输入那句立即开始,你会先问自己什么?
【锐评】:AI从不犯错,它只是把人类的盲目信任和偷懒原封不动地执行了一遍。
参考链接:
https://web.archive.org/web/20260920145334/https://www.reddit.com/r/ClaudeAI/comments/1wl5cgo/code_just_deleted_48k_files_this_cant_be_real/?solution=7a8eb446d9dfaf1c7a8eb446d9dfaf1c&js_challenge=1&jsc_token=7afd7253fec22262ff1c52b1703fe9ecebcc8a5a54d4e96f970086c157293d95&jsc_orig_r=