慢雾:pGALA イベントの根本原因は、GitHub での秘密鍵の平文漏洩です。
ChainCatcher のメッセージによると、SlowMist の情報では、11 月 4 日に BNB Chain 上のアドレスが無から 10 億ドル以上の pGALA トークンを鋳造し、PancakeSwap を通じて売却して利益を得たため、以前の GALA が一時的に 20% 以上下落しました。SlowMist の分析結果は以下の通りです:
pGALA コントラクトは透明プロキシ(Transparent Proxy)モデルを使用しており、3 つの特権ロールが存在します。それぞれ Admin、DEFAULTADMINROLE、MINTER_ROLE です。
Admin ロールはプロキシコントラクトのアップグレードとプロキシコントラクトの Admin アドレスの変更を管理するために使用され、DEFAULTADMINROLE ロールはロジック内の各特権ロール(例:MINTERROLE)を管理し、MINTERROLE ロールは pGALA トークンの鋳造権限を管理します。
この事件では、pGALA プロキシコントラクトの Admin ロールはコントラクトのデプロイ時に透明プロキシの proxyAdmin コントラクトアドレスとして指定され、DEFAULTADMINROLE と MINTER_ROLE ロールは初期化時に pNetwork によって制御されるように指定されました。proxyAdmin コントラクトには owner ロールも存在し、owner ロールは EOA アドレスであり、owner は proxyAdmin を通じて pGALA コントラクトをアップグレードできます。
しかし、SlowMist セキュリティチームは 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 コントラクトがいつでも攻撃されるリスクにさらされていることです。(出典リンク)