時間:2023-08-06|瀏覽:271
據ZenGo的研究人員Alex Manuskin稱,即使從Uniswap協議中撤出了資金后,至少有一個用戶失去了價值超過14萬美元的Uniswap的UNI代幣。Manuskin告訴Cointelegraph,其他用戶損失了約50000美元。
用戶成為DeFi中常見的危險行為的受害者,在DeFi中,大多數協議都會要求獲得授權,以從客戶的錢包中提取無限量的特定代幣。正如Cointelegraph先前報道的那樣,像Compound、Uniswap、Kyber等去中心化應用通常具有豐厚的補貼。這使智能合約可以代表每個錢包所有者進行任意數量的特定代幣交易。
有些錢包允許用戶手動調整已批準的金額,盡管默認情況下,這通常被設置為可能的最大金額。
Manuskin解釋說,UniCats就是這種情況:“這不僅是一種欺騙行為,也是一種騙局,它還想獲取用戶所有的代幣。”
UniCats合約包含一個“setGovernance”函數,允許其所有者以合約的名義調用任何函數。由于用戶無限制地批準了該合約,因此開發人員可以提取用戶的全部UNI代幣。
被提取的代幣立即轉換成以太坊(ETH)出售,然后將其發送到TornadoCash進行混合,這讓很多人懷疑這些行動是否有預謀。
這一事件凸顯了僅將資金委托給經過審查且信譽良好的項目的重要性。在yield farming(流動性挖礦)的狂熱之后,許多鮮為人知的項目紛紛涌現,以利用這一趨勢。不幸的是,它們通常是直接搶現金,并且具有不同類型的后門。在類似事件中,許多農民被“欺騙”,他們損失了全部資金。
與UniCats的不同之處在于,“構建者”通常將自己限于委托給協議的代幣。豐厚的補貼機制允許合約永久提取用戶錢包中的每個代幣。在取消批準之前,錢包將完全被盜用,這意味著發送到該地址的任何新代幣都可以以相同方式被盜。
批準機制對于限制于以太坊ERC-20標準的代幣來說是有必要的。DApp和智能合約無法檢測用戶是否已向合約轉移資金。因此,合約代表用戶轉移資金,這需要預先批準。盡管這種類型的代幣仍然存在漏洞,并且仍可能成為盜竊的受害者,但是像ERC-777等較新標準解決了該缺陷。
設置無限批準的理由是,用戶無需分別批準每個交易,從而節省了gas費和時間。然而,正如Bancor漏洞在6月份所顯示的那樣,任何合約中的妥協都會使用戶遭受盜竊,即使他們已經有一段時間沒有與該協議進行交互了。