案例库 · 财务与会计 · 技术决策 · 2023
Euler 因一处缺失的检查损失 1.97 亿美元——然后攻击者把钱还了回来
2023 年 3 月 13 日,一次漏洞利用从 Euler 卷走了 1.97 亿美元。随之而来的是三周的链上谈判——以及 100% 的追回。
Euler Finance · 2023-03-13
怎么回事
Euler 是以太坊上的一个去中心化借贷协议。它的 donateToReserves 函数曾在 2022 年 7 月被打过一个补丁来修复一个 bug——但这个补丁漏掉了一项健康检查。
2023 年 3 月 13 日,从 8:50(UTC)开始,一名攻击者通过闪电贷借入约 3,000 万美元的 DAI,向 Euler 存入 2,000 万美元,把仓位放大到约为存款的十倍,随后利用 donateToReserves 在保留债务的同时销毁自己的抵押品——从而让自己具备被清算的资格,并领取一笔高于这次捐赠成本的清算奖金。约 1.97 亿美元的 USDC、打包比特币、质押以太币和 DAI 离开了协议;Euler 的 EUL 代币下跌超过 45%。
接下来是一场谈判。Euler 在链上给攻击者留言,要求 24 小时内返还 90% 的资金,并悬赏 100 万美元征集能促成逮捕的线索。以“Jacob”身份通过链上留言和邮件沟通的攻击者分批归还了资金:3 月 18 日归还 3,000 枚 ETH,3 月 25 日归还 51,000 枚 ETH,当追回推进到约 84% 时,攻击者在链上道歉(“我搞砸了”)。其间,Lazarus Group 试图用一个恶意的解密链接反打攻击者;Euler 提醒自己的攻击者不要去点它。
2023 年 4 月 3 日,最后一批资金回来了,4 月 4 日 Euler 宣布全部追回:约 2.4 亿美元被归还——比被卷走的还多,因为被盗资产在谈判期间升值了。这成为 DeFi 历史上最大的追回事件之一:这场漏洞利用让协议在三个星期里失去了一切,而最终,什么都没失去。
为什么会这样
- 针对一个 bug 的补丁上线时,缺了那道本可以拦住下一个 bug 的健康检查。
- 这次漏洞利用把闪电贷、10 倍自我杠杆和捐赠进储备金的把戏串成一次 1.97 亿美元的抽干——同一类交易,没有强制闯入。
- 追回靠的是谈判而非武力:一份最后通牒、链上留言,以及三周里分批归还的资金。
教训
每一处补丁都是一块新表面:Euler 在七月修复的那个函数,正是三月被利用的缺陷所在。第二个教训更罕见:攻击者把钱还了回来。
资料来源
- Euler Finance — War & Peace: Behind the Scenes of Euler's $240M Exploit Recovery
- Chainalysis — Euler Finance Flash Loan Attack Explained
发现哪里写错了?告诉我们。
类似的案例
这家公司栽倒的地方,别处有人漂亮地解开过。 第二意见 →

Comments · 0
登录 后就能评论。