首发 | SushiSwap仿盘 YUNO与KIMCHI智能合约漏洞或存安全隐患
北京时间8月31日和9月1日,CertiK安全研究团队发现Sushiswap仿盘的两个项目YUNo Finance (YUNO)与KIMCHI.finance (KIMCHI),其智能合约均存在漏洞。如果利用该漏洞,智能合约拥有者可以无限制地增发项目对应的代币数目,导致项目金融进度通胀并最终崩溃。
以Yuno项目中智能合约为例,CertiK安全研究团队对于该无限增发漏洞进行了详细分析,技术细节如下:?
在Yuno项目中的MasterChef.sol智能合约第1354行中,dev方法可以允许当前拥有devaddr身份的智能合约调用者,将devaddr身份转移给另外一个地址。
截图出自:https://etherscan.io/address/0x450f143f1a8650fff968d890814bd5884bdc8f1d#code
下图中可以看到在智能合约1282行的mint方法是由修饰器onlyOwner进行限制,修饰器onlyOwner决定了只能是智能合约拥有者来执行这个合约。
以上三截图均出自:https://etherscan.io/address/0x450f143f1a8650fff968d890814bd5884bdc8f1d#code
拥有devaddr身份的调用者,当其身份恰好同时为owner身份的时候,可以通过调用MasterChef.sol智能合约1282行的mint方法,来无限制的增发代币。1282行的mint方法会继续调用1130行的mint方法,并继续由1130行mint方法调用1044行的_mint方法,并最终完成代币增发的操作。
?Kimichi项目智能合约中存在的无限增发漏洞与以上漏洞基本相同,因此在这里不进行重复叙述。
如果owner和devaddr的地址如果相同,那么在外部没有对智能合约拥有者限制的情况下,智能合约拥有者拥有权利增发任意数量的代币,这将会将投资者置于风险之中。那么Yuno和Kimichi这两个项目中的devaddr和owner是否为同一人呢?是否有其他外部制约机制可以限制这两个项目的智能合约拥有者呢?
下图为Yuno项目MasterChef.sol智能合约中拥有devaddr和owner身份的地址(截止北京时间9月1日晚11点)。
截图出自:https://etherscan.io/address/0x9dd5b5c71842a4fd51533532e5470298bfa398fd#readContract
下图为Kimichi项目中KimchiChef.sol智能合约中拥有devaddr和owner身份的地址(截止北京时间9月1日晚11点)。
截图出自:https://etherscan.io/address/0x9dd5b5c71842a4fd51533532e5470298bfa398fd#readContract
从上两图中可以看到,Yuno项目中拥有devaddr和owner身份的地址为同一个,因此其智能合约拥有者有权利进行无限制的代币增发。而Kimichi项目中拥有devaddr和owner身份不同,但由于devaddr的身份可以进行转移,因此也存在一定的风险。
目前措施为了确保无限增发漏洞不会被触发,对于Yuno和Kimichi两个项目的智能合约拥有者必须由外部进行限制。当前已经实施的限制条件与Sushiswap项目一致,即对任何由智能合约拥有者进行的智能合约操作,均有48小时的延迟。任何来自智能合约拥有者的操作都会被所有投资者观察到,并有48小时进行应对操作。
CertiK安全团队建议- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。