零时科技 || TrustSwap 攻击事件分析

建议对于转移流动性时添加对于新池子的初始价格的判断,避免在进行资金迁移时有巨额资金剩余。

事件背景

零时科技区块链安全情报平台监控到消息,北京时间2022年10月27日,TrustSwap项目遭受黑客攻击,影响金额至少约779万美元(880.2554ETH和6429327.65DAI)。此外,本次攻击还盗取了CAW和TSUKA代币,价值约550万美元。攻击者地址为 0x161cebb807ac181d5303a4ccec2fc580cc5899fd,漏洞合约为0x48D118C9185e4dBAFE7f3813F8F29EC8a6248359。零时科技安全团队及时对此安全事件进行分析。

漏洞核心

攻击者调用LockToken函数锁定令牌获得id用于后续攻击

攻击者通过调用LockToken合约中migrate函数迁移流动性,此时传入的id值为之前锁定令牌时获得的id,因此攻击者可以通过对于lockerc20地址的验证 进行资金迁移之后将剩余资金返回LockToken合约 由于新建池子的价格由用户自己控制,攻击者通过设置sqrtPricex96造成价格差 在V2中交易对的余额 在V3中计算获得的应添加的数量 将剩余的资金退还给攻击者 在这一步攻击中攻击者获利约601ETH

资金来源及流向

攻击者初始资金由FixedFloat转入

资金流向

攻击者将资金转移至地址 0xBa399a2580785A2dEd740F5e30EC89Fb3E617e6E 目前资金无进一步移动

总结及建议

本次攻击是由于攻击者能够通过执行锁定代币获得ID来绕过检测,将流动性转移至攻击者控制的V3交易对中,并且新的交易对创建的池子价格由攻击者控制,资金迁移后剩余资金转移给用户,因此攻击者能够设置池子价格在资金迁移后获得巨额剩余。

安全建议

建议对于转移流动性时添加对于新池子的初始价格的判断,避免在进行资金迁移时有巨额资金剩余。

建议项目方上线前进行多次审计,避免出现审计步骤缺失

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
零时科技
零时科技
专注区块链生态安全