SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

7月 30, 2021

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

本次进犯中的要害是 AMM 的滑点问题,黑客运用手续费兑换进程中的巨大滑点获利。…安全,WBTC,DeFi,AMM,SushiSwap,DIGG 安全 WBTC DeFi AMM SushiSwap DIGG慢雾科技 图标 Logo慢雾科技区块链作者,团队,专栏,大众号,头条·

本次进犯中的要害是 AMM 的滑点问题,黑客运用手续费兑换进程中的巨大滑点获利。

原文标题:《怎么经过稳定乘积黑掉 SushiSwap ?简析 SushiSwap 第2次被进犯始末》
撰文 : yudan,来自慢雾安全团队

2021 年 1 月 27 日,据慢雾区情报,SushiSwap 再次遭受进犯,此次问题为 DIGG-WBTC 买卖对的手续费被进犯者经过特别的手法薅走。慢雾安全团队在收到情报后立马介入相关事情的剖析作业,以下为进犯相关细节。

SushiMaker 是什么

SushiMaker 是 SushiSwap 协议中的一个重要的组件,其用于搜集 SushiSwap 每个买卖对的手续费,并经过设置每个代币的路由,将不同买卖对的手续费终究转化成 sushi 代币,回馈给 sushi 代币的持有者。这个进程便是发生在 SushiMaker 合约上。

说说稳定乘积

稳定乘积的公式很简单,在不核算手续费的状况下,稳定乘积的公式为

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

也便是说每次兑换,其实都是遵从这个公式,及买卖前后 K 值不变,在兑换的进程中,因为要坚持 K 值不变,公式的方式会是这个姿态

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

其间 X 代表卖掉的代币,Y 代表要购买的代币,那么每次能兑换到的代币数量会是这个姿态 (详细的推导进程就不演示了 :D)

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

从公式上能够看到,当输出代币 Y 的兑换数量上限取决于 Y 代币的数量,而和 X 代币数量的巨细无关,反过来说,假如要卖掉的 X 代币数量很大,可是 Y 代币的数量很小,那么就会形成许多的 X 代币只能兑换出少数的 Y 代币,而这个兑换价格比较正常的买卖价格会违背许多,这便是所谓的滑点,是本次进犯中的要害。

进犯流程

2020 年 11 月 30 日,SushiSwap 就曾因为 SushiMaker 的问题呈现过一次进犯 (详解参看: 以小广博,简析 Sushi Swap 进犯事情始末),本次进犯和第一次进犯相似,但流程上有差异。相较于旧合约,在新的合约中, 手续费在兑换的进程中会经过 bridgeFor 函数为不同买卖对中的代币寻觅特定的兑换路由,然后进行兑换。

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

其间,brdigeFor 函数的逻辑如下:

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

依据 bridgeFor 的逻辑,咱们不难发现,假如没有手动设置过特定币种的 bridge,那么默许的 bridge 是 WETH,也便是说,在未设置 bridge 的状况下,默许是将手续费兑换成 WETH。而 DIGG 这个币,便是正好没有经过 setBridge 设置对应的 bridge 的。

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

可是这儿还有一个问题,便是在 swap 的进程中,假如这个买卖对不存在,兑换的进程是失利的。本次进犯中,DIGG-WETH 这个买卖对一开始并不存在,所以进犯者预先创立一个 DIGG-WETH 的买卖对,然后增加少数的流动性。这个时分假如发生手续费兑换,依据前面说的稳定乘积的特性,因为 DIGG-WETH 的流动性很少,也便是 DIGG-WETH 中的 WETH 上限很小,而 SushiMaker 中的要转化的手续费数量相对较大,这样的兑换会导致巨大的滑点。兑换的进程会拉高 DIGG-WETH 买卖对中 WETH 兑 DIGG 的价格,而且,DIGG-WETH 的一切 DIGG 手续费收益都到了 DIGG-WETH 买卖中。经过调查 DIGG-WETH 买卖对的流动性状况,流动性最大的时分也才只要不到 2800 美元的流动性,这个成果也能和公式的推导彼此验证。

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

进犯者在 SushiMaker 完结手续费转化后,因为 DIGG-WETH 买卖对中 WETH 兑 DIGG 的价格现已被拉高,导致少数的 WETH 即可兑换许多的 DIGG,而这个 DIGG 的数量,正是 DIGG-WBTC 买卖对的大部分手续费收入。

SushiSwap DIGG-WBTC 买卖对手续费被薅走,慢雾解析进犯流程

总结

本次进犯和 SushiSwap 第一次进犯相似,都是经过控制买卖对的兑换价格来发生获利。可是进程是不一样的。第一次进犯是因为进犯者运用 LP 代币自身和其他代币创立了一个新的买卖对,并经过操作初始流动性控制了这个新的买卖对的价格来进行获利,而这次的进犯则运用了 DIGG 自身没有对 WETH 买卖对,而进犯者创立了这个买卖对并控制了初始的买卖价格,导致手续费兑换进程中发生了巨大的滑点,进犯者只需运用少数的 DIGG 和 WETH 供给初始流动性即可获取巨额利润。

相关参阅链接如下

SushiMaker 归集手续费买卖:
https://etherscan.io/tx/0x90fb0c9976361f537330a5617a404045ffb3fef5972cf67b531386014eeae7a9

进犯者套利买卖:
https://etherscan.io/tx/0x0af5a6d2d8b49f68dcfd4599a0e767450e76e08a5aeba9b3d534a604d308e60b

DIGG-WETH 流动性概况:
https://www.sushiswap.fi/pair/0xf41e354eb138b328d56957b36b7f814826708724

Sushi 第一次被进犯详解:
https://mp.weixin.qq.com/s/-Vp9bPSqxE0yw2hk_yogFw

免责声明:作为区块链信息渠道,本站所发布文章仅代表作者个人观点,与链闻 ChainNews 态度无关。文章内的信息、定见等均仅供参阅,并非作为或被视为实践出资主张。

[标签:作者]


admin