作者:BTCPay Server

来源:http://blog.btcpayserver.org/btcpay-server-security-incident-2-4-1-and-earlier/

2026 年 11 月 1 日,我们收到了 BTCPay Server 热钱包中的比特币和莱特币(Litecoin)被盗的报告。热钱包中存储的是花费软件自身所保管的资金的密钥。

我们的调查发现,这些攻击瞄准的是运行 BTCPay Server 2.4.1(发布于 2026 年 7 月 23 日)以及更早版本的服务器。攻击者使用了另一种办法来利用在 2.4.2 版本(发布于 2026 年 8 月 7 日)中修复的漏洞。

自从我们八月份发布安全建议依赖,我们已经发布了多个进一步的安全更新。我们祈祷这些信息已经传达给了还在运行旧版本的用户、并提醒了他们升级的重要性。

你应该做什么

要检查你所运行的软件的版本,请登录并查看页面的底部。

  • 如果你已经运行 2.4.2 或更高版本:在我们于 11 月 1 日发布安全警报时,我们尚未发现攻击对你的服务器的影响。
  • 如果你运行的是 2.4.1 或更老版本:我们强烈建议你先清扫现有热钱包中的资金到安全的地方,然后移动资金到一个新的服务端(见下文)、使用新的钱包。哪怕你没有发现盗窃的迹象,也应该这样做;或者,如果你是在 11 月 1 日我们发布安全警报之后才从这些受影响的版本升级,那么也应该迁移资金。
  • 如果资金已经被盗,或者你看到了未经授权的访问的信号:请将整台电脑以及其中的私钥都当成已被劫持/已经泄露,并且遵循同样的复原步骤,哪怕你已经在攻击后升级了软件。

如果你的钱包的花费密钥是跟服务器软件分开的,比如说你使用了硬件签名器, 那么你不受此次盗窃的影响。使用这些钱包来接受支付依然是我们建议的操作。不过,即使你将钱包密钥保管在别的地方,也依然有必要重建服务。

迁移到新的服务器

如我们在复原指南中说的,光是更新服务器可能无法移除攻击者已经拿到的访问权限。钱包余额没变,不代表攻击没发生过。

  1. 创建一个新的钱包,并将现有热钱包中的所有剩余资金转移过去。要使用一台信得过的设备和一套新的种子词。如果在新的服务器使用旧的种子词,并不能让你的资金脱离风险。
  2. 让旧的服务器下线。保留相关的日志和交易记录,用于在替换服务器之后研究它们。
  3. 配置一台全新的虚拟机。安装最新的受支持的 BTCPay Server 版本(记得从信得过的来源下载),并连接你的新钱包。请不要在新的机器上复原整个旧的服务器。
  4. 换掉可能泄露的口令和访问密钥。从一个信得过的设备上,撤销和替换掉旧服务器可以访问的证书,包括可以使用的托管、SSH、应用、API 以及闪电节点证书。请不要在旧机器上输入新的证书。

事故过程

所有时间都是 UTC 时间。

感谢各个托管服务商的快速响应。如果你的托管服务器运行着 2.4.1 或更老版本,请联系你的服务商获得帮助,并迁移新的虚拟机。

已经报告的目标地址

以下地址是在事故报告中识别出来的:

这些地址中的部分活动似乎早于我们收到的报告所描述的盗窃。我们还没有确定完整的时间线、确定那一笔交易跟事故有关,所以,钱包中的余额不应视作已经确认的损失金额。

报告安全事故

我们正在响应受影响的用户并审核事故报告。如果你丢失了资金,或者注意到了未经许可的活动,请联系 [email protected] 。线索包括:

  • 你在当时所运行的 BTCPay Server 版本,以及你最后一次更新的时间、以及上一个版本(如果你还记得的话)。
  • 你注意到异常的时间(以及你的时区)。
  • 相关的公开交易 ID 和地址。

如果你的资金已经被盗,也请将盗窃报告给你当地的警局。

请不要在邮件中包含你的种子词、私钥或其它证书 。在分享任何日志或配置文件之前,应该从中消除敏感信息。

随着使用 AI 的自动化攻击增多,我们请求所有用户在 BTCPay Server 发布新版本后及时安装。我们会在 X 平台以及 Telegram 社区频道定期发布新版本。

如果你的日常运营需要使用热钱包(将密钥存放在服务器中),请确保数额仅是服务器的运营所必需的,将更多的资金移动到密钥会与服务器分开放置的钱包中。

(完)