适用对象:在应用部署平台(PaaS)Zeabur 上部署应用或数据库的开发者和运维人员,尤其是把 AI 服务、支付、云或数据库凭据等 API 密钥放在环境变量中的人。本文基于 Zeabur 的官方初步报告和停止服务公告,不涉及攻击手法。
事态发展中:本文将随机构发布更多信息而更新
- 适用对象
在应用部署平台(PaaS)Zeabur 上部署应用或数据库的开发者和运维人员,尤其是把 AI 服务、支付、云或数据库凭据等 API 密钥放在环境变量中的人。
- 已确认的影响范围查看表格 ↓
- 平台数据库中的环境变量
- 账户数据
- zSend API 密钥
另外2项
- 平台 Access Token
- 公司称为 GCP Dedicated Servers 的服务器
- 尚未确认的事项
- 攻击者如何获得最初的凭据
- 实际从共享集群数据库中取走了多少数据
- 备份和其他存储对象是否被下载
另外1项
- 公司称为 Hetzner and DigitalOcean Dedicated Servers 的服务器的泄露令牌是否被使用
- 现在要做的事查看步骤 ↓
- 在签发方服务处吊销环境变量中的所有密钥
- 共享集群用户:也要更改数据库内部的密码
- 重新创建 Zeabur Access Token 和 zSend API 密钥
另外4项
- 如果连接了 GitHub,请检查 10 月 15 日的审计日志
- 检查 10 月 14 日以来的用量和账单
- 如果遭受了损失,请在 2026 年 11 月 30 日前提出索赔
- 专用服务器用户:如果服务器在范围内,请视为已被入侵
- 核实来源(出处)全部来源 ↓
- Zeabur,「Zeabur October 2026 security incident (preliminary report)」(2026 年 10 月 19 日)— zeabur.com
- 最后核实
- 截至 2026 年 10 月 31 日
续报计划与核实记录
10 月 19 日的报告写道:「调查仍在进行中,我们将随调查进展更新本文。」截至 10 月 31 日,该页面显示的日期仍为 10 月 19 日。该公司博客上之后唯一的通知是 10 月 22 日关于退款和事件索赔的文章,其中没有更新调查内容。
Zeabur 用户今天应该做什么
在签发方服务处吊销环境变量中的所有密钥
这包括 API 密钥(AI 服务、支付、电子邮件)、云密钥、数据库密码,以及签名和加密密钥。公司给出的顺序是:先在服务提供方处吊销旧值,再创建新值,在 Zeabur 上设置并重新部署。
只在 Zeabur 上删除或修改变量,无法阻止别人使用已经拿到的副本。即使您在 8 月事件后更换过该值,也同样适用,因为公司表示,8 月的轮换没有覆盖此次被使用的凭据。
共享集群用户:也要更改数据库内部的密码
公司表示,在 Zeabur 上更改环境变量不会更改数据库内部的密码。更改密码也无法挽回已经泄露的数据。如果您的数据库中存有您自己用户的密码哈希、登录会话或令牌,也请吊销并重新生成。
公司还要求用户:
- n8n:更换 n8n 加密密钥,并重新创建 n8n 中保存的所有第三方凭据
- new-api/one-api:吊销上游 AI 服务的密钥,并重新生成访问令牌
- PostgreSQL:查找您不认识的角色、函数、触发器、定时任务或扩展;如有疑问,新建一个数据库,只导入数据
- 台北(tpe1)和香港(hkg1)区域:把数据库备份中的数据视为已泄露
重新创建 Zeabur Access Token 和 zSend API 密钥
公司表示,所有用户都已被登出,所有平台 Access Token 都已被吊销。请重新登录,在 Access Token 页面创建新令牌,并检查是否有您不认识的请求。zSend 用户需要重新创建 zSend API 密钥(全部 566 个已被吊销)。
如果连接了 GitHub,请检查 10 月 15 日的审计日志
公司表示,Zeabur GitHub App 的私钥被读取,已于 10 月 15 日 18:54(UTC)更换,目前尚未发现其被使用。公司要求用户检查 GitHub 审计日志中 10 月 15 日 15:05 至 18:54(UTC)期间 Zeabur GitHub App 的操作:意外的 clone 或 push、新增的部署密钥以及被修改的 webhook。
检查 10 月 14 日以来的用量和账单
查看您存放过密钥的各项服务自 2026 年 10 月 14 日以来的用量和账单。公司表示,这是已知最早使用这些凭据的时间,并不能证明此前没有泄露。使用被标为「GCP Dedicated Servers」的专用服务器的用户,应追溯到 9 月 1 日。关于被盗的 AI 密钥为何会很快变成账单,请参阅被盗 API 密钥与账户封禁。
如果遭受了损失,请在 2026 年 11 月 30 日前提出索赔
公司 10 月 22 日的通知表示,10 月事件造成的损失索赔必须在 2026 年 11 月 30 日前以单独的 Zeabur Support 工单提交,只受理截止前提交的申请。公司要求提供受影响的账户和服务、泄露的密钥或凭据类型,以及涵盖事件期间的第三方账单或用量记录。索赔与账户余额退款分开处理。
专用服务器用户:如果服务器在范围内,请视为已被入侵
对于被标为「GCP Dedicated Servers」的专用服务器,公司表示应视为已被入侵。请备份数据并重建服务器;这是清除残留物最可靠的方法。如果无法立即重建,公司给出的最低限度步骤是:删除您不认识的 SSH 密钥,检查账户、定时任务和服务,更改 root 密码并关闭 SSH 的密码登录,以及更换服务器上的所有凭据。公司的报告列出了需要检查的迹象;请在官方页面上确认。
对于公司称为「Hetzner and DigitalOcean Dedicated Servers」的服务器,公司要求您在服务商的控制台中确认,10 月 14 日之后 root 密码是否被重置或系统是否被重装。
发生了什么(依据 Zeabur 的报告)
以下内容基于 Zeabur 于 2026 年 10 月 19 日发布的初步报告(另有日文及其他四种语言版本)。所有时间均为 UTC。
2026 年 8 月
Zeabur 发生另一起安全事件。公司表示,之后的轮换没有覆盖 10 月被使用的凭据。10 月 14 日 01:36
已知攻击者最早使用 Zeabur 内部云密钥的时间,随后访问了共享集群。10 月 15 日 13:56
Zeabur 在收到用户报告后开始调查。10 月 15 日 16:10–16:47
攻击者读取平台数据库(公司已确认)。10 月 15 日 20:25
Zeabur 轮换登录签名密钥;所有用户被登出。10 月 15 日 21:05
目前观察到的攻击者最后活动。10 月 17 日
Zeabur 宣布将于 2026 年 12 月 31 日停止服务。10 月 19 日
Zeabur 发布此次事件的初步报告。10 月 22 日
Zeabur 将事件索赔截止日期定为 2026 年 11 月 30 日,并表示服务数据将于 12 月 31 日删除。
保存在 Zeabur 上:已被读取
保存在 Zeabur 平台数据库中的环境变量,包括从未迁移的项目
8 月后迁移到自己的专用服务器
不在平台数据库读取的范围内。如果服务器本身在范围内,其中的密钥仍需更换
无论哪种情况,公司都要求所有用户更换密钥。这一区分只说明暴露的确定程度。
- 发生了什么
- 攻击者利用泄露的 Zeabur 内部凭据侵入共享集群、部分专用服务器和内部系统,并读取了平台数据库
- 被读取的数据
- 环境变量(3,218,965 条记录)、账户数据(321,810 个账户)、zSend API 密钥(566 个),以及以不可逆哈希形式保存的平台 Access Token(11,536 个,已全部吊销)
- 其他系统
- 在共享集群上的 865 个数据库容器内执行了命令;在公司称为 GCP Dedicated Servers 的服务器中,有 101 台确认被以 root 身份登录
- 原因(公司)
- 长期有效的管理员凭据以明文保存,并且可以从公共互联网使用。公司表示,根本原因在 Zeabur 一方
- 应对
- 吊销已被使用的凭据,封锁对管理界面和服务器的公网 SSH,登出所有用户,吊销所有 Access Token
- 补偿
- 事件导致第三方 API 密钥或云账户产生的额外费用,可在 2026 年 11 月 30 日前通过支持工单申请(10 月 22 日的通知)
已知与未知的内容
截至 2026 年 10 月 31 日的状态。公司自己的用语为「已确认」(日志直接记录了该事实)、「推定」(时间和内容吻合,但没有直接记录)、「无法确认」(没有可供核查的记录;按已泄露处理)和「假设」(仅有间接证据支持的一种可能解释)。状态栏沿用这些用语。有后续消息时,将予以更新。
| 项目 | 报告内容 | 状态 |
|---|---|---|
| 平台数据库中的环境变量 | 3,218,965 条记录(名称和值)被读取 | 已确认(公司) |
| 账户数据 | 321,810 个账户:电子邮件、用户名、电话号码等,以及项目数据 | 已确认(公司) |
| zSend API 密钥 | 以明文保存的 566 个密钥,已全部吊销 | 已确认(公司) |
| 平台 Access Token | 仅以不可逆哈希形式保存的 11,536 个令牌,已全部吊销 | 已确认(公司) |
| 共享集群的环境变量和密钥 | 9 个区域;部分已确认,其余按已泄露处理 | 部分已确认;其余无法确认(公司) |
| 共享集群数据库的内容 | 在 865 个数据库服务中执行了命令;取走了多少无法确认 | 推定(公司) |
| 公司称为 GCP Dedicated Servers 的服务器 | 确认 101 台服务器(92 名用户)被以 root 身份登录 | 已确认(公司) |
| 数据库备份(台北 tpe1、香港 hkg1) | 是否被下载无法确认。另外,公司表示,一台被入侵主机上的证据确认,攻击者于 10 月 15 日 15:42(UTC)获取了一份客户数据库备份 | 无法确认(公司) |
| 公司称为 Hetzner and DigitalOcean Dedicated Servers 的服务器 | 管理令牌泄露;是否被使用无法确认 | 无法确认(公司) |
| 双因素认证和通行密钥数据 | 只查询了统计信息;没有内容被读取的记录 | 无内容被读取的记录(公司) |
| 最初的凭据是如何获得的 | 无法确认;与 8 月事件的关联是未经证实的假设 | 无法确认(公司) |
| 泄露密钥的滥用 | 一名用户的 AI 服务密钥在 10 月 16 日被用于约 1,107 次请求;公司表示,认为其来自此次泄露只是假设 | 假设(公司) |
如何解读:「无法确认」也意味着要轮换
公司表示,凡是无法排除未经授权访问的地方,都假定数据可能已被暴露。对于您自己的密钥来说,「已确认」「推定」和「无法确认」在实际操作上差别不大:都意味着吊销并更换。
泄露的环境变量可能导致什么
一般来说,从环境变量中被取走的密钥可能被这样滥用。这并不意味着此次已经全部发生。
- AI 服务 API 密钥:别人用您的账户发送请求,账单由您承担。公司观察到,攻击者主要在寻找可以直接使用的密钥,尤其是 AI 服务的密钥
- 数据库密码和连接字符串:读取或篡改您应用的数据,包括您自己用户的记录
- 签名和加密密钥:伪造会话令牌,或解密您的应用所保护的数据
- 云和支付密钥:创建资源或发起需要付费的调用
过去的例子:在 Railway 环境变量事件之后,该托管公司把可能已暴露的密钥清单发送给签发方服务,以便将其吊销。此次未必会以同样的方式发展,所以请自己吊销密钥。
运营者需要了解的事项:从公司披露的内容中得到的教训
以下要点来自公司自己列出的原因和不足之处,并不是对 Zeabur 的进一步评价。
- 给管理令牌设置有效期,并让管理界面不暴露在公共互联网上。 公司表示,其集群管理令牌没有有效期,自 2024 年 1 月以来从未轮换,而且管理界面可以从互联网访问。
- 事件发生后,轮换所有可能被读取的凭据,而不仅仅是已确认泄露的凭据。 公司表示,8 月的轮换没有覆盖 10 月被使用的凭据。
- 不要让明文密钥进入备份,并把备份密钥分开保管。 公司表示,集群备份中包含所有密钥,而且在应对过程中轮换的一个密钥被之后的一次备份记录了下来。
- 对密钥的大量读取设置告警。 公司表示,10 月 14 日超过 16 小时的活动没有触发任何告警,事件是在用户报告后才被发现的。
对于您自己的应用,最安全的密钥是平台从不保存的密钥:短期有效的凭据,或由应用在运行时读取的独立密钥存储(参阅 .env 和 API 密钥究竟危险在哪里)。
参考来源(公开记录)
本文中的事实基于以下公开信息。对于公司尚未确认的入侵途径,本文不作推测,也不转载入侵指标。
- Zeabur,「Zeabur October 2026 security incident (preliminary report)」(2026 年 10 月 19 日)— zeabur.com
- Zeabur,「Zeabur service migration, refunds, and security incident claims」(2026 年 10 月 22 日)— zeabur.com
- Zeabur,「Zeabur is shutting down: what happens next」(2026 年 10 月 17 日)— zeabur.com
更新记录
2026-10-31:首次发布,依据 Zeabur 10 月 19 日的初步报告、10 月 17 日的停止服务公告以及 10 月 22 日关于事件索赔的通知。截至 10 月 31 日,该公司博客上没有新的调查报告。有后续消息时,本文将予以更新。
延伸阅读
- 同类事件:Railway 环境变量可能已暴露(2026 年 10 月) / OpenCode Console 安全事件(2026 年 10 月)
- 为什么 AI 密钥成为目标:防御 AI 驱动的网络攻击 / 被盗 API 密钥与账户封禁
- 泄露后仍然有效的密钥:泄露后仍然有效的凭据
- 2026 年其他事件:2026 年数据泄露与网络攻击