黑客将 55 天的失败交易变成了价值 300 万美元的主密钥,耗尽了 GalaChain 钱包
核心要点
- GalaChain 表示,攻击者从失败的交易中获取了 74 个签名,并利用它们窃取了约 20 亿个 GALA 和数十种其他代币。
- 失败的交易成为攻击清单 Gala 表示,攻击者携带了 74 个可重放的签名,这些签名是从 55 天前的失败交易中收集的。
- 该公司尚未发布这些报告,因此很难确定每项审查测试的内

GalaChain 的修复现在对结算前检查施加了更多控制,在速率限制、提现延迟和运营商自由裁量权方面提出了新的权衡。
该漏洞暴露了签名验证和重放保护之间的漏洞,该漏洞已经通过了多次安全审查。
GalaChain 表示,攻击者从失败的交易中获取了 74 个签名,并利用它们窃取了约 20 亿个 GALA 和数十种其他代币。
GalaChain 8 月份的漏洞将失败的交易转化为可重复使用的授权,暴露了经过多次审计的安全漏洞。
Gala Games 开发的区块链称,8 月 18 日,攻击者利用不成功交易的历史签名从 9 个钱包中盗走了约 20 亿个 GALA(约 300 万美元)和数十种其他代币。
其 9 月 14 日的事后分析描述了在第一次未经授权的转移之前准备的操作,包括映射余额、自动提交以及跨越签名验证和重放保护的弱点。
加拉在攻击期间暂停了舰桥后修复了这些缺陷。该事件现在给区块链运营商提出了一个更广泛的问题:一旦利用自动化,围绕有效签名和人为触发的紧急控制构建的系统是否能够足够快地做出响应。
失败的交易成为攻击清单
Gala 表示,攻击者携带了 74 个可重放的签名,这些签名是从 55 天前的失败交易中收集的。
这些签名与受影响账户的详细信息相匹配。在事件期间针对的 59 个账户代币组合中,有 56 个在第一次尝试时就被耗尽了其确切余额。 18秒内,四个最大的GALA位置按降序排列。
这种模式表明侦察发生在攻击开始之前,而不是在攻击期间逐笔交易地发现账户余额。
随后,执行工作进展迅速。 Gala 记录了 1,066 条提交,平均间隔为 4.5 秒,其中 73.9% 的提交正好相隔一个街区。
由于 GalaChain 处理 EIP-712 类型数据验证的方式,历史签名很有价值。
在补丁之前,验证程序接受请求提供的类型定义,而不是从调用的操作中派生它们。这允许提供覆盖一组字段的签名,同时使用签名者从未承诺的附加信息执行另一种方法。
一个链上示例显示,尽管为验证提供的 EIP-712 结构描述了 AddLiquidity 操作,但 TransferToken 调用处理了约 16.4 亿个 GALA。传输使用的目的地、数量和令牌实例位于签名结构之外。
签名本身在密码上是有效的。系统无法保证账户持有人已授权执行最终产生的经济效果。
加拉表示,调查人员没有发现任何证据表明受影响用户的私钥、助记词或密码已被泄露。该结论部分依赖于该公司尚未公布的内部证据。
一个单独的重放弱点扩大了攻击者可以使用的签名池。
GalaChain 分配了唯一的交易密钥,旨在阻止同一签名的有效负载被多次提交。但是当事务失败时,密钥可能会与不成功的状态更改一起回滚。
签名在公共分类账上仍然可见,而重放密钥仍然可用。
Gala 表示,与该漏洞相关的 60 个历史源交易中有 57 个包含至少一个失败的内部操作,而没有一个完全成功完成。
这种组合有效地将不成功的历史请求转化为可重用的权限。攻击者不需要伪造签名或窃取每个目标钱包背后的私钥,因为真实的签名已经在链上发布。
GALA 审计错过了保障措施之间的相互作用
与此同时,该漏洞在攻击前通过了外部安全审查。
Gala 表示,在 2025 年底的一次以授权为重点的 CertiK 活动以及 1 月份 Hashlock 的 SDK 审查期间检查了相关验证逻辑。两者都没有指出签名范围问题。
该公司尚未发布这些报告,因此很难确定每项审查测试的内容或审查签名验证和重放保护之间相互作用的范围。
催化剂是什么在推动加密货币发展。为什么这很重要。了解 CryptoSlate 的重要故事以及接下来要看的内容。发布于 Substack 电子邮件地址 每周 7 天免费订阅。随时取消订阅。哎呀,看来有问题了。请再试一次。检查您的收件箱。您的注册请求已发送。如果需要确认,请按照 Substack 发送的电子邮件进行操作。如果没有看到,请查看垃圾邮件或促销活动。
值得注意的是,重播机制本身是在 CertiK 早期发现之后引入的。
这种保护可以防止交易密钥被消耗后被重复使用。 8 月 18 日的攻击者发现了安全措施停止应用的边界:失败的交易,其签名的有效负载已公开,而其唯一密钥仍未使用。
Gala 随后更改了这两个系统。
签名验证现在从被调用的操作中派生其类型信息,而不是信任调用者提供的定义。请求还包括将签名更紧密地绑定到被授权的通道、合约和方法的标识符,而过期时间戳限制签名的有效负载保持有效的时间。
即使底层业务操作失败,重播修复也会保留唯一的事务密钥,从而防止相同的历史请求仍然可用于另一次尝试。
这些补丁弥补了事后分析中描述的两个弱点。它们无法解决一旦看似有效的攻击已经发生就会出现的响应时间问题。
第一次经过验证的未经授权的传输发生在 UTC 时间 02:21:54。 Gala 在 05:09:19 UTC(大约两小时 47 分钟后)暂停了桥接,并于 05:22 开始从收件人地址删除角色。
该公司尚未透露其监控首次检测到该活动的时间,因此该时间间隔不能视为其反应时间。加拉表示,在暂停后,试图通过大桥将资产移出的尝试被拒绝。
然而,时间顺序显示,一旦漏洞利用达到机器速度,操作员就会面临差异:每隔几秒钟就会提交一次,而检测、调查和紧急干预可能仍然需要人工决策。
桥梁操作员面临机器速度防御问题
Gala 表示,此后增加了每个身份的速率限制、对高价值账户的行为监控以及对超过特定阈值的桥提款进行额外审查。
这些措施将安全控制移至结算过程的早期,在资产离开系统之前可以减缓异常活动。
他们还引入了权衡。
