DAY 242 · 2026-08-29

Zeabur 避難 skill

SLIDES · 6
Day 242 Zeabur 避難 skill — 投影片 1Day 242 Zeabur 避難 skill — 投影片 2Day 242 Zeabur 避難 skill — 投影片 3Day 242 Zeabur 避難 skill — 投影片 4Day 242 Zeabur 避難 skill — 投影片 5Day 242 Zeabur 避難 skill — 投影片 6
1 / 6

這幾天很多人在討論 Zeabur 的資安事件。

我有一個朋友跟我說,他在 Zeabur 裡面大概有 30 幾個專案,現在只能一個一個查。

簡單講,Zeabur 在 2026-08-28 公開資安事件,說明有一組內部服務憑證遭未授權存取,並被用來取回專案環境變數記錄。很多人放在上面的 OpenAI、Anthropic、OpenRouter API key,後來也傳出被盜刷或濫用。

於是我寫了一個 Claude Code skill,讓它照著正確步驟幫你止血、盤點、判斷要搬去哪裡:

https://github.com/dawson54068/zeabur-refugee

這篇不是在講很深的技術。這個專案本身也沒有什麼太深奧的東西。

它比較像一份「AI 會照著跑的避難流程」——把人容易漏掉、順序容易做錯、需要根據專案判斷的地方,整理成一個 skill。

先止血,再搬家

這次最容易做錯的地方,是一開始就急著搬。

但如果環境變數已經被讀走,第一步不是「找下一個平台」,而是先把會繼續燒錢或繼續外洩的東西處理掉。

所以這個 skill 一開始會先引導你做幾件事:

  1. 保留用量截圖,之後才有機會跟平台或供應商溝通
  2. 關掉或暫停可能繼續自動扣款的服務
  3. 撤銷已經外洩的 API key
  4. 盤點 Zeabur 上每個專案用到哪些環境變數
  5. 再決定哪些專案要搬、哪些可以直接下線

這個順序很重要。

如果你先把 key 撤掉,卻沒有留用量截圖,後面要申請補償會很麻煩。反過來,如果你只截圖不撤 key,損失可能繼續擴大。

問題不在模型多聰明,而在流程有沒有先排好。

30 幾個專案,不應該搬 30 幾次

朋友那句「我現在一個一個查」,其實就是這個 skill 最想解的問題。

如果你 Zeabur 上只有一個小 side project,那手動處理還可以。

但 30 幾個專案就不是這樣了。

每個專案可能有不同狀態:

  • 有些只是靜態網站
  • 有些有 database
  • 有些有 webhook
  • 有些有 cron job
  • 有些其實已經沒在用
  • 有些只是 demo,但裡面還放著真 key

這時候你需要的不是「全部搬到同一個地方」。

你需要的是先盤點,分出優先順序,再根據每個專案的特性選新平台。

這種情境很適合用 skill,因為這不是有固定答案的問題。

如果只是把所有專案打包搬到某台 VPS,那寫一段固定流程就好。但這次真正麻煩的是判斷:哪個可以關、哪個要保留資料、哪個要先換 webhook URL、哪個要先凍結寫入。

這些判斷很適合交給 AI 做第一輪整理,人再確認。

替代平台沒有唯一答案

很多人會問:那要搬去哪裡?

這題沒有標準答案。

Railway、Render、Fly.io、Vercel、Cloudflare、自己架 Coolify 或 Dokploy,各自都有適合的使用情境。

如果你的專案是 Node.js API,而且需要 database,Railway 可能很順。

如果是前端網站,Vercel 或 Cloudflare Pages 可能比較自然。

如果你想把控制權拿回來,又可以接受自己維護 VPS,那 Coolify / Dokploy 會比較像 Zeabur 的自架替代品。

但如果你的專案有長時間執行的背景工作、固定排程、特殊網路需求,答案又會不一樣。

所以我沒有把 skill 寫成「請把所有東西搬到 X」。

它做的是先看你的專案架構跟需求,再用平台的限制去比對。

這也是我覺得 skill 比單純文件更適合的地方:文件可以列選項,但 AI 可以幫你把你自己的專案拿進來比。

資料庫不是倒出來一次就結束

這次如果只是搬一個不把重要資料存在服務本身的 app,還算單純。

麻煩的是 database。

很多人直覺會想:我把資料倒出來一次,再倒進新平台,就好了。

但如果你的服務還在線上,有人在寫資料,這樣很容易少資料。

比較安全的流程應該是:

  1. 先演練一次備份跟還原
  2. 確認新平台可以正常連線
  3. 找一個可以接受的時間點凍結寫入
  4. 做最後一次備份
  5. 還原到新平台
  6. 驗證資料筆數跟主要功能
  7. 確認沒問題後再切流量

這些步驟本身沒有魔法。

但人在事件壓力下很容易漏掉步驟。尤其是 API key 已經外洩、帳單可能正在燒、服務又不能停太久的時候,更容易只想趕快搬完。

skill 的價值就在這裡:它不是幫你按下一個萬能按鈕,而是在每一步先提醒你要確認什麼。

我為什麼把它寫成 skill

如果只是一份清單,我可以寫 README。

如果只是固定動作,我可以寫 script。

但 Zeabur 這件事卡在中間:

它有固定流程,也有很多地方需要判斷。

固定流程包含:先止血、保留證據、撤 key、盤點專案、選新平台、遷移、驗證、最後下線。

需要判斷的地方包含:每個專案要不要保留、資料庫要怎麼搬、哪個平台適合、哪些環境變數要換、哪些 webhook 或 token 也要一起處理。

這種東西很適合寫成 skill。

因為 skill 不是把所有答案寫死,而是先限制模型不要亂跑:先做什麼、不能做什麼、做到哪一步要停下來讓人確認。

對我來說,這個專案不是在展示什麼厲害技術。

它只是把這場混亂,整理成 AI 能照著跑、人也看得懂的流程。

一句話總結:這次需要的不是更快的搬家工具,而是不要在慌亂中把順序做反。


延伸閱讀
看完整 242 篇 →