区块链 > 资讯 > SUI币被盗事件

Sui链DeFi借贷协议Scallop遭骇,旧版合约漏洞致15万SUI被盗

2026-04-27 08:58:15 佚名
简介Sui链上DeFi借贷协议Scallop于官方X 帐号发布安全事件通知,证实平台遭到攻击,造成约15 万枚SUI 损失,Scallop强调,受影响合约已被冻结,核心合约仍然安全,仅sSUI 奖励池受到波及,下面一起来看看正文介绍

Sui 链上DeFi 借贷协议Scallop 于官方X 帐号(@Scallop_io)发布安全事件通知,证实平台遭到攻击。Scallop 表示,团队发现一个与sSUI spool 奖励池相关的侧合约(side contract)遭到利用,造成约15 万枚SUI 损失。Scallop 强调,受影响合约已被冻结,核心合约仍然安全,仅sSUI 奖励池受到波及。

在后续更新中,Scallop 进一步说明:核心合约已解冻,所有操作已恢复。此问题与核心协议无关,仅限于一个已弃用的奖励合约。使用者存款未受影响,所有资金安全无虞,存提款功能已恢复正常。团队承诺将分享更多细节,并持续监控与强化协议安全。

Sui链DeFi 借贷协议Scallop遭骇,旧版合约漏洞致15万SUI被盗

前NEAR 核心成员Vadim:问题出在17 个月前的旧版套件

针对此次事件,前NEAR 核心开发者Vadim(@zacodil) 在X 上发表深度技术分析,揭露漏洞细节。 Vadim 指出,攻击者非常清楚该呼叫哪一个已弃用的套件。 「不是当前运行中的程式码,也不是SDK 路径,而是2023 年11 月的一个旧版V2,数月来无人使用。这要嘛是深度逆向工程,要嘛就是有人早就知道该往哪里找。这个漏洞已经潜伏了17 个月。

Vadim 解释,spool 会追踪一个随着奖励分配而增长的index。每个用户帐户在质押时,原本应该记录当下的last_index,这样赚取的点数计算公式为:质押量× (current_index − last_index),使用者只能从加入时起赚取奖励。

但在已弃用的V2 套件中,当建立全新的spool_account 时,last_index 并未被初始化,仍保持为0。因此当update_points 执行时,计算结果变成:点数= 质押量× (current_index − 0) = 质押量× 完整历史指数。使用者被记入自2023 年8 月spool 建立以来累积的所有奖励。

Vadim 提供具体数据:spool 指数在20 个月间成长到11.9 亿。攻击者质押13.6 万枚sSUI,瞬间获得162 兆点数的记入。由于奖励池采1:1 兑换比例(分子与分母皆为1),162 兆点数直接转换为价值16.2 万枚SUI 的奖励。但奖励池内仅有15 万枚SUI,因此被全数抽干。

4 月链上安全事件皆发生在周边系统

Vadim 说明,正常使用者透过SDK 使用新套件,新套件已修复last_index 同步问题。旧版V2 套件之所以仍留在链上,是因为Sui 套件具有不可变性。 —一旦发布,每个旧版本都将永远可被呼叫。共享的Spool 与RewardsPool 物件接受来自任何版本的呼叫,攻击者绕过SDK,直接命中旧版程式码路径。

Vadim 将此归类为「Sui 过时套件类漏洞」。他指出,正确的修复方式需要在共享物件上加入版本栏位,并在每个函式中加入assert!(version == CURRENT_VERSION) 检查。没有这个机制,每一个过去发布的套件版本都将永远是活生生的攻击面。

Vadim 进一步点出,本月多数攻击事件都不是发生在核心协议程式码,而是周边系统:

以上就是Sui链DeFi借贷协议Scallop遭骇,旧版合约漏洞致15万SUI被盗的详细内容,更多关于SUI币被盗事件的资料请关注脚本之家其它相关文章!

本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。

相关文章