# Zeabur 2026 年八月資安事件

> 資安事件調查進度、已確認的影響、應變措施與後續改善。

**本文所有事件日期與時間均以世界協調時間（UTC）表示。**

2026 年 8 月 27 日，Zeabur 發生一起資安事件：攻擊者未經授權使用部分帳號的 Zeabur Legacy API Key，並透過內部管理服務取得雲端存取權限，進一步存取共享叢集與正式環境資料庫。團隊確認，部分帳號資訊及專案環境變數遭到讀取，其中包含第三方 API 金鑰、資料庫密碼及其他服務憑證。

這次事件反映出 Zeabur 在內部憑證的保存與權限劃分、共享叢集的網路隔離，以及異常存取的監控與告警等面向上的不足；針對本次事件所造成的影響，Zeabur 團隊謹向所有受到影響的使用者致上最誠摯的歉意。

<div id="confirmed-impact-scope" />

## 已確認的影響範圍

我們依據平台請求紀錄、正式環境資料庫查詢紀錄，以及 AI Hub 存取金鑰、使用與計費紀錄，交叉比對遭查詢或讀取的帳號、專案及服務，並據此界定目前已確認的影響範圍。

### 專案環境變數

經調查確認，部分專案環境變數的名稱和值遭到未經授權讀取，其中包含 AI 服務及其他第三方 API 金鑰、雲端存取憑證、資料庫連線資訊與密碼、應用程式簽章金鑰，以及其他專案設定；我們依據正式環境資料庫的查詢紀錄，逐一比對遭讀取的專案與服務，並以此界定本項影響範圍。

Zeabur 已完成[平台內部憑證的處理](#internal-credential-response)，另於 8 月 28 日 08:53 寄出第一封緊急通知，並於同日 17:03 補發第二封通知，通知受到影響的使用者[更換相關第三方憑證](#third-party-credential-response)。

### 帳號與 AI Hub

平台請求紀錄顯示，攻擊者曾使用取得的 Zeabur Legacy API Key 查詢部分帳號及 AI Hub 資訊，並建立 AI Hub 存取金鑰；經比對 AI Hub 的使用與計費紀錄，這批攻擊者建立的金鑰未曾用於呼叫 AI Hub，亦未產生 AI Hub 費用，均已[由團隊排查後撤銷](#ai-hub-response)。

## 事件經過

目前確認的事件路徑跨越四個系統邊界：攻擊者先透過公開服務的遠端程式碼執行漏洞（Remote Code Execution, RCE）進入共享叢集內網，接著取得快取中的高權限 Zeabur Legacy API Key，並以該金鑰讀取內部管理服務的環境變數。其中的 AWS root 金鑰讓攻擊者取得雲端基礎設施的最高權限；共享叢集原有的私有網路連線和資料庫憑證，則讓攻擊者得以存取正式環境資料庫。

<EscalationLadder
  title="事件路徑"
  description="虛線代表系統間原有的邊界；各箭頭標示攻擊者在該階段取得的權限。"
  entry={{
    title: '公網上的攻擊者',
    detail: '起點為一項對外開放的使用者服務',
  }}
  crossings={[
    {
      boundary: '邊界一　應用程式',
      reason: 'NextChat v2.16.1 的 CVE-2026-7644，MCP 功能授權檢查不足',
      zone: '共享叢集 user namespace',
      gained: '容器內的程式執行權',
    },
    {
      boundary: '邊界二　共享叢集的內網',
      reason: '共享叢集支援跨專案內網連線，相關活動經由內網存取路由快取',
      zone: 'Zeabur 平台',
      gained: '團隊管理員的 Legacy API Key',
    },
    {
      boundary: '邊界三　平台帳號與雲端帳號',
      reason: '內部管理服務的設定中包含長期使用的 AWS root 金鑰',
      zone: 'AWS 帳號',
      gained: 'AWS root 權限與東京共享叢集的控制權',
    },
    {
      boundary: '邊界四　共享叢集與核心正式環境',
      reason: '既有維運任務具備連線至正式環境的私有網路和資料庫憑證',
      zone: '核心正式環境',
      gained: '核心正式資料庫的讀取權',
    },
  ]}
  caption="圖 1：目前確認的事件路徑，以及攻擊者在每個階段取得的權限"
/>

這條路徑涉及兩項在事故前便已進入淘汰階段的舊產品機制：共享叢集（Shared Cluster）及 Zeabur Legacy API Key。我們已在 2026 年 2 月[公告共享叢集退場計畫](/changelogs/phasing-out-shared-cluster)，並在 3 月停止建立新專案、4 月停止在既有專案中建立新服務；本次涉及的服務在退場公告發布前便已部署，事發時仍在運作。

### 第一階段：透過公開服務進入共享叢集內網

調查確認，攻擊者最先利用的是使用者先前部署於共享叢集、事發時仍在運作的 [NextChat](https://github.com/ChatGPTNextWeb/NextChat) v2.16.1 服務；該服務的執行紀錄（runtime log）留下了明確的漏洞利用痕跡，指向與 MCP 功能授權檢查有關的 [CVE-2026-7644](https://nvd.nist.gov/vuln/detail/CVE-2026-7644)。取得該服務的程式執行權後，相關活動亦可透過共享叢集內網連線至該服務原本可存取的內部端點。

<NamespaceCrossing
  title="由使用者服務連線至平台路由快取"
  description="攻擊者進入共享叢集後，經由內網連線至保存路由資訊的快取"
  clusterLabel="東京共享叢集（hnd1）"
  left={{
    zone: 'user namespace',
    title: 'NextChat 服務 v2.16.1',
    detail: '遭 CVE-2026-7644 利用後，攻擊者在容器內取得程式執行能力',
  }}
  right={{
    zone: 'ingress namespace',
    title: '路由快取',
    detail: '用於保存 ingress 路由資訊，其中也存有 Zeabur Legacy API Key',
  }}
  crossing={{
    label: '經由共享叢集內網連線',
    note: '當時的存取控制未能阻止這次連線',
  }}
  outbound={{
    label: '以取得的管理員金鑰呼叫',
    zone: '平台控制面',
    title: 'Zeabur API',
    detail: '請求紀錄顯示該身分被用來查詢帳號、AI Hub、專案與服務設定',
  }}
  caption="圖 2：攻擊者從 NextChat 進入共享叢集後，經由內網取得路由快取中的 Legacy API Key"
/>

這份快取原用於保存網域與服務的對應關係，其中同時存有 Zeabur Legacy API Key；攻擊者讀取快取後，存取範圍便不再只限於 NextChat。

我們比對攻擊者使用的帳號、資源清單和平台請求紀錄，確認這些 Zeabur Legacy API Key 來自該快取；攻擊者接著批次測試其中的金鑰，篩選出少數仍有效且權限較高的金鑰，其中一組屬於團隊管理員。

Legacy API Key 是 Zeabur 早期提供給 CLI 與自動化腳本使用的驗證方式；該機制不支援 scope，無法依操作與資源限制權限，也沒有明確的有效期限，為本次事件影響範圍擴大的其中一項原因。

所有 Zeabur Legacy API Key 均已停用；現行 Access Token 支援 scope，可依用途限制權限，也設有有效期限並保留稽核紀錄，團隊亦已於事件發生後[補強 API 的授權檢查](#api-authorization-response)。

### 第二階段：從 Zeabur 管理權限進入 AWS 帳號

攻擊者利用這組管理員的 Zeabur Legacy API Key 列舉內部專案，並讀取內部管理服務的環境變數；其中包含多組 AWS 存取金鑰，包括一組長期保留的 AWS root 使用者金鑰。雲端稽核紀錄顯示，這些設定遭讀取後，該來源隨即測試並使用相關金鑰。內部專案當時保存的金鑰具備超出日常運作所需的雲端權限，我們因此界定事件範圍延伸到 AWS 帳號。

### 第三階段：從 AWS 與共享叢集進入正式環境

取得 AWS root 權限後，攻擊者開始列舉雲端資源，接著進入東京共享叢集；雲端稽核與叢集紀錄顯示，叢集內出現異常的一次性工作及高權限變更，其中一個服務帳號被授予叢集管理員權限。至此，攻擊者取得該共享叢集的最高控制權。

Zeabur 的核心系統部署於另一間雲端供應商，正式環境資料庫無公開網路入口，僅能透過私有網路連線；然而，共享叢集中的一項既有定時維運任務具備這項連線能力。

這項定時任務用於清理共享叢集中的服務，因此需要連線至核心系統；該任務持有的資料庫憑證可讀取超出實際需要的內容，並可透過私有網路連回核心系統。攻擊者在控制東京共享叢集後，同時取得這組網路連線和資料庫權限。

<NetworkPivot
  title="共享叢集連回正式環境的路徑"
  description="正式環境資料庫沒有公開入口；共享叢集中的維運任務可透過私有網路連線"
  blocked={{
    title: '公網',
    label: '沒有公開入口，連線被擋',
  }}
  pivot={{
    zone: 'AWS · 東京共享叢集',
    title: '共享叢集服務清理定時任務',
    detail:
      '這項任務因業務需要，持有一組權限超出任務所需的核心資料庫憑證，也能透過私有網路連回核心系統；攻擊者控制叢集後兩者一併取得',
    label: '私有網路 · 受信任流量',
  }}
  target={{
    zone: '核心正式環境 · 另一雲端供應商',
    title: '正式環境資料庫',
    detail:
      '攻擊者以該服務身分讀取專案環境變數：07:54 出現首次確認的入侵紀錄，11:52 起出現大量讀取',
  }}
  caption="圖 3：共享叢集中的維運任務同時持有私有網路連線與資料庫憑證，攻擊者因此能存取正式環境資料庫"
/>

資料庫紀錄確認，攻擊者使用這個服務身分讀取正式環境中的專案環境變數。我們比對查詢紀錄後，沒有發現其他資料遭到讀取，並已[撤銷這組憑證](#production-access-response)、移除共享叢集連回核心系統的路徑。

## 我們的責任與攻擊擴大的根因

NextChat 的漏洞為本次事件的最初入口；作為允許使用者部署及執行應用程式的平台，我們有責任在工作負載遭入侵時，限制攻擊者能夠存取的網路、資料與權限。路由快取中保存的平台憑證、缺乏權限範圍與有效期限的 Legacy API Key、內部服務持有的過高雲端權限，以及維運任務同時具備的跨環境連線與過度授權的資料庫憑證，共同擴大了事件影響。共享叢集與 Legacy API Key 雖已進入退場階段，我們仍應確保它們在停止運作前具備足夠的隔離與存取限制。

## 應變與修復措施

針對[上述已確認的影響範圍](#confirmed-impact-scope)，團隊在發現異常後先切斷已確認的存取路徑，再逐一處理相關憑證與受影響的環境。

### 已完成

- <span id="internal-credential-response" />
  **平台內部憑證處置：**
  已停用或輪替所有內部管理金鑰、資料庫密碼與快取密碼，並全面停用 Zeabur Legacy
  API Key 驗證方式；所有舊金鑰均無法再用於存取 Zeabur。
- <span id="ai-hub-response" />
  **AI Hub 存取金鑰處置：** 經確認由攻擊者建立的 AI Hub 存取金鑰均已撤銷；AI Hub
  功能目前仍維持停用，後續處理方式將另行公告。
- <span id="api-authorization-response" />
  **API 授權與存取紀錄：** 已補強既有 API 的授權檢查，並在現行 Access Token
  加入存取紀錄功能；使用者可前往 [Access Token
  管理頁面](https://zeabur.com/account/api-keys)，查看每一把 Token
  發起請求的時間、來源及執行操作，以辨識不明使用並追查異常存取。
- <span id="production-access-response" />
  **正式環境存取路徑與資料庫憑證：**
  已切斷共享叢集原有的正式環境資料庫連線、撤銷對應的資料庫服務帳號，並移除已識別的異常叢集授權。
- **舊有內部服務與共享叢集：** 已停用涉及本次事件的舊有內部服務、分離路由資訊與使用者憑證、清除舊快取中的憑證，並完成共享叢集主機汰換。
- **稽核、監控與告警：** 已補齊叢集、網路、資料庫與快取的操作紀錄，新增高權限變更、雲端帳號異常使用與可疑資料庫查詢的告警，並啟用雲端執行階段安全監控。
- **紀錄保存與內部安全檢查：** 已延長監控、日誌與請求追蹤資料的保存期限、擴充儲存空間，並完成相關員工裝置與開發環境的安全自查。

### 持續進行

- **跨系統紀錄比對：** 持續比對雲端、叢集、資料庫與應用程式紀錄，確認是否仍有其他與事件有關的操作。
- **支援、補償與機關說明：** 持續處理受到影響的使用者提出的支援與補償申請，並向相關機關說明調查結果。
- <span id="third-party-credential-response" />
  **受影響使用者的第三方憑證更換：** 團隊已於 8 月 28 日 08:53
  寄出第一封緊急通知，並於同日 17:03
  補發第二封通知；尚未完成處置的使用者仍需撤銷信中列出的憑證、建立新的憑證、更新服務設定並重新部署相關服務，同時核對存取紀錄與費用。
- **預防性憑證更換：** 為降低後續風險，建議使用者更換所有曾存放於 Zeabur 環境變數且目前仍然有效的憑證，包括通知中未列出的項目。

<div id="product-and-security-improvements" />

## 產品與安全改善

事件發生後，團隊重新檢查 Zeabur 保存及存取機密資訊的方式，減少集中保存的資料，並將各項服務的權限限縮於工作所需範圍；此次升級的功能說明及操作方式，詳見[安全更新公告](/changelogs/security-update)。

### 已實施

#### 環境變數改存放於使用者的伺服器

新的環境變數保存方式會將設定直接留在使用者的專用伺服器，不再集中存放於 Zeabur 的資料庫。

新服務預設採用此方式；既有服務可從環境變數頁面遷移，完成後，對應的環境變數會從 Zeabur 的中央資料庫移除；這項功能目前只適用於專用伺服器，共享叢集上的服務不會自動切換。

此調整只改變保存方式，並不會使舊憑證失效，因此本次事件涉及的憑證仍需完成更換。

#### 移除 Zeabur 保存的 SSH 憑證

新購買的伺服器不再由 Zeabur 長期保存 SSH 密碼或私密金鑰；支援遷移的既有伺服器，亦可從設定中移除 Zeabur 保存的憑證，不會影響其他伺服器管理功能。使用者亦可在 Zeabur 控制台查看 SSH 登入紀錄，確認成功登入與登入嘗試的來源；防火牆則可限制哪些來源能連線至使用者的伺服器。

### 持續改善

#### 退場中系統的隔離與監控

團隊會持續維護退場中系統的隔離、監控與存取控制，直到既有工作負載完成遷移或停止運作。

#### 身分驗證、授權與稽核

目前 Zeabur Access Token 已支援 scope，可依用途限制權限；團隊亦持續補強既有 API 的 scope 與授權檢查，並調整登入權杖的有效期限、元件權限、資源授權與敏感操作紀錄。

調整存取控制期間，GitHub 相關功能、環境變數管理與電子郵件等服務曾受到影響，團隊正改善變更前的作業流程，以減少後續調整對服務的影響。

#### 事件偵測與使用者溝通

團隊於 8 月 28 日 02:34 收到 API 金鑰遭盜用的回報後，始確認這起事件；事後回查資料庫紀錄，最早的入侵紀錄出現在 8 月 27 日 07:54，當時的監控與告警並未辨識出這次未經授權的存取。

初期調查時，團隊因證據不完整而誤判影響範圍，於 8 月 28 日 08:53 寄出第一封緊急通知後，再於 17:03 補發第二封；對於初期通知未能完整涵蓋實際影響範圍所造成的不便，Zeabur 團隊謹此致歉，並將持續改善影響範圍的查核與通知流程，以便在確認事件後更即時提供準確的處置資訊。

## 重要時間軸

下表列出目前確認的時間點，皆以 UTC 時間為準；憑證第一次遭使用的時間，並不代表攻擊者在同一時間取得憑證並進行濫用行為。

| 時間（UTC）            | 事件與處置                                                                                              |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| 8 月 27 日 02:34:17    | 出現最早確認的異常 API 請求，開始探查平台介面與帳號相關功能。                                           |
| 8 月 27 日 02:36:09    | 這次異常活動第一次使用團隊管理員的 Zeabur Legacy API Key，查詢帳號及 AI Hub 資訊。                      |
| 8 月 27 日 02:37:57    | 第一次透過上述管理員帳號建立 AI Hub 存取金鑰。                                                          |
| 8 月 27 日 03:53:50    | 第一次讀取專案環境變數的名稱和值，請求使用了該管理員的 Zeabur Legacy API Key。                          |
| 8 月 27 日 05:26 起    | 使用管理員的 Zeabur Legacy API Key 列出內部專案與服務，繼續探查內部設定。                               |
| 8 月 27 日 05:39:28    | 讀取一項內部服務的環境變數，其中包含隨後遭使用的 AWS 存取金鑰。                                         |
| 8 月 27 日 05:40:15    | 同一來源開始使用相關 AWS 金鑰，向 AWS 發出身分確認請求。                                                |
| 8 月 27 日 05:42:36    | 讀取內部管理服務的設定，其中包含之後遭使用的高權限 AWS 金鑰。                                           |
| 8 月 27 日 05:45:57    | 同一來源開始使用 AWS root 金鑰，向 AWS 發出身分確認請求。                                               |
| 8 月 27 日 05:46:34    | 開始以該 root 身分列舉雲端資源，相關請求成功。                                                          |
| 8 月 27 日 06:08:56    | 東京共享叢集建立了目前確認最早的異常一次性工作。                                                        |
| 8 月 27 日 07:26:25    | 東京共享叢集出現高權限變更：一個服務帳號被授予叢集管理員權限。                                          |
| 8 月 27 日 07:54       | 資料庫出現目前確認最早的入侵紀錄。                                                                      |
| 8 月 27 日 11:52 起    | 正式環境資料庫出現專案環境變數遭大量讀取的紀錄。                                                        |
| 8 月 28 日 02:34       | 收到第一封回報，反映 API 金鑰遭到盜用。                                                                 |
| 8 月 28 日 08:53       | 寄出第一封緊急通知；當時因證據不夠完整，對影響範圍的判斷有誤。                                          |
| 8 月 28 日 17:03       | 寄出第二封通知。                                                                                        |
| 8 月 28 日             | 調查期間預防性暫停 AI Hub，目前仍維持停用。                                                             |
| 8 月 30–31 日          | 與 AWS 就事件進行溝通，持續強化安全措施並查核補償申請。                                                 |
| 8 月 31 日至 9 月 3 日 | 向相關機關提供調查說明，並擴大稽核與蒐證資料的保存範圍。                                                |
| 9 月 4–5 日            | 公布階段性處置結果：切斷已確認的事件路徑、完成內部憑證輪替，並持續加強監控。                            |
| 9 月 7 日              | 發布[重大安全升級](/changelogs/security-update)，說明環境變數與 SSH 憑證的保存方式及 SSH 連線紀錄功能。 |
| 截至本報告更新         | 完成事件中相關活動與憑證來源的比對，持續檢查跨系統紀錄並調整安全措施。                                  |

先前發布的進度更新可於 [事件狀態頁](https://status.zeabur.com/incident/1037896) 查閱。

## 支援與補償

如需協助，或發現異常存取或不明費用，請透過 [Zeabur Support](https://zeabur.com/support) 與團隊聯繫；我們會協助核對相關紀錄與後續處置。為降低相關憑證再次遭到使用的風險，聯繫前請先撤銷相關憑證，並僅提供遮蔽後的識別資訊；請避免於支援工單或公開管道提供完整且仍有效的金鑰、密碼或其他憑證。

若第三方 AI 服務的 API 金鑰因本次事件遭到未經授權使用並產生額外費用，請透過支援工單提出補償申請；團隊會協助核對服務供應商的使用紀錄、異常時段與費用，並說明查核結果及補償安排。

## 結語

儘管相關存取路徑已即時切斷，受到影響的使用者仍需投入額外時間與心力更換憑證、檢查服務並核對帳務；對於本次事件所造成的風險及處理負擔，Zeabur 團隊謹再次致上誠摯歉意。我們將繼續完成支援、補償與本文所列的改善措施，後續進度亦將透過事件狀態頁與相關公告公布。

Zeabur 團隊
