
一文简析 SushiSwap 第二次被攻击始末
SushiSwap 再次遭遇攻击,此次问题为 DIGG-WBTC 交易对的手续费被攻击者通过特殊的手段薅走。
By : yudan@慢雾安全团队
背景
2021 年 1 月 27 日,据慢雾区情报,SushiSwap 再次遭遇攻击,此次问题为 DIGG-WBTC 交易对的手续费被攻击者通过特殊的手段薅走。慢雾安全团队在收到情报后立马介入相关事件的分析工作,以下为攻击相关细节。
SushiMaker 是什么
SushiMaker 是 SushiSwap 协议中的一个重要的组件,其用于收集 SushiSwap 每个交易对的手续费,并通过设置每个代币的路由,将不同交易对的手续费最终转换成 sushi 代币,回馈给 sushi 代币的持有者。这个过程就是发生在 SushiMaker 合约上。
说说恒定乘积
恒定乘积的公式很简单,在不计算手续费的情况下,恒定乘积的公式为
也就是说每次兑换,其实都是遵循这个公式,及交易前后 K 值不变,在兑换的过程中,由于要保持 K 值不变,公式的形式会是这个样子
其中 X 代表卖掉的代币,Y 代表要购买的代币,那么每次能兑换到的代币数量会是这个样子(具体的推导过程就不演示了 :D)
从公式上可以看到,当输出代币 Y 的兑换数量上限取决于 Y 代币的数量,而和 X 代币数量的大小无关,反过来说,如果要卖掉的 X 代币数量很大,但是 Y 代币的数量很小,那么就会造成大量的 X 代币只能兑换出少量的 Y 代币,而这个兑换价格相比正常的交易价格会偏离很多,这就是所谓的滑点,是本次攻击中的关键。
攻击流程
2020 年 11 月 30 日,SushiSwap 就曾因为 SushiMaker 的问题出现过一次攻击(详解参阅:以小博大,简析 Sushi Swap 攻击事件始末),本次攻击和第一次攻击相似,但流程上有区别。相较于旧合约,在新的合约中, 手续费在兑换的过程中会通过 bridgeFor 函数为不同交易对中的代币寻找特定的兑换路由,然后进行兑换。
其中,bridgeFor 函数的逻辑如下:
根据 bridgeFor 的逻辑,我们不难发现,如果没有手动设置过特定币种的 bridge,那么默认的 bridge 是 WETH,也就是说,在未设置 bridge 的情况下,默认是将手续费兑换成 WETH。而 DIGG 这个币,就是正好没有通过 setBridge 设置对应的 bridge 的。
但是这里还有一个问题,就是在 swap 的过程中,如果这个交易对不存在,兑换的过程是失败的。本次攻击中,DIGG-WETH 这个交易对一开始并不存在,所以攻击者预先创建一个 DIGG-WETH 的交易对,然后添加少量的流动性。这个时候如果发生手续费兑换,根据前面说的恒定乘积的特性,由于 DIGG-WETH 的流动性很少,也就是 DIGG-WETH 中的 WETH 上限很小,而 SushiMaker 中的要转换的手续费数量相对较大,这样的兑换会导致巨大的滑点。兑换的过程会拉高 DIGG-WETH 交易对中 WETH 兑 DIGG 的价格,并且,DIGG-WETH 的所有 DIGG 手续费收益都到了 DIGG-WETH 交易中。通过观察 DIGG-WETH 交易对的流动性情况,流动性最大的时候也才只有不到 2800 美元的流动性,这个结果也能和公式的推导相互验证。
攻击者在 SushiMaker 完成手续费转换后,由于 DIGG-WETH 交易对中 WETH 兑 DIGG 的价格已经被拉高,导致少量的 WETH 即可兑换大量的 DIGG,而这个 DIGG 的数量,正是 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
比推快讯
更多 >>- UXLINK:链上迁移门户将于 10 月 1 日上午 9 点开放
- 现货黄金触及 3850 美元/盎司,续创历史新高
- CME Group CEO 反对给予 Polymarket 和 Kalshi 创新豁免权,呼吁公平竞争
- ZKVerify:空投代币申领将于明日开放
- 鲸鱼地址 0x69e4 平仓以太坊空头头寸,亏损超 158 万美元
- 纳斯达克上市公司 Reliance Global 完成首次比特币购买
- 黄仁勋出售 22.5 万股英伟达股票套现超 4000 万美元
- 加拿大上市公司 LQWD 增持约 14 枚比特币
- 美国移民执法局突击检查德克萨斯州比特币矿场,逮捕多名中国籍员工
- 九紫新能拟进行 550 万美元的注册直接发行,70% 的收益用于投资加密资产
- 美 SEC 暂停加密财库公司 QMMM 股票交易,称其股价受社交媒体操纵
- 或属 Bitmine 地址增持 25,369 枚 ETH,价值 1.07 亿美元
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0001%
- Phala Network 拟完全迁移至以太坊 L2
- 做空 5082 万美元 ETH 的巨鲸割肉止损,亏损 160 万美元
- 土耳其计划允许监管机构冻结银行及加密货币账户
- Crypto.com 获 CFTC 批准在美国开展保证金衍生品业务
- 美国马萨诸塞州将举行听证会审议比特币储备法案
- 美 SEC 已向 DoubleZero 发布的信函确认 2Z 代币不需要注册为股权证券
- 美联储 10 月降息 25 个基点概率达 89.8%
- 以太坊财库公司 Bit Digital 拟通过发行可转换债券筹集 1 亿美元
- 美国参议院少数党领袖舒默:不会接受一项为期7到10天的临时拨款法案
- 美国科技巨头争相与特朗普达成诉讼和解,和解费用总计近6000万美元
- 美股三大股指小幅收涨,金龙指数涨 2%
- 合规科技公司Notabene推出企业级稳定币支付平台
- 消息人士:参议院民主党人考虑推出为期7至10天的临时拨款方案,以避免政府停摆
- 美CFTC代理主席:与SEC的加密监管“地盘之争”已结束
- 代币化黄金市场规模逼近30亿美元,创历史新高
- 特朗普宣布结束以哈冲突的20点计划,以方已表示接受计划
- 美SEC与CFTC宣布协调加密监管政策,SEC主席称加密为“首要任务”
- Chainlink与 DTCC、Swift 等合作完成AI与区块链技术第二阶段试点
- 美国参议院共和党领袖约翰·图恩:参议院将于周二再次就避免政府停摆的法案进行投票
- 美国国会四大领导人正准备就政府关门风险在白宫举行一场高风险会议
- 纽约州NYDFS负责人Adrienne Harris宣布卸任
- 美联储穆萨莱姆:预计货币监理署将监管非银行类的稳定币发行人
- 美国威斯康星州推出比特币权利法案 AB471
- 美联储威廉姆斯:劳动力市场疲软迹象让我支持降息
- 美联储威廉姆斯:我的模型对实际中性利率的估计是0.75%
- 美联储威廉姆斯:潜在利率较低的环境仍可能持续
- 穆萨莱姆:政策在变得过于宽松之前所剩余的空间有限
- 美联储穆萨莱姆:对未来降息持开放态度,但认为需保持谨慎
- 穆萨莱姆:预计通胀将在未来两到三个季度保持高位
- 美联储威廉姆斯:不希望看到劳动力市场过度疲软
- 金融时报:美国监管机构负责人呼吁与英国实现加密货币“护照互通”
- OpenAI允许用户直接通过ChatGPT购物
- 莱特币创始人:预计现货 LTC ETF 将很快推出
- 与贝莱德 IBIT 挂钩的期权未平仓合约规模超越 Deribit,现已接近 380 亿美元
- 比特币提币放缓,过去 24 小时 CEX 净流入 368 枚 BTC
- Flying Tulip 以 10 亿美元估值募资 2 亿美元,Brevan Howard Digital 等参投
- 韩国加密资本 BlockStreet 战略投资 CAT,为其注入 2000 枚 SOL 流动性
比推专栏
更多 >>观点
比推热门文章
- UXLINK:链上迁移门户将于 10 月 1 日上午 9 点开放
- 现货黄金触及 3850 美元/盎司,续创历史新高
- CME Group CEO 反对给予 Polymarket 和 Kalshi 创新豁免权,呼吁公平竞争
- ZKVerify:空投代币申领将于明日开放
- 鲸鱼地址 0x69e4 平仓以太坊空头头寸,亏损超 158 万美元
- 纳斯达克上市公司 Reliance Global 完成首次比特币购买
- 黄仁勋出售 22.5 万股英伟达股票套现超 4000 万美元
- 加拿大上市公司 LQWD 增持约 14 枚比特币
- 美国移民执法局突击检查德克萨斯州比特币矿场,逮捕多名中国籍员工
- 九紫新能拟进行 550 万美元的注册直接发行,70% 的收益用于投资加密资产