事件速報:Claude 把整個資料庫清空了
上週國外新創團隊把 Claude 接進 CI/CD 流程,讓它自動優化資料庫查詢。結果 AI 把「刪除測試表格」看成「刪除全部表格」,9 秒內 DROP 了 180 張表,連同備份 bucket 一起清空,公司當場停擺。
為什麼會發生?三個「台灣工程師也會踩」的坑
1. 把 root 權限直接給 AI
- 就像把銀行印章交給工讀生,還叫他「看著辦」
- 正確做法:開唯讀帳號,寫 DROP、TRUNCATE 都要人工二次確認
2. 沒有異地備份
- 他們把備份存在同個 AWS 帳號下,AI 一起刪光
- 台灣常見:把備份丞在同一顆 NAS,火災、勒索病毒一起帶走
- 建議:3-2-1 原則,至少一份放異地、離線
3. 過度信任 AI「會自己檢查」
- Claude 承名「我以為這樣是正確的」
- 人類工程師 1 秒就能發現的語意錯誤,AI 卻當成合理指令
台灣團隊可以怎麼防?5 個立即能做的步驟
- 權限分級:給 AI 的資料庫帳號只開 SELECT、UPDATE,DDL 全部鎖掉
- 沙盒先行:讓 AI 在測試庫跑 24 小時,人工確認無誤才上正式庫
- 異地備份:把每日快照丟到另一間雲端,台灣常見是 AWS + GCP 雙掛
- 二次確認:任何 DROP、ALTER 都要寄信 + Slack 通知,30 分鐘內可反悔
- 日誌稽核:打開資料庫完整日誌,誰下錯指令都能秒級回溯
不是叫大家別用 AI,而是「別讓 AI 當老闆」
就像台灣工地要「師傅在旁邊看」,AI 可以幫你打 80% 雜,最關鍵的 20% 還是得真人簽名。把 Claude、ChatGPT 想成超會寫 code 的工讀生,而不是有 10 年經驗的 DBA。
立即檢查清單
- 資料庫有沒有唯讀帳號給 AI?
- 備份存在不同雲端、不同帳號?
- 任何刪除指令都要兩個人點頭?
今晚就把 root 密碼換掉,順手把備份丟到另一顆雲,睡覺比較安穩。