据区块链安全平台 CertiK 在社交媒体上发布的帖子称,Aptos 网络上的 Wormhole 桥存在安全漏洞,若未被发现,可能导致价值 500 万美元的损失。该平台声称已发现该漏洞,并在漏洞被揭发之前将其报告给 Wormhole 团队。该漏洞已得到修补,桥不再存在漏洞。

资料来源:CertiK。

Aptos 是一个使用 MOVE 编程语言的区块链网络,该语言最初由 Facebook 为 Libra 项目开发。MOVE 的支持者声称,与以太坊的 Solidity 或其他替代方案相比,它是一种更安全的智能合约编写语言。

CertiK 的报告以视频的形式发布。报告声称,该漏洞“源于 MOVE 编程语言中‘public(friend)’和‘entry’修饰符的错误实现”。‘public(friend)’修饰符允许同一模块内的其他函数或“好友列表”中指定的外部账户调用某个函数,但其​​他调用者无法调用。另一方面,‘entry’修饰符指定任何外部账户都可以调用某个函数。

该桥包含一个名为“publish_event”的函数,用于宣布诸如代币转移之类的事件。它只应该由同一模块内的其他函数或某些“指定的外部实体”调用。然而,在 CertiK 研究的桥版本中,该函数被“public(friend)”和“entry”修改。这使得任何人都可以调用“publish_event”,即使他们不是经批准的调用者。

由于这一缺陷,攻击者可以创建虚假交易,看似将代币从一个账户转移到另一个账户,但实际上并没有转移任何代币。这些“事件”可能导致以太坊版本的桥梁铸造或解锁代币,而 Aptos 方面没有任何真正的存款支持它们。因此,CertiK 表示,攻击者可能从桥梁中窃取了价值高达 500 万美元的资金。

CertiK 于 2023 年 12 月 5 日向 Wormhole 团队成员通报了该漏洞。在调查了该报告后,该团队开发并测试了一个补丁来修复安全漏洞,并将该问题告知了协议的守护者。通过多重签名投票,守护者批准实施该补丁,并升级了协议的 Aptos 合约以实施新代码。报告漏洞后,修复过程大约需要三个小时,新版本的桥不再容易受到此漏洞的攻击。

Wormhole Aptos 漏洞利用时间表。资料来源:CertiK。

除了从 publish_event 函数中删除“entry”关键字外,新补丁还将 Aptos 的“调节器速率限制”值从 500 万美元限制到 100 万美元,从而有效地阻止了每天从 Aptos 提取超过 100 万美元的资金。这样做是为了在未来发生漏洞时限制损失。CertiK 声称,目前的使用量低于每天 100 万美元,这意味着速率限制不会影响大多数用户。

Wormhole 还进行了“回顾性分析”,以确定是否有任何用户资金受到此问题的影响。他们得出的结论是,没有资金被非法转移,用户的余额是安全的。

Wormhole 并不总是能够在安全漏洞被利用之前发现它们。2022 年,桥接器 Solana 部分的一个漏洞允许攻击者铸造无担保代币,导致 Wormhole 损失超过 3.21 亿美元。不过,该团队后来修补了漏洞并向用户进行了补偿。今年 1 月,Wormhole 自事件发生以来首次收回了 10 亿美元的总锁定价值,这表明一些用户认为其安全措施有所改善。

相关:报告称,Gains Network 分叉中的漏洞让交易者每笔交易获利 900%