
Mercurity.finance智能合约安全漏洞分析
今年美国大选虽说有了广泛意义上的尘埃落定,但竞选结果并未明确。
如今拜登团队宣布胜选,美国媒体纷纷宣布拜登当选下届美国总统。而另一方面,川普拒绝接受败选结果,他持续进行计票,并宣称要采取法律行动。
造成如今这个混乱结果的首要原因在于美国没有设立独立的对大选事务具有权力的权威性的选举委员会,在默认情况下,是新闻机构承担了这个角色。假如川普获得过大的权力,控制了大多新闻机构,营造虚假选票,结果尚未可知。
这就意味着某种程度上,可以说是极尽中心化的“推特治国”后的又一“媒体选举”。
从选举,到互联网,到区块链,2020年,中心化不再是权威的体现,而是“独断”、“专权”的代名词。
北京时间11月9日,CertiK安全研究团队发现DeFi项目Mercurity.finance智能合约代码部分存在中心化风险。
项目拥有者拥有过大权限,可以进行任意数目的铸币,并为给定账户提供任意数目的奖励。
技术步骤分析如下:
ERC20Token.sol
代码地址:
https://github.com/MER-DAO/MEE-core/blob/main/contracts/tokens/ERC20Token.sol
部署地址:
https://etherscan.io/address/0xe1b583dc66e0a24fd9af2dc665f6f5e48978e106#code
图一: ERC20Token智能合约构造函数
图二:onlyIssuer修饰词
图三: 具有铸币方法的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)添加了某一数量的奖励后,A账户可以对该函数进行调用,并通过246行的判断条件检查后,通过在281行调用safeIssue()函数来取出被添加的奖励。
图7:withdraw智能合约函数
综上分析,Mercurity.finance项目中智能合约存在的后门漏洞均来自于项目拥有者权限过大。在该类中心化治理机制中,项目拥有者得到了可以随时获利或者摧毁项目经济系统的权利。
CertiK安全研究团队建议Mercurity.finance更新项目中采用的治理系统,引入社区管理的机制。
CertiK在此提醒广大用户:
1. 合约代码需要经过严格的安全验证和审计才可被允许公布。
2. 投资者在投资采用中心化治理机制的项目时需衡量风险,谨慎投资。
比推快讯
更多 >>- 摩根大通: Circle 面临来自 Tether、Hyperliquid 和Fintech公司的“激烈”竞争
- 美元指数上涨 0.49%,收于 97.349
- 美股三大股指齐创新高,英特尔大涨 22.7%
- 彭博高级 ETF 分析师:未来12个月内很有可能推出 100 多个加密货币 ETF
- 波兰首只比特币 ETF 在华沙证券交易所上市,推动加密货币采纳
- Chainlink储备基金自8月以来累计回购790万美元的LINK代币
- 特朗普暗示俄乌冲突问题将传来“好消息”
- 加拿大警方缴获价值超过5600万美元的加密资产,为该国史上最高
- 欧盟推进养老金与加密货币改革,计划年底前落实
- Coinbase推出USDC链上借贷功能
- DEX 聚合器 Titan 完成 700 万美元种子轮融资,Galaxy Ventures 领投
- 数据:过去 24 小时全网爆仓 4.08 亿美元,多单爆仓 1.69 亿美元,空单爆仓 2.39 亿美元
- 稳定币 PayPal USD 通过 LayerZero 扩展到 TRON 网络
- 加拿大 RCMP 查获超 5600 万美元加密货币并关闭 TradeOgre 平台
- 特朗普政府请求美国最高法院允许总统解雇美联储理事库克
- Warren 等美参议员质询 Binance 是否履行 2023 年合规协议
- 某钻石手持有 BNB 7 年,获利 2880 万美元
- 分析:美联储降息或为等待“绿灯”的美股 IPO 扫清障碍
- PayPal 稳定币 PYUSD 已上线 Stellar 网络
- BounceBit 基金会拟探索使用平台手续费用持续回购 BB
- Coinbase CEO:银行以虚假威胁对抗稳定币奖励政策
- 某巨鲸地址再次将 9000 枚 ETH 转入 Binance,过去 3 日累计转出 1.5 万枚 ETH
- 老挝政府拟利用水电盈余开展比特币挖矿以缓解债务危机
- SBF 推特新关注多个账号,FTT 15 分钟内拉涨 50%
- SBF 的 X 账号疑似出现异动,关注大量用户
- 麦格理将美国降息预期提前至 2026 年第一季度
- OKX 计划于 9 月 19 日调整 BARDUSDT 永续合约的资金费结算频率
- 特朗普:随着时间推移,股市将表现得更好
- 花旗将加密货币交易所 Bullish 目标价上调至 70 美元并重申买入评级
- Monad 推出激励计划 Momentum,首轮申请拟于 9 月 28 日结束
- 贾跃亭:美 SEC 批准简化加密 ETF 上市途径,为 Solana 等资产打开大门
- Greeks.live:交易员积极卖出看跌期权并预期价格上涨
- Kraken 与 Legion 合作推出合规代币销售平台
- 芝加哥期权交易所宣布狗狗币 ETF 已上市
- 某钻石手鲸鱼持有两年 APX,获利近 9 倍
- 美联储首次降息点燃华尔街热情,美股大幅上涨
- 特朗普声称今年美国将产生超过 17 万亿美元投资
- Brera Holdings 更名为 Solmate 并募资 3 亿美元启动 SOL 财库
- 道琼斯指数开盘下跌,标普 500 和纳斯达克上涨
- 不丹王国政府刚刚向 2 个新钱包转移了 913 枚 BTC
- POP Culture 斥资 3300 万美元买入 300 枚比特币
- 摩根大通交易团队:美股或将迎来爆炸性上涨时刻,未来两大关键数据 10 月中上旬发布
- 前 Pantera 合伙人将领导 Solmate,并投资 3 亿美元在阿联酋开展 Solana DAT 项目
- 米兰暗示美联储可能下调利率 1.25 个百分点
- 美联储主席鲍威尔潜在继任者沃勒似乎对降息 25 个基点感到满意
- 纳斯达克上市公司 SunCar 拟斥资 1000 万美元购买加密货币
- Plasma 将于 9 月 25 日 TGE,并上线主网
- Bitwise CEO:加密信用和借贷将在未来 6-12 个月内呈爆炸式增长
- 美元兑日元日内涨幅达 0.5%,现报 147.71
- 初请失业金人数降温,数据“迷惑戏码”或将再起
比推专栏
更多 >>观点
比推热门文章
- 摩根大通: Circle 面临来自 Tether、Hyperliquid 和Fintech公司的“激烈”竞争
- 山寨季启动:BNB创新高,ETF打开暴涨空间
- TGE在即,Plasma如何成为稳定币领域的「Chrome」?
- 美元指数上涨 0.49%,收于 97.349
- 美股三大股指齐创新高,英特尔大涨 22.7%
- 从持有到“生息”,Solana DAT 储备已突破40亿美元
- 彭博高级 ETF 分析师:未来12个月内很有可能推出 100 多个加密货币 ETF
- 波兰首只比特币 ETF 在华沙证券交易所上市,推动加密货币采纳
- Chainlink储备基金自8月以来累计回购790万美元的LINK代币
- 特朗普暗示俄乌冲突问题将传来“好消息”