北京時間5月13日,CertiK安全技術團隊發現DeFi質押和流動性策略平台xToken遭到攻擊,xBNTaBancor池以及xSNXaBalancer池立即被耗盡,造成近2500萬美元損失。
如果資金未能及時返回,則交易將被撤回,從而確保儲備池的安全。如果資金未能及時返回,則交易將被撤回,從而確保儲備池的安全。閃電貸可以在無需提供任何抵押的情況下進行貸款,當然所有操作必須在一個交易區塊內完成。開發人員可以從Aave或dYdX等協議中藉貸,條件是在交易結束之前將流動資金返還到資金池中。如果資金未能及時返回,則交易將被撤回,從而確保儲備池的安全。閃電貸具備多種功能和用例,但我們目前看到的多數閃電貸都被用於套利交易。細節分析
針對xSNXa的攻擊
1. 黑客在dYdX上利用閃電貸借出大約61800個ETH。2. 在Aave上存入10000個ETH借出56.4萬個SNX,然後通過SushiSwap將5500個ETH換成約70萬個SNX。之後在Uniswap v2上賣出120萬SNX,獲得818ETH,藉此大大降低了SNX的價格。3. 在價格降低後, 攻擊者只用了0.12個ETH就鑄造了12億xSNXa。這是因為該協議通過Kyber價格預言機購買SNX並鑄造xSNXa,而Kyber價格預言機參照了Uniswap v2的價格。針對xBNTa的攻擊
其原理是在智能合約中在Bancor協議中將ETH換成BNT,並利用換來的BNT數量來計算鑄造的xBNTa數量。然而合約中的"mint"方法並未驗證用ETH換來的幣是否為BNT,攻擊者使用了一個總量極大的代幣SPD替換了BNT,偽造了BNT的數量,使其可以無限增發xBNTa。攻擊者調用了“mint”方法四次,每次使用0.03ETH鑄造大量的xBNTa,最終獲得了39億xBNTa,並將獲得的一半的xBNTa換成了大約78萬BNT。因為攻擊者的這筆交易使用了Flashbots MEV來實施,保證了交易的私密性, 防止這筆交易在和AMM交互時被別的用戶進行了“三明治攻擊”。①Flashbots是一個研究和開發組織,成立的初衷是緩解由"礦工可抽取價值(miner-extractable value, MEV)"給智能合約平台型區塊鏈帶來的負面影響和生存風險。他們提議為MEV設計一種無需許可、透明且公平的生態系統,來保衛以太坊的理念。② 礦工可抽取價值(MEV)是一種設計用來研究共識安全的標準,它模擬了礦工(或節點驗證者)通過任意包含、去除或重新排序他們產生的區塊中的交易的能力而獲得的利潤。例如,攻擊者可以看到一個有利可圖的交易,並試圖通過支付更高的交易費用來提前進行交易,從而獲得利潤。或者通過對AMM交易進行三明治攻擊。③三明治攻擊:當攻擊者在交易池中觀察到一筆資產X換取資產Y的交易後,攻擊者可以提前買入資產Y,隨後讓受害者執行交易來提升Y資產的價格,然後在Y資產價格上升後出售先前購入的資產Y來獲取利潤。因此,即使是攻擊者也需要警惕黑暗森林中所有潛伏的掠奪者。
寫在結尾
xToken作為一個已經過大型安全公司審計的優秀DeFi項目遭受這樣的攻擊其實是並不常見的。
這也再次向我們揭露了一個事實:靜態安全審計並無法保障100%的安全。迄今為止,CertiK已進行了超過700次的審計,保護了超過300億美元的數字資產與軟件系統免受安全損失。迄今為止,CertiK已進行了超過700次的審計,保護了超過300億美元的數字資產與軟件系統免受安全損失。迄今為止,CertiK已進行了超過700次的審計,保護了超過300億美元的數字資產與軟件系統免受安全損失。