鏈聞消息,據慢霧安全團隊分析,Harvest Finance 項目遭受閃電貸攻擊事件主要分爲以下幾步:1. 攻擊者通過 Tornado.cash 轉入 20ETH 作爲後續攻擊手續費;2. 攻擊者通過 UniswapV2 閃電貸借出鉅額 USDC 與 USDT;3. 攻擊者先通過 Curve 的 exchange_underlying 函數將 USDT 換成 USDC,此時 Curve yUSDC 池中的 investedUnderlyingBalance 將相對應的變小 4. 隨後攻擊者通過 Harvest 的 deposit 將鉅額 USDC 充值進 Vault 中,充值的同時 Harvest 的 Vault 將鑄出 fUSDC;5. 之後再通過 Curve 把 USDC 換成 USDT 將失衡的價格拉回正常;6. 最後只需要把 fUSDC 歸還給 Vault 即可獲得比充值時更多的 USDC;7. 隨後攻擊者開始重複此過程持續獲利。慢霧區總結稱,此次攻擊主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在鑄幣時採用的是 Curve y 池中的報價 (即使用 Curve 作爲喂價來源),導致攻擊者可以通過鉅額兌換操控預言機的價格來控制 Harvest Finance 中 fToken 的鑄幣數量,從而使攻擊者有利可圖。