SLP:以小博大 简析SushiSwap攻击事件始末

2020 年 11 月 30 日,据慢雾区情报,以太坊 AMM 代币兑换协议 Sushi Swap 遭遇攻击,损失约 1.5 万美元。慢雾安全团队第一时间介入分析,并以简讯的形式分享,供大家参考。

Sushi Swap 项目中 Sushi Maker 合约的作用是用于存放 Sushi Swap 中每个交易对产生的手续费。其中手续费会以 SLP (流动性证明) 的形式存放在合约中。Sushi Maker 合约中有一个 convert 函数,用于将从每一个交易对中收集的手续费通过调用各自交易对的 burn 函数获得对应的代币,然后将这些代币转换成 sushi 代币,添加到 Sushi Bar 合约中,为 Sushi Bar 中抵押 sushi 代币的用户增加收益,而此次的问题就出在 Sushi Maker 合约。

史玉柱:用12个月把《原始征途》做到理想状态,再做个元宇宙游戏:金色财经报道,近日在2023征途嘉年华上,巨人网络董事长史玉柱称,《原始征途》目前公测的版本仍是个半成品,将用12个月时间把产品打磨好,再推出一个正式版。据他透露,未来在完成《原始征途》正式版的研发工作后,计划做一个带元宇宙元素的游戏。他还称,不光是《征途》,目前巨人网络几乎所有的项目都在使用人工智能作为一个工具来研发游戏。小财注:《原始征途》于今年3月24日全平台上线,首月流水突破3亿元。[2023/6/18 21:45:48]

1、攻击者选中 Sushi Swap 中的一个交易对,如 USDT/WETH,然后添加流动性获得对应的 SLP (USDT/WETH 流动性证明,以下简称 SLP),使用获得的 SLP 和另外的少量 WETH 创建一个新的 Sushi Swap 交易对,然后得到新代币池的 SLP1 (WETH/SLP(USDT/WETH) 流动性证明,以下简称 SLP1)转入 ?Sushi Maker 合约中。

去中心化视频流网络Livepeer已与Aptos集成:12月8日消息,去中心化视频流网络Livepeer已与Aptos集成以提供无缝视频流功能。这种集成为创作者提供了易于使用、低费用的内容所有权。

Aptos网络的低延迟功能可以让Livepeer的创作者和开发者快速执行和顺利构建项目,并高效地增长和扩展他们的内容。为了加速这一转变,Aptos和Livepeer将很快向在Aptos网络上使用Livepeer进行构建的开发人员提供流媒体积分。[2022/12/8 21:30:47]

2、调用 Sushi Swap 的 convert 函数,传入的 token0 为第一步获得的 SLP,token1 为 WETH。调用 convert 函数后,Sushi Maker 合约会调用 token0 和 token1 构成的代币池的 burn 函数燃烧 SLP1,燃烧掉攻击者在第一步中打入 Sushi Maker 合约中的 SLP1,得到 WETH 和 SLP。

NFT工作室Eterlast完成450万美元种子轮融资,Immutable X等参投:11月8日消息,英国NFT工作室Eterlast宣布完成450万美元种子轮融资,Supernode Global、Play Ventures、Active Partners、Stake Capital、Immutable X和Founders Factory等参投。

Eterlast是创业加速器和风险投资公司Founders Factory的孵化项目,与体育和媒体特许经营合作伙伴一起开发NFT,同时还在开发基于拳击和橄榄球运动的区块链游戏,旨在增强用户的游戏、收藏和交易体验。(uktech)[2022/11/8 12:33:20]

GameStop第一季度通过出售IMX代币获得了7690万美元的销售收入:金色财经报道,游戏零售商 GameStop (GME)周三发布了2022年第一季度财务业绩,其中通过出售 IMX 代币获得了 7690 万美元的销售收入,这是其与 NFT 扩展平台 Immutable 合作的一部分。GameStop 在 2 月份出售了作为与 Immutable 交易的一部分而获得的 IMX 代币,产生了 7690 万美元的收益。该公司报告一季度的负现金流为 2.363 亿美元。

GameStop 表示,将采取措施支持最近推出的数字资产钱包,以允许游戏玩家和其他用户在去中心化应用程序中存储、发送、接收和使用加密货币和NFT,GameStop 的 NFT 市场预计在第二季度推出。公司管理层在财报电话会议上表示,数字资产钱包已经从 Chrome 应用商店获得了“大量”下载,首席执行官 Matt Furlong 提到:“我们坚信数字资产是游戏未来的核心”。(coindesk)[2022/6/2 3:57:28]

3、 Sushi Maker 合约的 convert 函数紧接着会调用内部的 _toWETH 函数将 burn 获得的代币转换成 WETH,由于在第二步 Sushi Maker 合约通过 burn 获得了 SLP 和 WETH。其中 WETH 无需转换,只需转换 SLP。此时,转换将会通过调用 SLP/WETH 交易对进行转换,也就是攻击者在第一步创建的交易对。由于 Sushi Maker 合约在转换时会将所有的 balanceOf (token0) 转换成 WETH,这里传入的 token0 为 SLP,于是合约将合约中所有的 SLP 通过 SLP / WETH 交易对进行兑换 (兑换的 SLP 包含 USDT/WETH 交易对每次 swap 产生的收益和在第二步合约通过 burn 函数获得的 SLP )。而 SLP / WETH 代币池是攻击者创建的,攻击者只需在初始化的时候添加少量的 WETH,就可以在 Sushi Maker 交易对进行兑换的过程中,用少量的 WETH 换取 Sushi Maker 合约中对应交易对的所有的 SLP。

4、攻击者使用 burn 函数在 SLP/WETH 交易对中燃烧掉自己的 SLP1, 拿到大量的 SLP 和小量的 WETH,并继续对其他流动性池重复该过程,持续获利。

攻击者使用 SLP 和 WETH 创建一个新的代币池,使用新代币池的 SLP1 在 Sushi Maker 中进行 convert,使用少量的 SLP 将 Sushi Maker 合约中的所有 SLP 转到自己创建的代币池中,即将对应交易对一段时间内的所有手续费收入囊中。并对其他交易对重复这个过程,持续获利。

By :??yudan@慢雾安全团队

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:11ms