北京時間7月28日,安全公司Rugdoc在推特表示,收益耕作協議PolyYeld Finance遭到攻擊,所有者已宣布合約已被利用并鑄造了大量YELD代幣。CoinGeckko行情顯示,YELD代幣價格直線跳水歸零,狂跌100%。
攻擊如何發生 Event overview
PolyYeld Finance 是 Polygon 網絡上的下一代產量農業協議,具有許多獨特和創造性的功能,使用戶能夠獲得被動收入。
據悉,項目正在嘗試創建一個類似于 Yearn 的協議,以減少對 Polygon Network 用戶、LP 提供商和抵押者高價值的代幣供應。在 2-3 個月的時間里,只會鑄造 62100 個 YELD 代幣。
北京時間7月28日,PolyYeld Finance意外遭到黑客“血洗”,被攻擊之后,YELD代幣價格直線跳水歸零,狂跌100% !
Coinbase:正在調查COSMOS代幣存取延遲的問題:4月12日消息,加密貨幣交易所Coinbase:正在調查COSMOS代幣存取延遲的問題。(金十)[2022/4/12 14:18:57]
這一次,黑客攻擊使YELD代幣價格直線跳水歸零,可謂損失慘重。成都鏈安再次提醒各大項目方,一定要注意安全防范工作。
攻擊者如何得手 Event overview
整個攻擊事件由黑客一手策劃。攻擊者利用xYELD代幣轉賬時實際到賬數量小于發送數量以及MasterChef合約抵押和計算獎勵上存在的邏輯缺陷,通過投入大量資金控制MasterChef合約中抵押池的抵押代幣數量,進而操縱獎勵計算,從而獲得巨額的xYELD獎勵代幣,最后利用QuickSwap套現離場。
攻擊者地址:
0xa4bc39ff54e1b682b366b57d1f6b114a829f5c01
攻擊合約:
A:0x1BdF24CB4c7395Bf6260Ebb7788c1cBf127E14c7
Kraken一周報告:NFT代幣回報率為2%,不及DeFi等代幣:Kraken報告顯示,在過去的一周中,NFT的勢頭已經顯著下降。NFT代幣的回報率為2%,而DeFi代幣的回報率為26%,隱私幣為23%和智能合約代幣為20%。(JP.Cointelegraph)[2021/4/16 20:27:47]
B:0x56ec01726b15b83c25e8c1db465c3b7f1d094756
攻擊交易:
0x3c143d2a211f7448c4de6236e666792e90b2edc8f5035c3aa992fd7d7daca974
0x10eeb698a2cd2a5e23d526b2d59d39a15263be018dbbda97dad4f9fa8c70347f
Round 1
攻擊者首先利用QuickSwap交易對將29.75 WETH換成527.695171116557304754 xYELD代幣。
真知灼鑒 | 網傳Coinbase Custody將上線五種代幣為虛假消息:12月30日,網傳Coinbase Custody將于2021第一季度上線YFI、DOT等5種數字資產。經查證,該信息是由推特名為 @Coinbase Blog的賬號發出,粉絲量雖大但該賬號并非官方賬號。該賬戶未經過認證且未與Coinbase官方賬號互關,另外Coinbase Custody官方也并沒有發布該消息,多數網友已在該賬戶下留言:這是個假賬號、希望沒人認為這是個真號。[2020/12/30 16:05:06]
接下來,攻擊者通過攻擊合約在一筆交易反復調用MasterChef合約中的抵押提取函數將MasterChef中PID為16的抵押池中的xYELD代幣數量減少0到最小值。
由于xYELD代幣在轉移時,如果recipient地址不是BURN_ADDRESS地址,變量transferTaxRate的值不為0,recipient地址在_isExcluded映射中對應的值不為true,并且發送者不為合約的擁有者,就會收取一定比例的手續費,當前比例為3%。手續費會轉移到代幣合約中,在滿足特定條件后,會將收取的手續費作為流動性添加到對應交易對中去。
數據:DeFi代幣總市值近77億美元:DeFiMarketCap數據顯示,去中心化金融(DeFi)代幣的總市值近77億美元,現報約76.92億美元。[2020/7/10]
而在MasterChef合約中,抵押數量記錄的是代幣轉移的初始數量,而不是實際到賬數量。在進行提取操作時,可提取的數量為記錄的數量,超出了用戶實際抵押到本合約中的數量,因為在完成一次抵押提取操作后,該抵押池中的xYELD代幣便會異常減少。
在進行攻擊前MasterChef中的xYELD代幣的數量為242.017807511865297458:
動態 | Kik對抗SEC或將促使監管機構對通過代幣銷售發行的加密貨幣分類進行明確裁決:雖然很難對加密貨幣Kin的創造者Kik和SEC之間將發生的事情做出決定性預測,Kobre&Kim律師Benjamin J. Sauter表示,不管輸贏,Kik在公開對抗SEC方面邁出重要的一步:針對主管部門花很長時間才達成執法決定,以及SEC缺乏透明度而對美國加密行業造成損害,Kik表達了不滿。這可能會促使監管機構最終就如何對通過代幣銷售發行的加密貨幣進行分類做出一些明確裁決。如果該公司確實貫徹其倡議并起訴SEC,那么無論結果如何,美國法院很可能會做出這樣的裁決。(Cointelegraph)[2019/6/2]
在進行攻擊后MasterChef中的xYELD代幣的數量為0.000000000000000001:
Round 2
攻擊者事先通過攻擊合約B在該抵押池中抵押0.009789171908299592 xYELD代幣,并將推薦人設置為攻擊合約A。在攻擊合約A攻擊完成后,控制攻擊合約A在該抵押池中進行獎勵領取,由于MasterChef合約中更新抵押池信息時使用的是balanceOf函數獲取本合約中抵押代幣數量,故獲取到的數量是惡意減少之后的數量。
這會造成xYFLD抵押池中accYeldPerShare變量異常增大:
從而使得獎勵變為巨額:
Round 3
在進行獎勵發放時,由于計算出來的獎勵數量遠超過實際鑄幣數量,故將本合約中所有的YELD代幣轉移給攻擊合約B,通過獲取獎勵得到的獎勵代幣數量為:3031.194777597579576657 YELD。
同時,因為攻擊合約B的推薦人是攻擊合約A,故在攻擊合約B領取獎勵時會對攻擊合約A發放推薦獎勵,計算方式為被推薦人獲取的獎勵的2%。由于傳入的_pending數量為異常大的值,故攻擊合約A獲得的推薦獎勵也為異常大的數量,攻擊合約獲得的推薦獎勵為:
4995853249752.895065839722805591 YELD。
最后攻擊者利用QuickSwap將所有的YELD代幣兌換成USDC、WETH和MATIC套現離場。
我們需要注意什么 Case Review
本次事件與之前SafeDollar攻擊事件類似,都是使用了相同的攻擊手法。不同之處有兩點:其一是此次攻擊攻擊者沒有選擇利用閃電貸來獲取大量資金,而是投入了29.75 WETH作為攻擊的初始資金;其二是MasterChef合約中推薦獎勵機制的問題,正是這個推薦獎勵機制將本次攻擊的危害無限放大了。
MasterChef類型抵押池設計之時,還沒有通縮通脹類代幣的出現,故開發者并沒有考慮這類代幣可能會造成的影響。部分的項目方在進行代碼開發時,直接使用了舊的MasterChef代碼,并添加了通縮通脹類代幣或者獎勵作為抵押代幣,這便導致了各種惡意攻擊事件或異常情況的產生。就目前來看,MasterChef類型抵押池存在兩種類型的問題:一是沒有對通脹通縮類代幣進行特殊處理,沒有檢查實際轉移到合約中的代幣數量是否與函數調用時填寫的數量相同;二是添加了獎勵代幣作為抵押代幣,導致獎勵計算出現異常。
兩種類型問題的根本原因還是在于計算獎勵時,獲取抵押量使用了balanceOf函數來獲取。建議項目方在進行MasterChef類型抵押池代碼開發時,使用一個單獨的變量作為抵押數量的記錄,然后計算獎勵時,通過此變量來獲取抵押代幣數量,而不是使用balanceOf函數。
Tags:YELELDYELDTERYellow DuckiesDeFi Yield ProtocolYeld FinanceTERA2
Elon Musk最近宣布,由于能源消耗過多,特斯拉將不再接受比特幣支付。為了尋求替代選項,特斯拉將轉而探索“綠色環保”加密貨幣市場以尋找可行解決方案.
1900/1/1 0:00:00下文為美國SEC主席 Gary Gensler在Aspen Security Forum上的講話,刊登時間為8月3日:謝謝你的介紹。很高興加入 Aspen 安全論壇.
1900/1/1 0:00:008月3日,去中心化衍生品交易協議 dYdX 宣布推出治理代幣 DYDX,并對此前在平臺上交互過的地址進行空投。治理代幣DYDX總量 10 億,主要用于dYdX協議治理和手續費折扣.
1900/1/1 0:00:007月30日,以“云網匯政務,數智蘊未來”為主題的智慧政務峰會2021在南寧舉行,與會人員共話數字政府建設新趨勢,分享智慧政務創新實踐,擘畫數字政府建設新篇章,以數字政府建設賦能政府治理現代化.
1900/1/1 0:00:00衍生品交易無論在傳統金融還是中心化加密交易平臺中,都占據著極大的市場份額。對于任何一個金融系統來說,衍生品都是不可或缺的組成部分.
1900/1/1 0:00:00頭條 ▌美國10年期國債收益率跌穿1.17%美國10年期國債收益率跌穿1.17%,為7月20日以來首次,日內當前跌超5.0個基點,此前數據顯示美國7月ISM制造業指數遜于預期.
1900/1/1 0:00:00