我们分析了Worldcoin代币$WLD的智能合约0x163f8c2467924be0ae7b5347228cabf260318753,发现其存在一定的安全隐患,以下是关于代币$WLD的相关风险详解。
中心化方法
mintOnce函数
该合约实现了一个中心化的铸币机制mintOnce,允许owner调用此函数一次性地对多个地址进行批量铸币。经查证,该函数已经被当前的owner调用过。
当前的owner是一个1/1多签钱包合约:0x59a0f98345f54bAB245A043488ECE7FCecD7B596,且只有一个合约拥有者0xc534a745bFfaF9466Ed7B47fA23B0177b99A3e77,这意味着只需要一个签名就可代表owner进行特权操作。
setMinter函数
该合约还实现了setMinter函数,允许owner设置一个minter地址,不过目前minter是零地址。
mintInflation函数
如果owner设置了一个非零minter,该minter就可以随意调用mintInflation对任意地址无限量增发代币。
代币分配
经过统计,前6个地址已经持有了94.5%的总发行量,这说明代币分配非常集中。
综上所述,$WLD代币存在以下安全隐患:
Owner目前只有一个签名者,意味着只需要一个人的签名就可以代表owner对合约进行特权操作
存在设置minter后无限增发代币的风险
代币分配过于集中,前6个地址持有绝大部分代币
为降低这些安全风险,我们建议:
增加owner的签名者数量,实施多签管理
约束合约拥有者任意设置minter,防止无限增发
采取锁仓或者持续释放等措施,降低代币分配的集中度
安全是区块链生态健康发展的基石,我们会继续关注项目安全,及时进行安全风险提示,共同维护链上资产安全。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。