被疯狂FOMO的Worldcoin代币,多签合约Owner竟只有一人?
我们分析了 Worldcoin 代币$WLD 的智能合约 0x163f8c2467924be0ae7b5347228cabf260318753 ,发现其存在一定的安全隐患,以下是关于代币$WLD 的相关风险详解。
中心化方法
-
mintOnce 函数
该合约实现了一个中心化的铸币机制 mintOnce,允许 owner 调用此函数一次性地对多个地址进行批量铸币。经查证,该函数已经被当前的 owner 调用过。
当前的 owner 是一个 1/1 多签钱包合约: 0x59a0f98345f54bAB245A043488ECE7FCecD7B596 ,且只有一个合约拥有者 0 x c 534 a 745 bFfaF 9466 Ed 7 B 47 fA 23 B 0177 b 99 A 3 e 77 ,这意味着只需要一个签名就可代表 owner 进行特权操作。
-
setMinter 函数
该合约还实现了 setMinter 函数,允许 owner 设置一个 minter 地址,不过目前 minter 是零地址。
-
mintInflation 函数
如果 owner 设置了一个非零 minter,该 minter 就可以随意调用 mintInflation 对任意地址无限量增发代币。
代币分配
经过统计,前 6 个地址已经持有了 94.5% 的总发行量,这说明代币分配非常集中。
综上所述,$WLD 代币存在以下安全隐患:
-
Owner 目前只有一个签名者,意味着只需要一个人的签名就可以代表 owner 对合约进行特权操作
-
存在设置 minter 后无限增发代币的风险
-
代币分配过于集中,前 6 个地址持有绝大部分代币
为降低这些安全风险,我们建议:
-
增加 owner 的签名者数量,实施多签管理
-
约束合约拥有者任意设置 minter,防止无限增发
-
采取锁仓或者持续释放等措施,降低代币分配的集中度
安全是区块链生态健康发展的基石,我们会继续关注项目安全,及时进行安全风险提示,共同维护链上资产安全。