關於 2026/05/07 LiteLLM VerificationToken 資料表誤刪事件
■ 事故說明
今日進行資料庫維護時,LiteLLM_VerificationToken 資料表內 198 筆 API 金鑰記錄因操作失誤遭刪除。
■ 根因
VerificationToken 表的 token 欄位儲存的是 SHA256 哈希值而非原始金鑰字串。直接以 CSV 中的 literal key(例:sk-wr9...G73A)嘗試 INSERT 會造成 DB 查詢時無法 match,認證失敗。需先將 CSV key 以 hashlib.sha256(key.encode()).hexdigest() 轉換後再寫入。
■ 復原過程
1. 從 /home/mosi/keybackup.csv 解析出 198 筆金鑰備份(格式:key,user,alias,expires)
2. 對每個 literal key 計算 SHA256 hash
3. 生成 SQL:INSERT INTO LiteLLM_VerificationToken (token, key_alias, user_id, models, ...) VALUES (hash, ...)
4. 執行後驗證:164 筆未過期 keys 全部 /v1/models 認證成功,34 筆已過期 keys 正確回傳 400 Expired Key
■ 受影響金鑰
共 201 筆已還原(原 198 筆備份還原 + 3 筆額外補入),原金鑰不變,所有功能正常。
■ 後續措施
已建立還原 SOP,未來維護前將先確認 WHERE 條件再執行 DELETE。