ISS:首发 | Mercurity.finance智能合约安全漏洞分析

今年美国大选虽说有了广泛意义上的尘埃落定,但竞选结果并未明确。

如今拜登团队宣布胜选,美国媒体纷纷宣布拜登当选下届美国总统。而另一方面,川普拒绝接受败选结果,他持续进行计票,并宣称要采取法律行动。

造成如今这个混乱结果的首要原因在于美国没有设立独立的对大选事务具有权力的权威性的选举委员会,在默认情况下,是新闻机构承担了这个角色。假如川普获得过大的权力,控制了大多新闻机构,营造虚假选票,结果尚未可知。

这就意味着某种程度上,可以说是极尽中心化的“推特治国”后的又一“媒体选举”。

从选举,到互联网,到区块链,2020年,中心化不再是权威的体现,而是“独断”、“专权”的代名词。

Filecoin基金会开放第十三轮开发者赠款申请:11月14日消息,Filecoin基金会开放第十三轮开发者赠款申请。[2021/11/15 21:51:04]

北京时间11月9日,CertiK安全研究团队发现DeFi项目Mercurity.finance智能合约代码部分存在中心化风险。

项目拥有者拥有过大权限,可以进行任意数目的铸币,并为给定账户提供任意数目的奖励。

技术步骤分析如下:

ERC20Token.sol

代码地址:

https://github.com/MER-DAO/MEE-core/blob/main/contracts/tokens/ERC20Token.sol

ECC、Protocol Labs、Filecoin基金会、以太坊基金会将合作开发Halo 2:9月21日消息,Electric Coin Co.(ECC)已经与Protocol Labs、Filecoin基金会以及以太坊基金会达成协议,以探索Halo的研发,包括如何在各自的生态系统中使用该技术。Filecoin是一个开源云存储市场、协议和加密货币;以太坊基金会是一个致力于支持以太坊和相关技术的非营利组织。

根据协议的条款,非营利组织Bootstrap将获得200万美元资金,Filecoin基金会、Protocol Labs和以太坊基金会将参与合作研发工作,旨在利用协议内递归zk证明系统。

据悉,Halo 2将于明年1月在Zcash实施,届时将推出适用于下一代Zcash的产品套件Halo Arc for Zcash,包括对Zcashd、ECC参考钱包应用程序和ECC钱包SDK的更新。[2021/9/21 23:40:46]

部署地址:

OKEx平台FILUSDT永续合约跌破20USDT:据Gate.io数据,FIL短时跌破60 USDT,现报66 USDT,24小时涨幅达103.03%。据BiKi数据,FIL报105.05 USDT,24小时跌幅达3.73%。OKEx平台FILUSDT永续合约现报19.8 USDT,跌幅达47.84%。行情波动较大,请做好风险控制。[2020/10/16]

https://etherscan.io/address/0xe1b583dc66e0a24fd9af2dc665f6f5e48978e106#code

图一:ERC20Token智能合约构造函数

图二:onlyIssuer修饰词

金色首发 EOS超级节点竞选投票率达6.49%:金色财经数据播报,截止北京时间6月13日15:50,EOS投票率达6.49%。EOS引力区和EOS佳能作为两个来自中国的超级节点竞选团队暂居第五和第六名。其中EOS引力区的得票总数为903万,占比2.96%;EOS佳能的得票总数为877万,占比2.87%。此前异军突起的EOSflytomars暂居第17位,得票总数为630万,占比2.07%。目前跻身前30名的超级节点竞选团队中,有八个团队来自中国。[2018/6/13]

图三:具有铸币方法的issue函数

如图一所示,项目拥有者在ERC20Token.sol智能合约中的构造函数可以将自身设置为issuer身份。由于在智能合约部署时,其构造函数会被自动执行,因此项目拥有者会自动成为issuer。

通过图二中显示的onlyIssuer修饰词的限制,任意拥有issuer身份的外部调用者将可以执行任意被onlyIssuer修饰词修饰的函数。

因此,拥有issuer身份的项目拥有者可以执行图三中具有铸币方法的issue函数,从而可以为任意账户铸造任意数目的代币。

除此之外,该项目还存在一个允许项目拥有者提供代币奖励的后门。该后门存在与AwardContract.sol智能合约中。

AwardContract.sol

代码地址:

https://github.com/MER-DAO/MEE-core/blob/main/contracts/AwardContract.sol

部署地址:

https://etherscan.io/address/0x8Ea43ce113456f45defd0E27e809d719b9CA2362#code

图四:AwardContract智能合约构造函数

图五:onlyGovernor修饰词

图六:addFreeAward智能合约函数

当AwardContract.sol被项目拥有者部署到区块链上时,AwardContract合约的构造函数会被自动执行,也就意味着图四中43行代码被自动执行后,项目拥有者会自动被赋予governor身份。

拥有governor身份的外部调用者可以类似的执行任意被onlyGovernor修饰词修饰的智能合约函数,例如图六中所示addFreeAward函数。

由于所有外部调用者都可以通过调用图七中withdraw函数来将属于自己的奖励取出,因此当governor身份的外部调用者为某一个账户添加了某一数量的奖励后,A账户可以对该函数进行调用,并通过246行的判断条件检查后,通过在281行调用safeIssue()函数来取出被添加的奖励。

图7:withdraw智能合约函数

综上分析,Mercurity.finance项目中智能合约存在的后门漏洞均来自于项目拥有者权限过大。在该类中心化治理机制中,项目拥有者得到了可以随时获利或者摧毁项目经济系统的权利。

CertiK安全研究团队建议Mercurity.finance更新项目中采用的治理系统,引入社区管理的机制。

CertiK在此提醒广大用户:

1.合约代码需要经过严格的安全验证和审计才可被允许公布。

2.投资者在投资采用中心化治理机制的项目时需衡量风险,谨慎投资。

欢迎搜索微信关注CertiK官方微信公众号,点击公众号底部对话框,留言免费获取咨询及报价!??

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

链链资讯

CoinwVST:VST模拟金使用说明

关键词:模拟盘、VST、模拟金 一、VST模拟金介绍 VST是Bingbon官方平台模拟金,可在Bingbon平台作为本金进行模拟盘操作训练.

[0:15ms0-4:113ms