慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

慢雾科技2022-11-07 18:36:22

作者: Kong

据慢雾区情报,11 月 4 日,一个 BNB Chain 上地址凭空铸造了超 10 亿美元的 pGALA 代币,并通过 PancakeSwap 售出获利,导致此前 GALA 短时下跌超 20%。慢雾将简要分析结果分享如下:

相关信息

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 合约。

慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

4. 但慢雾安全团队发现 proxyAdmin 合约的 owner 地址的私钥明文在 Github 泄漏了,因此任何获得此私钥的用户都可以控制 proxyAdmin 合约随时升级 pGALA 合约。

慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

5. 不幸的是,proxyAdmin 合约的 owner 地址已经在 70 天前(2022-08-28)被替换了,且由其管理的另一个项目 pLOTTO 疑似已被攻击。

慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

6. 由于透明代理的架构设计,pGALA 代理合约的 Admin 角色更换也只能由 proxyAdmin 合约发起。因此在 proxyAdmin 合约的 owner 权限丢失后 pGALA 合约已处于随时可被攻击的风险中。

慢雾:pGALA 事件根本原因系私钥明文在 GitHub 泄露

总结

综上所述,pGALA 事件的根本原因在于 pGALA 代理合约的 Admin 角色的 owner 私钥在 Github 泄漏,且其 owner 地址已在 70 天前被恶意替换,导致 pGALA 合约处于随时可被攻击的风险中。

参考:https://twitter.com/enoch_eth/status/1589508604113354752

声明:该文观点仅代表作者本人,币妈妈信息发布平台,币妈妈仅提供信息存储空间服务。

慢雾科技

文章:46 粉丝:272

+ 关注