Memestake通缩模型闪电贷攻击分析-ODAILY_KEANU:AssetFun

事件背景

北京时间7月20日,有消息称Sanshu项目方旗下的Memestake项目遭受闪电贷攻击,损失高达10余万美金。知道创宇区块链安全实验室对此事件展开复盘分析。

事件跟踪

攻击时间:2021-07-2019:23:20攻击者地址:0x0333E323E61aa8aFA38A1623604A165dCB9F4fEC攻击交易哈希:a):https://etherscan.io/tx/0x628174eccf05e94a3385f882805124b5d8718a0c9906c6cd0c573e5d6f56c9d2

“0xc2e7...f12”钱包地址再次被钓鱼攻击,损失约99.8万USDT:金色财经报道,据派盾监测显示,“0xc2e7...f12”钱包地址再次被钓鱼攻击,损失998,009枚USDT。此前受害者“0xc2e7...f12”钱包地址在2月份向钓鱼地址0x0CeC...f42批准了Unlimited USDT,被钓鱼攻击损失约110万USDT。[2023/5/10 14:54:16]

DEUS:DEI攻击者已退还BSC链上约107万美元资产:5月7日消息,DeFi协议DEUS发推特确认称,DEI攻击者地址之一(0xdf610228开头)已经将1,070,127枚Binance-PegDaiToken(价值约107万美元)转入DEUS团队控制的BSC链上多签地址。

此前报道,DEUS推出的稳定币DEI昨日遭黑客攻击,损失已超630万美元,DEUS今日表示,如果资金被退回,他们将不会采取任何法律行动,20%的资金将作为漏洞赏金。[2023/5/7 14:48:07]

b):https://etherscan.io/tx/0x00edd68087ee372a1b6e05249cc6c992bb7b8478cc0ddc70c2a1453428285808

加密矿企Core Scientific起诉Celsius,要求支付逾期账单:10月22日消息,根据提交的法庭文件,矿业公司Core Scientific指控加密贷款机构Celsius自申请第11章破产保护以来拒绝支付账单,Core称付款违约正在威胁其金融稳定。根据该文件,Celsius在今年8月、9月共计欠款2,104,683.28美元。Core每天继续损失约53,000 美元,以支付Celsius拒绝支付申请后增加的电费。

在法庭文件中,Celsius称Core Scientific延迟了挖矿设备的部署,并为他们提供的电力少于合同规定。Celsius正寻求法院裁定Core藐视法庭,并要求其履行义务;同时,Core请求法院强制Celsius支付逾期账单或允许其履行合约。Celsius要么需要遵守合约,要么Core和Celsius必须在Celsius导致另一个商业伙伴(Core)进入破产程序之前终止他们的关系。

Celsius和Core之间的纠纷定于下个月由美国破产法 Martin Glenn举行听证会。(Cointelegraph)[2022/10/22 16:35:13]

YML启动首个NFT项目以恢复加州森林:金色财经报道,总部位于硅谷的数字机构 YML 今天宣布启动首个用于恢复加州森林的 NFT 项目。该项目名为 FIREWATCH,旨在防止野火并促进加州的重新造林。更重要的是,所有收益都将捐给致力于全球重新造林的非营利组织 One Tree Planted。该组织将利用这笔资金支持野火的预防和保护。[2022/9/2 13:03:40]

c):https://etherscan.io/tx/0xa945b1857630e730bd3fac6459c82dee44da45e35cfbbd6dfb7b42146e8dde41

事件分析

如上图所示,攻击者按照攻击交易a->b->c流程发起攻击并获得收益离场,攻击复盘如下:

1.如a交易所示,攻击者先从uniswap中用weth兑换2091514065454个KEANU代币并抵押到Memestake合约(0x35C674C288577Df3e9b5dafEF945795b741c7810)中。2.如b交易所示,攻击者再利用闪电贷借取KEANU代币,并不断调用Memestake合约的deposit和withdraw函数用以消耗Memestake合约的KEANU代币,而这里就是漏洞的利用点:KEANU代币为通缩模型代币,即每笔交易会扣除2%的代币用于给其他持币用户分红。

但是Memestake中deposit和withdraw函数记录的都是转账发起者所支付的值,即用户抵押100个KEANU代币,实际到账合约的只有98个KEANU代币,但是提取的时候还是归还给用户100个KEANU代币,所以随着攻击者不停的抵押提取,合约的KEANU代币余额就越来越小。

当合约的KEANU代币余额变少时,影响了单位KEANU代币可兑换的MFUND代币数量(accMfundPerShare变量),即攻击者可以获得第一步抵押KEANU代币抵押所产生的巨额奖励MFUND代币。

3.如c交易所示,攻击者调用withdraw函数取出第一步抵押产生的MFUND代币,并归还第二步闪电贷借用的KEANU代币,并将巨额的MFUND代币再swap成WETH和SANSHU代币套利离场。

事件总结

本次闪电贷的攻击主要利用的还是通缩模型代币与传统挖矿合约逻辑不匹配导致的结果,项目方没有充分考虑到通缩模型带来的代币分红损失,导致了挖矿合约的代币余额越来越少,最终酿成了超额铸造了奖励代币MFUND的错误。

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

金宝趣谈

[0:0ms0-3:347ms