時間:2023-08-18|瀏覽:273
對此,DeFi領(lǐng)域的知名參與者建議用戶先將資金提出,以確保資金安全。另外官方此前已建議用戶暫停向穩(wěn)定幣池以及BTC保險池進行充值。
截至撰稿時,Harvest合約鎖定的資金量已驟降至5.99億美元,較24小時之前下滑46.42%。
而在此次攻擊發(fā)生的前一天,DeFi觀察者ChrisBlec剛剛揭示了Harvest項目存在巨大的風險:該項目合約鎖定的10多億美元資金完全受匿名開發(fā)者的控制,并且開發(fā)團隊存在刻意隱瞞這一事實的嫌疑。
aelf創(chuàng)始人兼CEO馬昊伯針對此事發(fā)表了自己的推測:首先需要了解的是,閃電借貸可以無抵押借到很多錢,不管是有多少滑點的AMM,都是有滑點的。而且Curve的曲線雖然在兩個幣種之間的滑點比較低,但是到極端情況下還是會有不可控的事件發(fā)生。
馬昊伯猜測,黑客可能是利用閃電借貸借了一大筆錢,然后把Curve的價格搞到十分離譜,然后再到Harvest按照不合適的價格進行單邊充值(虧錢的情況下充值),然后利用Curve將錢贖回。這樣一來Harvest虧了,黑客就賺了,Curve也因為這波操作價格產(chǎn)生波動。而Curve的所謂虧損其實和Uniswap的LP虧損一樣,是一種無常損失,價格會很快恢復。
黑客到底是如何操作的?
像其他閃電貸攻擊操作一樣,攻擊者動作迅速,沒有給平臺反映的時間,連續(xù)7分鐘端到端地進行攻擊。
1.攻擊者到UniswapUSDT-ETHLP合約借了5000wUSDT 2.攻擊者在curve合約用11,425,651.360209USDC兌換11,407,812.062025USDT,通過買入大量USDT改變curve的兌換價格,比如能夠使1USDT=1.00000xUSDC變?yōu)?USDT=11,445,785.907417/11,437,077.011569=?1.00076146168USDC 3.攻擊者在fUSDT合約抵押60,666,288.631146USDT獲取持幣持幣憑證71,668,595.794204fUSDT,向harvest充值,harvest會自動向curve提供流動性 4.攻擊者在curve合約用11,437,077.011569USDT兌換11,445,785.907417USDC,前面的操作使得curve的價格變?yōu)榱?USDT=1.00076146168USDC,然后黑客開始用少量的USDT換出了更多的USDC 5.攻擊者在fUSDT合約通過第3步獲取的71,668,595.794204fUSDT贖回61,093,558.168153USDT,這個步驟表明,黑客已經(jīng)成功的進行了一次套利,獲取了61,093,558.168153USDT-60,666,288.631146USDT=427269.537007USDT
我們看這個利潤是哪里來的呢,很明顯是harvest在高位在curve從一個錯誤的方向添加了流動性引起。也就是curve的原始lp沒有受到任何損失,黑客獲取的是通過讓60,666,288.631146USDT虧損產(chǎn)生的利潤。
重復2-5步驟
6.攻擊者在curve合約用11,425,651.360209USDC兌換11,407,840.0888USDT 7.攻擊者在fUSDT合約抵押61,064,321.245384USDT獲取持幣持幣憑證72,458,553.719987fUSDT 8.攻擊者在curve合約用11,437,077.011569USDT兌換11,445,757.818914USDC 9.攻擊者在fUSDT合約通過第7步獲取的72,458,553.719987fUSDT贖回61,489,849.847749USDT
重復2-5步驟
10.攻擊者在curve合約用11,425,651.360209USDC兌換11,407,868.045888USDT 11.攻擊者在fUSDT合約抵押61,460,640.882068USDT獲取持幣持幣憑證73,252,241.779134fUSDT 12.攻擊者在curve合約用11,437,077.011569USDT兌換11,445,729.800332USDC 13.攻擊者在fUSDT合約通過第11步獲取的73,252,241.779134fUSDT贖回61,884,410.538009USDT
重復2-5步驟
14.攻擊者還給UniswapUSDT-ETHLP合約50,165,496.489468USDT
到此完成整個交易
此次攻擊主要是HarvestFinance的fToken(fUSDC、fUSDT...)在鑄幣時采用的是Curvey池中的報價(即使用Curve導致攻擊者可以通過巨額兌換操控預言機的價格來控制HarvestFinance中fToken的鑄幣數(shù)量,從而使攻擊者有利可圖。
對其他項目的警示
在區(qū)塊鏈的安全事件中,大多都是由于源代碼存在漏洞使得黑客趁虛而入。智能合約受到區(qū)塊鏈本身保護,所以智能合約代碼可以最大限度的開源和讓人閱讀。但是代碼的公開性使得黑客容易掌握代碼的缺陷,進一步利用代碼缺陷觸發(fā)條件改變智能合約執(zhí)行結(jié)果,使得區(qū)塊鏈項目存在巨大的經(jīng)濟隱患。所以智能合約代碼的開源性需要代碼的高可靠性,這種可靠性要求100%正確。
因此,其他開源項目應當始終把網(wǎng)絡安全性列為最高優(yōu)先級,努力為用戶提供一個夠安全、高性能、體驗佳、可信賴的區(qū)塊鏈基礎(chǔ)設(shè)施。
熱點:項目