Dealing With a Hundred Million Dollar Live Vulnerability
三句話摘要
Balancer 協議兩次重大漏洞事件的應對過程與智能合約安全設計的取捨反思。 --- Bug Bounty 給你時間窗口,暫停機制給你操作空間,兩者加上多層防禦才是面對不可避免的漏洞時唯一有效的應對架構。 Bug Bounty 決定了反應時間窗口:第一次事件因為有 Immunefi 白帽回報,團隊有數天時間秘密升級代幣合約並通知大型 LP 撤資,大幅降低損失;第二次事件沒有預警,攻擊發生時已無從介入。
重點整理
重點- 1
Bug Bounty 決定了反應時間窗口:第一次事件因為有 Immunefi 白帽回報,團隊有數天時間秘密升級代幣合約並通知大型 LP 撤資,大幅降低損失;第二次事件沒有預警,攻擊發生時已無從介入。
- 2
Immutable 合約是雙面刃:去除升級機制雖然減少治理風險,但漏洞一旦被發現幾乎無法補救。B2 靠著「底層代幣可升級」這個意外出口才找到解法,若連這條路也不存在後果更嚴重。
- 3
資訊管控是危機處理核心:漏洞確認後應嚴格限縮知情範圍,對外只說「請從這些池子撤資」而不解釋原因,避免黑帽提前獲得足夠資訊。即便如此,5 天後黑帽仍找出剩餘攻擊向量並完成攻擊。
- 4
協議上線多年不代表安全無虞:Balancer B2 多年來持續接受 Bug Bounty 報告且有頂級白帽審計,但仍出現嚴重漏洞,Lindy Effect(越久越安全的直覺)在智能合約領域並不成立。
- 5
--
實用技巧與重點
乾貨- 第一次漏洞:B2 Linear Pool / Boosted Pool,2023 年 8 月 11 日收到回報
- 受影響 TVL:$2.4 億(240M USD)
- 最終損失:約 20%(其餘 80% 透過代幣升級保住)
- 第二次漏洞:2024 年近期,損失超過 $1 億(100M+),部分被白帽返還或凍結
- Bug Bounty 上限:每個 Critical 報告最高 $1,000,000
- 白帽平台:Immunefi;報告者排名為 Top 100,且曾回報過有效 High 等級漏洞
- 關鍵合作方:Aave(協助發起治理投票升級代幣合約)、Monerium、Stakerise(凍結部分資金)、bitf finding(前跑搶救資金白帽)
- 升級耗時約一週(含 timelock 與投票流程)
- 修復手法:在 swap 路徑中破壞其中一個函數,使漏洞利用路徑失效
- B3 改進措施:強制最低流動性門檻、限制極小額 swap、加強 rounding 精度審查
- 暫停機制:B2 部分池子的 pause window 已過期,無法暫停;有監控但覆蓋不完整
- --
結論
結論“Bug Bounty 給你時間窗口,暫停機制給你操作空間,兩者加上多層防禦才是面對不可避免的漏洞時唯一有效的應對架構。”
完整解析
詳細Balancer 是一個採用「Vault + Pool」架構的 DeFi 協議,Vault 持有資金並處理基礎轉帳與手續費,Pool 則負責定價邏輯。B2 時代,核心合約設計為完全 immutable 且不具升級機制,pause window 刻意設置極短,以換取去中心化與不可竄改的特性。Bug Bounty 計畫透過 Immunefi 運作,單筆 Critical 報告最高獎勵 $1M。
2023 年 8 月 11 日週五下午,Balancer 收到一份 Immunefi 報告,回報者是 Top 100 排名的白帽,且曾成功回報過有效漏洞。報告初步標記為 High,但細節不夠清晰,難以立即確認影響範圍。幾小時後,白帽提交了第二份概念驗證(PoC),明確展示可在單筆交易中從一個池子提走約 $100 萬。這個訊號已足夠觸發全面危機應對——不需要 PoC 能一次掏空所有池子,只要能局部提取,攻擊者就能反覆執行直到耗盡所有同類型池子的 TVL。
確認後,團隊發現受影響的 TVL 高達 $2.4 億,分布在 Linear Pool 與 Boosted Pool 類型中。由於合約 immutable,常規修補路徑不存在,swap fee 調整也無法阻止攻擊。但意外地,這些池子內約 80% 的資產底層代幣本身是可升級合約,控制方是 Aave。團隊迅速聯繫 Aave,透過治理投票在約一週內完成代幣合約升級——僅需在 swap 路徑中讓特定函數失效,即可截斷攻擊向量,整個過程未公開任何漏洞細節。升級完成後,80% 的風險資金立即得到保護。
接著才進行公開披露,內容刻意極簡:「這些池子有問題,請立即撤資」,不解釋漏洞類型。團隊同步直接聯繫已知的大型 LP,加速撤資進程。即便如此,5 天後黑帽仍從公開的池子清單推敲出攻擊向量,透過略有差異的攻擊路徑提走剩餘資金。最終結果:$2.4 億風險資金中約 80% 得以保全,整體損失遠低於最壞情境。
第二次事件則截然不同。這次沒有任何預警,演講者直接醒來發現攻擊已完成,損失超過 $1 億。B2 部分池子的 pause window 已過期,監控系統覆蓋不完整,合約完全 immutable,幾乎沒有任何主動防禦空間。部分資金由前跑機器人白帽(如 bitf finding)搶先執行相同攻擊邏輯並返還,另有部分由中心化合作夥伴(Monerium、Stakerise)凍結。這次事件破除了「協議上線多年即代表安全」的直覺,也印證了 Bug Bounty 本身無法達到 100% 效率。
---
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

