原標題:DeFi保險業新秀COVER遭攻擊 保險業如何保障自己?
進入 9 月后,隨著 DeFi 協議流動性挖礦收益銳減,DeFi 市場開始歸于沉寂,探索者們向更深廣的領域進發,
11 月,憑借 Yearn.finance 創始人 Andre Cronje(AC)的加持,以及治理代幣的大漲,去中心化保險 Cover Protocol 嶄露頭角,引領 DeFi 保險站在了聚光燈下,
有觀點認為:“ DeFi 保險項目不僅可以減輕投保人的損失,也讓人們可以更放心地參與 DeFi,且有助于健全 DeFi 生態,”
然而,就在 DeFi 保險的概念越炒越熱時,Cover Protocol 在短時內遭到兩次攻擊,其代幣價格經歷了一場令人驚心動魄云霄飛車。
2020 年 12 月 28 日,DeFi 保險項目 Cover Protocol 疑似遭到黑客攻擊,其代幣價格在攻擊的影響下從 700 多美元一度暴跌至最低 9 美元。
PeckShield (派盾)通過追蹤和分析發現,該攻擊主要是由于業務邏輯錯誤,導致誤算質押用戶獎勵,并在不同 DEX 拋售套利,
首先在一段運行時間內,攻擊者先給 Blacksmith 打一些 LP token,然后直接調用函數 updatePool(),通過異常的 pool.accRewardsPerToken 來計算 COVER 的獎勵;
隨后通過 125 和 126 行的函數 _claimCoverRewards() 和 _claimBonus() 記錄挖礦者的獎勵;
最后記錄挖礦者的狀態,包括質押的數量和代碼 128 行至 131 行所示的函數 rewardWriteoff 和 函數 bonusWriteoff 。
具體而言,當前協議利用 pool.accRewardsPerToken 來計算第 130 行的 miner.amount.mul(pool.accRewardsPerToken).div(CAL_MULTIPLIER) ,由于 118 行的 pool 類型為 memory, 而 121 行的函數 updatePool()并未對其進行更新,導致最終計算出來的 rewardWriteoff 比預期的數額小,
當下一次同一用戶獲取質押獎勵時,質押合約例如 Blacksmith 將會鑄造更多的 COVER,這將大大提升鑄幣數量。目前,在流通量中鑄造了逾 40,000,000,000,000,000,000 枚 COVER,
第二次攻擊者被網路標記為 Grap Finance 白帽子的地址,在獲利后,他們將所得收益還給了 Cover 團隊,銷毀了剩余的 COVER ,并留言:下一次,管好你自己的事。
有評論稱,白帽子 Grap Finance 是 DeFi 義俠,將 4350 ETH 還給了 COVER 團隊,但通過砸盤,讓眾多的投資者血本無歸,這也引起了不少的爭議。
對于 DeFi 保險項目而言,其初衷是為其他 DeFi 項目降低風險損失。隨著 DeFi 生態的壯大,以及鎖倉值持續增長,DeFi 項目遭到黑客覬覦,特別是新興的 DeFi 保險項目,理應加強安全防護。如今由于自身漏洞遭到黑客攻擊,這樣的保險項目是否能幫助用戶抵御風險有待考察。
在 DeFi 的世界里,崇尚“代碼即法律”(Code is Law),項目方不僅要將代碼做到極致,還要防患于未然,DeFi 協議開發者應在攻擊發生后,自查代碼。PeckShield(派盾)提示,如果對此不了解,應找專業的審計機構進行審計和研究。