Polygon DeFi上收益聚合器PolyYeld遭到攻擊 代幣YELD閃崩歸零
2023-06-25 16:33:05
?
來源:用戶投稿
導讀 7月28日,收益聚合器Polyyeld.Finance遭到攻擊,其代幣YELD歸零,攻擊者獲利25萬美元。PeckShield安全人員第一時間定位分析,發現此次攻擊源于MasterChef不兼容通縮型
7月28日,收益聚合器Polyyeld.Finance遭到攻擊,其代幣YELD歸零,攻擊者獲利25萬美元。
PeckShield安全人員第一時間定位分析,發現此次攻擊源于MasterChef不兼容通縮型代幣,使得攻擊者可以通過打破流動池平衡獲利。
基于MasterChef的設計,如果用戶在MasterChef中存入100枚代幣,仍可以從MasterChef中提取100枚代幣,但實際上,由于在交易中協議會收取一定比例的手續費,合約中的余額是扣除手續費后的數值。一旦流動池中的總代幣余額極小時,用戶所獲獎勵就會急劇增長。
PeckShield簡述攻擊過程:
第一步,攻擊者創建攻擊合約在PolyYeld中抵押xYELD代幣,以便后續獲取YELD代幣勵。
第二步,攻擊者利用xYELD通縮型代幣與MasterChef合約的兼容性問題,通過頻繁地進行抵押-提現操作,最終導致合約中的xYELD代幣數量消耗到一個極小的數量。
隨后,攻擊者通過在合約中進行提現操作以獲取YELD代幣獎勵,獎勵的計算會除合約中xYELD代幣數量,而此時合約中xYELD代幣數量是一個極小的數量,所以導致除法計算后獎勵的數量變成一個巨大的值。
第四步,攻擊者在獲得大量YELD獎勵后,將它們在QuickSwap、SushiSwap、ApeSwap中換為ETH,最后通過TornadoCash轉移盜取資產。
此次攻擊的核心問題在于通縮型代幣與MasterChef合約不兼容導致的。此兼容性問題造成PolyYeld合約中Yeld代幣被惡意耗盡,而YELD代幣獎勵計算又依賴于池中YELD代幣數量,最終導致YELD代幣價格閃崩。
由于收益聚合器需要多個合約進行交互,PeckShield建議在進行設計時應充分考慮不同合約間交互的兼容性問題。
免責聲明:本文由用戶上傳,如有侵權請聯系刪除!