6 月 29 日北京时间破晓 2 点 03 分,CertiK 天网系统 (Skynet) 查抄到在区块 10355807 处 Balancer DeFi 合约异常,安详研究员迅速参与观测,进攻进程浮出水面。
CertiK 阐明的此次事件进攻者心理画像:
进攻者在调取 STA 余额后,快速挪用 swapExactAmountIn 函数购置 STA,并在第 24 次生意业务利用了另一个函数 swapExactAmountOut 精准的将 STA 的数目买到了最小值(1e-18),从而最大化后续进攻的效率。最开始的 6 笔生意业务,在没有须要的环境下,3 次买入后卖出,损失了 4 个 WETH,故布疑云。而且可以或许做到隐匿本身的闪电贷阶段陈迹来看,,有黑客特性。
进攻重现阶段 0:进攻者从 dYdX 闪电贷处借钱,得到初始 WETH 资金。
阶段 1:进攻者利用 WETH 将 Balancer 中的 STA 尽大概买空,最洪流平提高 STA 价值。
《当红活动性挖矿 DeFi 项目 Balancer 如何被进攻?官方这么说》裂痕阐明
Balancer 合约的 gulp() 函数浸染为将某一种代币的内部记录数值包围到当前该种代币的真实数目,可是错误的把他配置成没有限制的 external 函数。gulp() 函数不该该为 external,可能应该插手对付特定利用者可能智能合约拥有者的验证可能防护限制条件。
阶段 2:进攻者用得到的 STA 多次买回 WETH。每一次都用最小量的 STA (数值为 1e-18)举办购置,并操作 Balancer 内部裂痕函数 gulp(),锁定 STA 的数目,节制 STA 对 WETH 的价值。反复多次该种买回操纵,直到将 Balancer 中的 WETH 取空。
https://medium.com/balancer-protocol/incident-with-non-standard-erc20-deflationary-tokens-95a0f6d46dea
相关阅读:
1. Balancer Github:
2. 进攻生意业务汗青记录:
原文标题:《白手套以太: Balancer 进攻理会》 3. 官方进攻陈诉:
0xbf675c80540111a310b06e1482f9127ef4e7469a
0x81D73c55458f024CDC82BbF27468A2dEAA631407
CertiK 判定进攻者是有履历的黑客团队在充实筹备后的一次进攻实验,有很大大概还会继承进攻其他 DeFi 合约。
https://ethtx.info/mainnet/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106
进攻者最终赢利:565.5326240837032 ETH, 约合 90 万人民币(北京时间 20200630 早 9 点 30 分价值)
参考资料:
Balancer 两度蒙受闪电贷进攻,CertiK 还原个中 STA 代币进攻进程。
进攻者不绝操作裂痕,用高价的 STA 将某一种代币完全买空(WETH,WBTC, LINK 和 SNX),最终用 WETH 送还闪电贷,并剩余大量 STA,WETH,WBTC, LINK 和 SNX,并通过 uniswap 将犯科所得转移到本身账户中。此次进攻约赢利 90 万人民币。
阶段 3:换一种代币,用 STA 反复阶段 2 直到取空该种代币。阶段三反复了三次,一共有 4 种代币受到了损失 WETH,WBTC, LINK 和 SNX。
事件概述6 月 29 日破晓 2 点 03 分,进攻者操作从 dYdX 闪电贷中借到的 WETH,大量买进 STA 代币,使得 STA 与其他代币的兑换价值急剧上升。然后利用最小量的 STA (数值为 1e-18)不绝回购 WETH,并在每次回购后,操作 Balancer 的合约裂痕重置其内部 STA 的数量(数值为 1e-18),以此稳住 STA 的高价位。
阶段 4:送还 dYdX 闪电贷,离场。
进攻者进攻地点:
进攻者最终收款地点:
进攻者赢利
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。