http://www.7klian.com

智能合约安详裂痕事件阐明

智能合约拥有者不该该拥有无限的权利,必需通过社区禁锢(governance)来限制智能合约拥有者并确保其不会操作自身优势举办恶意操纵;

当migrator的值被确定之后,上图中142行的代码,migrator.migrate(lpToken)也就被随之确定,由migrate的要领是通过IMigratorChef的接口来举办挪用的,因此在挪用的时候,migrate的要领中的逻辑代码会按照migrator值的差异而变革。

北京时间8月28日,CertiK安详研究团队发明sushiswap项目智能合约中存在多个安详裂痕,该裂痕大概被智能合约拥有者操作,,答允拥有者举办包罗将智能合约账户内的代币在没有授权的环境下取空等操纵在内的任意操纵。同时该项目智能合约还存在严重的重入进攻裂痕,会导致潜在进攻者的恶意代码被执行多次。

该裂痕的启示:

简而言之,假如智能合约拥有者将migrator的值指向一个包括恶意migrate要领代码的智能合约,那么该拥有者可以举办任何其想举办的恶意操纵,甚至大概取空所有的账户内的代币。

MasterChief.sol:131 https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol

Sushiswap智能合约安详裂痕事件阐明

MasterChief.sol:136 https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol

智能合约代码需要颠末严格的安详验证和查抄之后,才气够被答允发布。

当前sushiswap项目建设者暗示已经将该项目插手了时间锁定(timelock)合约的显示,即任意sushiswap项目智能合约拥有者的操纵会有48小时的延迟锁定。

同时,在上图142行中执行竣事migrator.migrate(lpToken)这一行代码后,智能合约拥有者也可以操作重入进攻裂痕,再次从头执行从136行开始的migrate要领可能其他智能合约要领,举办恶意操纵。

在sushiswap项目智能合约的MasterChief.sol智能合约的131行中,智能合约的拥有者可以有权限来设定上图中migrator变量的值,该值的设定可以抉择由哪一个migrator合约的代码来举办后头的操纵。

技能步调:

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