
北京時間 11 月 14 日 23:36,黑客對 Value DeFi 協議進行閃電貸攻擊,損失將近 740 萬美金的 DAI。黑客在偷走代幣後還留言“do you really know flashloan?”來挑釁開發團隊。
1 個小時後,Value DeFi 官方發推確認:MultiStables vault 遭到了一次複雜的攻擊,淨損失達 600 萬美元。目前正在進行事後分析,並正在探索如何減輕對用戶的影響。
CoinGecko 行情顯示,其 VALUE 代幣自零時開始下跌,最低觸及 1.87 美元,最高跌幅達 31.75%,此後稍有回升,現報價 2 美元。Value DeFi 當前鎖倉總額 3280 萬美元。
coingecko.com
本次事件與此前的 Harvest 攻擊事件邏輯相似,PeckShield 派盾對該事件進行分析認爲,本次攻擊得逞的原因在於,項目代碼在使用基於 AMM 算法的價格預言機上存在漏洞。
根據 PeckShield 分析,我們基於發起攻擊的交易(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。
根據 PeckShield 監測,這次攻擊中被盜取的資金現在被存放在錢包 0xa773603b139Ae1c52D05b35796DF3Ee76D8a9A2F 中。Odaily 星球日報將繼續跟進事態發展。