北京时间2022年3月13日上午9:04,CertiK安全技术团队监测到Paraluni'sMasterChef?合约遭到攻击,大约170万美元的资金通过多笔交易从该项目中被盗。
下文CertiK安全团队将从该项目的操作及合约等方面为大家详细解读并分析。
合约地址
Masterchef合约:?https://bscscan.com/address/0xa386f30853a7eb7e6a25ec8389337a5c6973421d#code
Paradigm和FTX联手推出加密期货价差交易:8月12日消息,流动性平台Paradigm已与FTX合作推出加密期货价差交易产品。
此前Paradigm与Bybit和Deribit集成,并于2月开始提供通过这些交易所清算的期货价差。[2022/8/12 12:21:56]
攻击者部署了两个恶意的代币合约UGT和UBT。
在UBT代币合约中,有两个恶意的函数实现:
????1.在"transferFrom()"函数中,攻击者实现了对MasterChef的"deposit()"函数的调用,以存入LP代币。
Spartan Protocol根据SPIP-105提案 将降低Synth Vault的收益百分比:4月22日消息,合成代币协议Spartan Protocol根据SPIP-105提案,将降低Synth Vault的收益百分比,每2周左右降低1%,直到降到0%。提案称此举将有效地推动用户逐渐销毁Synths,以便之后合约从V2升级到V3。[2022/4/22 14:42:13]
????2.一个"withdrawAsset()"函数,将调用Masterchef的"withdraw()"来提取存入的LP代币。
动态 | 日本Aerial Partners合作freee开发加密货币线上会计服务:据crypto.watch消息,日本Aerial Partners昨日宣布与freee达成合作,双方将共同开发从收益计算到申报的一整套加密货币线上会计服务。[2018/11/7]
攻击阶段:
攻击者利用闪电贷获得了156,984BSC-USD和157,210BUSD。
攻击者向ParaPair发送通过闪电贷获得的BSC-USD和BUSD代币,并收到155,935枚LP代币作为回报。
然后,攻击者调用"depositByAddLiquidity()"函数,将LP代币存入资金池。
???????1.在调用此函数时:输入参数“_pid”为18,“_tokens”为。
????????2.因为depositByAddLiquidity()会调用“UBT.transferFrom()”函数,因此MasterChef.deposit()函数会被触发并且向合约存入155,935LP代币。
???????3.因此,155,935LP代币被存入了两次并且攻击者获得了两份“userInfo”的记录(一次是从UBT,另一次是从攻击者的合约)。
最后,攻击者提取了两次:
???????1.?第一次是通过函数“UBT.withdrawAsset()”。
???????2.另一个是来自攻击者对“Masterchef.withdraw()”函数的调用。最后,攻击者删除了流动资金并返还了闪电贷。
`depositByAddLiquidity()`函数通过调用`addLiquidityInternal()`函数,触发了传入恶意代币的“transferFrom”函数,进而导致了重入的问题。因此,同一份LP代币被存入两次。
BNB仍然在攻击者在BSC的地址中,235个ETHs则通过Birdge转移到以太坊,并通过Tornado进行洗白。
时刻关注函数的外部输入,尽量避免传入合约地址作为参数。
关注外部调用,为所有可能出现重入危险的外部调用函数加上“nonReentrant”修饰函数。
本次事件的预警已于第一时间在CertiK项目预警推特进行了播报。
除此之外,CertiK官网https://www.certik.com/已添加社群预警功能。在官网上,大家可以随时看到与漏洞、黑客袭击以及RugPull相关的各种社群预警信息。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。