Radix Foundation于9月17日披露,Radix网络一项源于2023年代码重构的漏洞在今年8月被攻击者利用,约126万美元资产从多个金库中被转走。由于漏洞位于负责执行交易和验证资产所有权的Radix Engine,验证者一度主动停止网络共识,区块链交易最终暂停超过10天。
这起事件的影响并不局限于被盗金额。调查显示,该漏洞理论上可能被用于攻击网络上的任何金库,涉及用户账户、应用程序以及流动性池中的代币。对交易平台和流动性提供者而言,核心问题在于底层执行层原本负责的权限边界未能正常生效。
26笔交易转走多种资产
根据社区对账本的重建,攻击者在8月31日16时02分至16时57分(UTC)之间完成26笔利用交易,转走约458,915枚USDC、72,420枚USDT、61.08枚ETH、6.35枚Wrapped Bitcoin、536.16枚SOL以及32.91枚BNB。按照8月31日的市场价格计算,这些资产总价值约为126万美元,其中两种稳定币合计约53.13万美元。
攻击者还从一个金库中提取了13,000枚XRD,用于支付交易费用。被盗资产随后通过Hyperlane转移至Ethereum、BNB Chain和Solana,并被兑换为ETH。Radix Foundation表示,Hyperlane桥本身按照设计运行,攻击者是在Radix Engine中取得资产后,才使用该跨链工具将资金转出;目前没有迹象显示私钥遭到泄露。
被转移的资产金额仍可能低估了事件造成的损失。调查人员认为,漏洞并不只影响被攻击者直接提取的跨链资产,网络中其他金库内的代币和资产也可能面临同类风险。
漏洞源于2023年例行重构
Radix Foundation表示,缺陷由RDX Works开发团队在2023年6月清理Radix Engine代码时引入。漏洞在网络中存在超过三年,直到2026年8月31日才被利用。
问题涉及引擎处理金库引用的方式。交易可以通过内部地址指向另一名用户的金库,并将这一引用传递给特定智能合约。随后,Radix Engine允许调用普通提款函数,却没有正确执行所有权检查,未能拒绝未经授权的请求。
在正常设计下,只有金库所有者或获得授权的交易才能提取其中资产。该缺陷则使攻击者无需取得资产所有者签名,就可能接触用户账户、应用程序和流动性池中的资金。
这项代码问题此前还通过了一次独立安全审查。Zellic在2024年对Radix协议进行审计,范围包括包含缺陷的引擎内核,但审查没有发现这一授权漏洞。由于漏洞来自前一年的代码重构,事件也暴露出例行维护可能改变既有安全假设,而常规审计未必能够识别这类变化。
验证者暂停共识以阻止继续交易
当调查人员确认问题位于交易执行层,而不是某个单独应用时,Radix验证者协调行动,主动下线足够数量的质押,以阻止网络继续达成共识和处理更多交易。
停摆持续超过10天。协议修复增加了新的检查,禁止受限制的金库引用被用于普通提款。根据社区账本重建,用户交易于9月11日恢复。
事件还造成了流动性池的后续损失。攻击者从部分交易对的一侧移走跨链资产后,相关池子的价格比例被扭曲,另一个账户利用价格异常从受影响的流动性池中提取了数百万枚XRD。这表明,即使初始被盗资产已经离开网络,执行层漏洞仍可能通过价格失真和流动性变化继续造成经济损失。
Radix将扩大回归测试和应急机制
Radix Foundation表示,后续措施包括增加回归测试、强化安全审查流程,并将验证者为恢复网络安全而采取的紧急操作正式制度化。修复重点不仅是堵住已经被利用的代码路径,也包括重新审查所有涉及授权逻辑的代码变更。
Foundation还表示,未来安全工作需要考虑能力不断增强的AI辅助代码分析工具,并认为这类工具可能帮助攻击者定位这项存在多年的缺陷。不过,现有披露并未确认攻击者使用了哪一种具体工具。
对开发者和验证者而言,接下来的重点是避免普通维护工作在没有充分测试和复核的情况下改变权限模型。对于用户和流动性提供者,网络能否持续正确执行金库所有权检查,以及新的应急流程能否在类似事件中及时启动,将直接影响他们对Radix资产安全和网络稳定性的判断。