BlockBeats 消息,11 月 7 日,据慢雾区情报,上周 pNetwork 增发 GALA 事件的根本原因系私钥明文在 GitHub 泄露。在 pGALA 合约使用了透明代理(Transparent Proxy)模型,其存在三个特权角色,分别是 Admin、DEFAULT_ADMIN_ROLE 与 MINTER_ROLE。Admin 角色用于管理代理合约的升级以及更改代理合约 Admin 地址,DEFAULT_ADMIN_ROLE 角色用于管理逻辑中各特权角色(如:MINTER_ROLE),MINTER_ROLE 角色管理 pGALA 代币铸造权限。 在此事件中,pGALA 代理合约的 Admin 角色在合约部署时被指定为透明代理的 proxyAdmin 合约地址,DEFAULT_ADMIN_ROLE 与 MINTER_ROLE 角色在初始化时指定由 pNetwork 控制。proxyAdmin 合约还存在 owner 角色,owner 角色为 EOA 地址,且 owner 可以通过 proxyAdmin 升级 pGALA 合约。 但慢雾安全团队发现 proxyAdmin 合约的 owner 地址的私钥明文在 Github 泄漏了,因此任何获得此私钥的用户都可以控制 proxyAdmin 合约随时升级 pGALA 合约。不幸的是,proxyAdmin 合约的 owner 地址已经在 70 天前(2022-08-28)被替换了,且由其管理的另一个项目 pLOTTO 疑似已被攻击。由于透明代理的架构设计,pGALA 代理合约的 Admin 角色更换也只能由 proxyAdmin 合约发起。因此在 proxyAdmin 合约的 owner 权限丢失后 pGALA 合约已处于随时可被攻击的风险中。
领取专属 10元无门槛券
私享最新 技术干货