安全专栏
2020 年 10 月 26 号中午 12 时 Harvest Finance 惊传遭骇,官方稍后回应确认协议遭到骇客攻击。骇客总计利用闪电贷夺走了约 2400 万美元的资金,并归还了其中的 250 万美元给合约部署者。本文将简要分析此次闪电贷攻击细节。本文由专栏作者 慢雾科技 SlowMist 撰稿,不代表动区立场。前情提要:10亿美元危险了!DeFi超级明星Harvest遭遇闪电贷,Farm一小时暴跌60
本文目录
总结KuCoin骇客再转移665万美元以太币,已透过DEXs套现近2000万镁Defi警示骇客重现闪电贷手法,耗尽 Balancer 资金池超过 50 万美元资产 (Bal)什么是闪电贷 Flash Loan?十几秒内从借贷协议 bZx 狠赚 35 万美元的 DeFi 策略2020 年 10 月 26 号,据消息 Harvest Finance 项目遭受闪电贷攻击,损失超过 400 万美元。
以下为笔者对此事件的简要分析:
1/ 攻击者通过 Tornadocash 转入 20 ETH 作为后续攻击手续费。
2/ 攻击者通过 Uniswap V2 闪电贷借出巨额 USDC 与 USDT。
3/ 攻击者先通过 Curve 的 exchangeunderlying 函数将 USDT 换成 USDC,此时 Curve yUSDC 池中的 investedUnderlyingBalance 将相对应的变小。
4/ 随后攻击者通过 Harvest 的 deposit 将巨额 USDC 充值进 Vault 中,充值的同时 Harvest 的 Vault 将铸出 fUSDC,而铸出的数量计算方式如下:
计算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的变化将导致 Vault 铸出更多的 fUSDC。
5/ 之后再通过 Curve 把 USDC 换成 USDT 将失衡的价格拉回正常。
6/ 最后只需要把 fUSDC 归还给 Vault 即可获得比充值时更多的 USDC。
7/ 随后攻击者开始重复此过程持续获利。
其他攻击流程与上述分析过程类似
参考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877总结
此次攻击主要是 Harvest Finance 的 fTokenfUSDC、fUSDT在铸币时采用的是 Curve y 池中的报价即使用 Curve 作为喂价来源,导致攻击者可以通过巨额兑换操控外部的价格来控制 Harvest Finance 中 fToken 的铸币数量,从而使攻击者有利可图。
相关报导
KuCoin骇客再转移665万美元以太币,已透过DEXs套现近2000万镁Defi警示骇客重现闪电贷手法,耗尽 Balancer 资金池超过 50 万美元资产 (Bal)什么是闪电贷 Flash Loan?十几秒内从借贷协议 bZx 狠赚 35 万美元的 DeFi 策略LINE 与 Messenger 不定期为大家服务
比特币中国Tags Defiflashloan attackHarvest Finance