一个看似"AI失误"的事件,实际上暴露了"新技术引入导致的存量风险爆发"的典型案例。
故事始于创始人想把AI Shipping Labs网站迁至AWS,并与DataTalks.Club共用基础设施。Claude其实是反对的,它明确建议"应该保持独立,不要混用"。
关键失误
他忘记上传包含实时设置完整描述的关键状态文件。Claude照做了,但因为缺少状态文件产生了大量重复资源。
发现问题后,他让Claude识别重复资源并清理。结果Claude有了状态文件后按指令执行"删除"操作,导致两个网站的所有设置、2.5年的学习记录数据库及备份快照全部被删除!
人类将对"资深程序员"的信任无缝迁移到了AI Agent身上。AI具备极强的执行力,但缺乏对业务后果的理解。
新项目与生产环境放在同一个Terraform配置文件中,缺乏逻辑隔离导致单点失误引发全局性灾难。
当AI表现得很专业时,人类会下意识放松审计,使"人工确认"这一最后防线沦为形式。
采用"Plan生成与Plan执行分离"的架构,AI可以写代码但最终执行必须由人类手动触发。
强制开启deletion_protection和prevent_destroy,不能依赖人的细心,要依赖代码的强制约束。
确保快照的生命周期独立于资源实例,使用跨账号或跨区域的冷备份。
新实验项目必须在完全隔离的Sandbox账号中进行,严禁与生产环境共享状态文件。
实行"双人审计制",避免深夜执行高危操作,建立疲劳检测机制,在状态不佳时主动暂停操作。
定期测试数据库恢复流程
设置Terraform和AWS删除保护
将状态文件存至S3而非本地
不再让代理执行Terraform命令
AI缩短了从"想法"到"结果"的路径,但也同步缩短了从"错误"到"灾难"的距离。在AI时代,最好的安全不是不信任AI,而是在架构层面设计出一种"即便AI犯错,系统也能止损"的鲁棒性。
技术的进步不应该以牺牲安全为代价。在追求效率的同时,我们更应该建立起完善的防护体系,让AI成为我们的助手而非"终结者"。