pGALA 事件分析:根本在于系私钥明文在 GitHub 泄露
相关音讯
pGALA 合约地址
0x7dDEE176F665cD201F93eEDE625770E2fD911990
proxyAdmin 合约地址
0xF8C69b3A5DB2E5384a0332325F5931cD5Aa4aAdA
proxyAdmin 合约原 owner 地址
0xfEDFe2616EB3661CB8FEd2782F5F0cC91D59DCaC
proxyadmin 合约以后 owner 地址
0xB8fe33c4B55E57F302D79A8913CE8776A47bb24C
简明剖析
1. 在 pGALA 合约运用了透明代理(Transparent Proxy)模型,其具有三个特权角色,区分是 Admin、DEFAULT_ADMIN_ROLE 与 MINTER_ROLE。
2. Admin 角色用于管理代理合约的升级以及更改代理合约 Admin 地址,DEFAULT_ADMIN_ROLE 角色用于管理逻辑中各特权角色(如:MINTER_ROLE),MINTER_ROLE 角色管理 pGALA 代币铸造权限。
3. 在此事情中,pGALA 代理合约的 Admin 角色在合约布置时被指定为透明代理的 proxyAdmin 合约地址,DEFAULT_ADMIN_ROLE 与 MINTER_ROLE 角色在初始化时指定由 pNetwork 掌握。proxyAdmin 合约还具有 owner 角色,owner 角色为 EOA 地址,且 owner 可以通过 proxyAdmin 升级 pGALA 合约。
4. 但慢雾平安团队发觉 proxyAdmin 合约的 owner 地址的私钥明文在 Github 泄漏了,因此任何获得此私钥的用户都可以掌握 proxyAdmin 合约随时晋级 pGALA 合约。
5. 倒运的是,proxyAdmin 合约的 owner 地址曾经在 70 天前(2022-08-28)被替换了,且由其管理的另一个项目 pLOTTO 疑似已被攻击。
6. 由于透明代理的架设想象,pGALA 代理合约的 Admin 角色改换也只能由 proxyAdmin 合约发起。因此在 proxyAdmin 合约的 owner 权限丧失后 pGALA 合约已处于随时可被攻击的风险中。
总结
综上所述,pGALA 事情的根本缘由在于 pGALA 代理合约的 Admin 角色的 owner 私钥在 Github 泄漏,且其 owner 地址已在 70 天前被恶意交流,招致 pGALA 合约处于随时可被攻击的风险中。
本文来自网络,不代表币圈之家立场,如有侵权请联系我们删除,转载请注明出处:https://www.110btc.com/qukuai/48178.html