安全公司:Punk Protocol被攻擊根本原因在於其CompoundModel的Initialize函數未做重複初始化檢查等

據慢霧區消息,去中心化年金協議Punk Protocol 在公平啟動的過程中遭遇攻擊,慢霧安全團隊以簡訊形式將攻擊原理分享如下: 1.攻擊者調用CompoundModel合約的Initialize函數進行重複初始化操作,將合約Forge角色設置為攻擊者指定的地址。 2.隨後攻擊者為了最大程度的將合約中資金取出,其調用了invest函數將合約中的資金抵押至Compound中,以取得抵押憑證cToken。 3.最後攻擊者直接調用withdrawToForge函數將合約中的cToken轉回Compound獲取到對應的底層資產並最終將其轉給Forge角色。 4.withdrawToForge函數被限制只有Forge角色可以調用,但Forge角色已被重複初始化為攻擊者指定的地址,因此最終合約管理的資產都被轉移至攻擊者指定的地址。總結:本次攻擊的根本原因在於其CompoundModel的Initialize函數未做重複初始化檢查,導致攻擊者直接調用此函數進行重複初始化替換Forge角色,最終造成合約管理的資產被盜。總結:本次攻擊的根本原因在於其 CompoundModel 的Initialize 函數未做重複初始化檢查,導致攻擊者直接調用此函數進行重複初始化替換Forge 角色,最終造成合約管理的資產被盜。

Total
0
Shares
Related Posts