11 月 14 日接近凌晨,駭客對 Value DeFi 協議進行閃電貸攻擊,損失將近 740 萬美元的 DAI 。駭客在偷走代幣後還留言「Do you really know flashloan?」來挑釁開發團隊。 但更諷刺的是,在攻擊發生前一日,Value DeFi 才公開宣稱自己是 DeFi 領域最安全的協議,並且能夠抵抗閃電貸攻擊。
於是在攻擊發生之後,Value DeFi 官方發推確認:MultiStables vault 遭到了一次復雜的攻擊,淨損失達 600 萬美元。目前正在進行事後分析,並正在探索如何減輕對用戶的影響。
The MultiStables vault was the subject of a complex attack that resulted in a net loss of $6M. https://t.co/dnFRa5yPBJ
We are currently working on a postmortem and are exploring ways to mitigate the impact on our users.— Value DeFi (@value_defi) November 14, 2020
CoinGecko 行情顯示,其 VALUE 代幣自零時開始下跌,最低觸及 1.87 美元,最高跌幅達 31.75%,此後稍有回升,現報價 2 美元。 Value DeFi 當前鎖倉總額 3280 萬美元。
本次事件與此前的 Harvest 攻擊事件邏輯相似,PeckShield 派盾對該事件進行分析認為,本次攻擊得逞的原因在於,項目代碼在使用基於 AMM 算法的價格預言機上存在漏洞。
我們基於發起攻擊的交易(0x46a03488247425f845e444b9c10b52ba3c14927c687d38287c0faddc7471150a)來進行分析。攻擊者的惡意攻擊合約為(0x675BD0A0b03096c5ead734cFa00C7620538C7C6F)。
步驟 1:通過 Aave 閃電貸獲得 8 萬枚 ETH(以 460 美元計約合 3680 萬美金)。
步驟 2:在 UniswapV2 閃電貸獲得 1.16 億枚 DAI(空手套白狼)。接下來,0x675B 惡意合約會執行如下內容。
步驟 3: 將步驟 1 獲得的 8 萬枚 ETH 在 UniswapV2 上換成 3,100 萬枚 USDT 。
步驟 4: 在 Vault DeFi 上存入 2,500 萬枚 DAI 並獲得池子鑄造的 2,490 萬 pooltokens 。此時 Vault DeFi 協議會鑄造出 2,495.6 萬枚新 3crv 代幣。
步驟 5:在 Curve 上將 9,000 萬枚 DAI 換成 9,028 萬枚 USDC 。這一步會影響 Curve 上 3pool(也即 DAI/USDC/USDT)池子的平衡,進而抬升 USDC 的價格。
步驟 6:在 Curve 上將 3,100 萬枚 USDT 換成 1,733 萬枚 USDC,此時可以看到 USDC 兌換價格已經有很大的偏差,完成這一步後,會進一步提升 Curve 上 3pool 池子中 USDC 的價格。
步驟 7:在 Value DeFi 上銷毀之前鑄造的 2,490 萬枚 pooltokens,這部分 pooltokens 又贖回了 3,308 萬枚 3crv(算算可以知道比起鑄造多了 812.4 萬枚,這是由於 DAI 便宜了,所以贖回的 3crv 變多了)。
接下來,駭客在 Curve 再度反向操作,大約賺得 86 萬 DAI:
步驟 8:將 1,733 萬枚 USDC 在 Curve 上換回 3,094 萬枚 USDT 。
步驟 9:將 9,028 萬枚 USDC 在 Curve 上換回 9,092 萬枚 DAI 。
步驟 10:銷毀 3pool 中的 3,308 萬枚 3crv 來贖回 3,311 萬枚 DAI,相比於存款時的代幣數量,整整多了 815.4 萬 DAI。
最後是剩餘步驟:返還 Aave 的閃電貸和 UniswapV2 上步驟 2 中的代幣。
這次攻擊之後,駭客返回給 Value DeFi 開發者(0x7Be4D5A99c903C437EC77A20CB6d0688cBB73c7f)200 萬枚 DAI,自己則保留了 540 萬枚 DAI 。
(以上內容獲合作夥伴 火星財經 授權節錄及轉載,原文鏈接 )
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。