pGALA

慢霧:pGALA 事件根本原因系私鑰明文在 GitHub 洩露

ChainCatcher 消息,据慢霧區情報,11 月 4 日,一個 BNB Chain 上地址憑空鑄造了超 10 億美元的 pGALA 代幣,並透過 PancakeSwap 售出獲利,導致此前 GALA 短時下跌超 20%。慢霧分析結果如下:在 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 年 8 月 28 日)被替換了,且由其管理的另一個項目 pLOTTO 疑似已被攻擊。由於透明代理的架構設計,pGALA 代理合約的 Admin 角色更換也只能由 proxyAdmin 合約發起。因此在 proxyAdmin 合約的 owner 權限丟失後 pGALA 合約已處於隨時可被攻擊的風險中。綜上所述,pGALA 事件的根本原因在於 pGALA 代理合約的 Admin 角色的 owner 私鑰在 Github 洩漏,且其 owner 地址已在 70 天前被惡意替換,導致 pGALA 合約處於隨時可被攻擊的風險中。(來源鏈接)
ChainCatcher 與創新者共建Web3世界