19 岁的 Euler 骇客:只花 18 分钟就盗走 2 亿美元,犹豫 3 周后全数归还

编译:律动

2023 年 3 月 13 日,在短短 18 分钟内,一名骇客从一个流行的借贷平台——Euler Finance 盗取了价值近 2 亿美元的加密货币,这是今年最大的盗窃案。仅仅三周后,他就撤销了交易,全数归还失窃资产。

自盗窃案发生以来,这位骇客首次站出来还原事件始末,并声称,他一开始就没有打算保留这笔资金。

Coinage 与自称骇客的男子进行了交谈,他是一位阿根廷年轻人,名叫费德里科·海梅 (Federico Jaime),这一说法得到了其他重要证据的支持。这是他的故事。

图片来源:Instagram @federicojaimeok

在罗马一个凉爽的三月夜晚,凌晨 3 点左右, Federico 站在一家酒吧外,等待朋友,并与上帝交谈。这位 19 岁的阿根廷人在过去的一个月里一直在寻找一些东西,但他还没有找到。他想知道为什么。

「天哪,如果我所有的项目都在一个月内完成,为什么这次不呢?」他抬头看著天空,心中想著。「为什么以前听过我的话,现在却听不到了?」他还要几个小时才能回到旅馆。

当他终于回到家时,他却睡不著,就像往常一样。于是,他决定去工作。

Federico 的祈祷几乎立刻就得到了回应,也许是预言般的。他发现了他一直在寻找的东西:加密货币借贷程式代码中的漏洞。他立即著手利用他的发现。

「当我工作时,我像艺术家、作家一样工作,」Federico 后来在电话中用他的第二语言英语告诉我。「为了唤醒缪斯,缺乏睡眠是件好事。」

接下来的两天 Federico 都睡不著觉。当他终于在义大利医院的病床上醒来时,他的身家增加了 2 亿美元,但他感觉自己的背上烙下了一个诅咒。

图片来源:Instagram @federicojaimeok

加密货币世界依赖于透明度。每笔交易——向朋友汇款、购买 NFT、贷款——都是公开的,并且交易是不可逆转的。在区块链上运行的应用程式(称为智能合约)同样是公开的;任何人都可以自己检查代码。

随著过去几年人们对加密货币的兴趣激增,整个去中心化金融应用行业也随之兴起,允许加密货币投资者交换代币、获得贷款、对价格变动进行杠杆押注并赚取利息。目前约有 450 亿美元的加密货币被承诺用于 DeFi 协议;而 2021 年秋季,这一数字超过 1750 亿美元,大约相当于摩根士丹利持有的全部存款金额。

DeFi 为加密货币爱好者提供了令人兴奋的金融创新,与加密货币领域的快速发展和宽松的监管相适应。如果你想在没有抵押品的情况下借到 2 亿美元,或者对 DOGE 和 PEPE 等「meme」加密货币进行投机,那么 DeFi 是唯一的选择。

与此同时,骇客将 DeFi 视为各种数位银行金库,每个金库都有一个公共蓝图(代码开源),实际上是在邀请某人尝试抢劫。根据加密货币研究公司 Chainaanalysis 的数据,DeFi 协议已成为加密货币骇客的主要目标,他们在 2021 年从 DeFi 窃取了 22 亿美元,2022 年窃取了 31 亿美元,占当年被盗加密货币总额的 80% 以上。

迄今为止,最成功的加密货币骇客是拉撒路集团(Lazarus Group),在 2022 年 Lazarus 窃取的 17 亿美元中,有 11 亿美元来自 DeFi 漏洞。

面对无休止的攻击,DeFi 协议的应对措施是招募安全公司审核智能合约、监控威胁,甚至引诱白帽骇客(即标记漏洞以获取奖励的骇客,而不是利用这些漏洞的黑帽骇客)。为自己窃取漏洞。即使经过严格审核并采取一切预防措施的 DeFi 协议仍然可能成为强大骇客攻击的受害者,而这个攻击者有时只是一个 19 岁的孩子,上帝站在他这一边。

图片来源:Instagram @federicojaimeok

这一切都可以通过一行代码来阻止。

回到饭店,当太阳在罗马上空升起时,Federico 开始研究由伦敦新创公司 Euler Labs 开发的名为 Euler Finance 的 DeFi 借贷协议。Euler 允许其用户提取高达其存入抵押品价值十倍的贷款;投入 10,000 美元,您就可以像 100,000 美元一样进行交易。但加密货币具有波动性,如果价格走势错误,用户的存款可能不足以确保赎回其抵押品。这就是为什么每次用户与 Euler 交互时,平台都会检查其帐户的运行状况,如果运行状况分数过低,则会触发自动清算。

但 Federico 看到了一些不存在的东西:单个 Euler 智能合约中的单个函数缺少健康检查。在短短几个小时的研究中, Federico 发现了 Euler 团队以及几位独立智能合约审计师所遗漏的地方。

「这只不过是神圣的灵感。这只不过是唤醒了我的缪斯。」Federico 说。「确切地说,在寻找我要找的东西一个月后……我找到了。」

Federico 开始策划他的进攻。3 月 13 日,经过两天不眠不休的编程之后,他几乎准备好执行了。唯一的问题是:他不知道如何部署智能合约,也不知道它会花费多少钱。

「我在谷歌上搜索,部署智能合约的成本是多少?我发现……有文章说从 5,000 美元到 50,000 美元不等。」Federico 说道,他提高了声音回应他所感到的难以置信。「WTF」

但 Federico 继续前进,最终了解到实际的合约部署成本要低得多。此时,距离他上次睡觉几天后, Federico 告诉我他根本没有考虑钱的事。「我认为这是一个实验。只是一个实验,」他解释道。「我不确定它是否会起作用…… 我不确定我是否可以部署智能合约。我的疑虑多于确定性。」

「所以我真的低估了这个漏洞和我自己,因为它最终起作用了。」他补充道。

2023 年 3 月 13 日上午,义大利时间上午 9 点 54 分, Federico 坐在电脑前。在 18 分钟的时间里,他用来发起对 Euler Finance 攻击的三个钱包从该协议中窃取了价值 1.97 亿美元的加密货币。这些资金最终全部存入一个钱包——一个装满成堆百元大钞的虚拟行李袋。

「首先,我想,这太令人兴奋了。我破解了一个巨大的协议,然后我想,哇,2 亿美元。这是我背上的诅咒。」

Federico 仍然无法入睡,他让饭店礼宾部叫了一辆救护车。

图片来源:Instagram @federicojaimeok

第一个发现异常的人是机器人,一些加密安全公司为 DeFi 项目提供实时威胁监控和警报。在 Euler 骇客事件中,至少两家资安公司 Forta 和 Hypernative 在攻击开始前就收到了警报。

不幸的是,对于拒绝对本文发表评论的 Euler Labs 来说,自动警报仅在攻击开始前几分钟发出,对于这家总部位於伦敦的新创公司来说,保护协议安全还为时过早。(「我们预测攻击的时间通常在一分钟到一小时之间。」Forta 行销经理 Alex Behrens 说。)

英国时间 3 月 11 日星期一上午 8:59,区块链资安公司 PeckShield 在社交媒体上发文「嗨 @eulerfinance:你可能想看一下」,并链接到一个页面,显示钱包已攻击了 Euler 的 DAI 稳定币供应,窃取了超过 870 万美元的资金。

然后,大家就眼睁睁看著 Euler 一次次受到打击。骇客偷走了 1850 万美元的 WBTC,然后偷走了 1.16 亿美元的 stETH… 最终,骇客获利 1.97 亿美元,而 Euler 的全部 6 个代币储备均化为乌有。

上午 9 点 56 分,Euler 在社交媒体上引用了 PeckShield 的消息表示:「我们知道,我们的团队目前正在与安全专业人员和执法部门合作。我们将在获得进一步消息后立即发布。」

因为这是加密货币,所以每个人都可以看到骇客钱包中的资金。通过查看该钱包的交易,安全专家能够对攻击进行逆向工程,最终发现导致盗窃的单一漏洞。但同样由于这是加密货币,Euler 的团队无法将该钱包与现实生活中的身份进行关联,也无法了解骇客的意图。

3 月 13 日,骇客的最后行动是通过 Tornado Cash 发送 100 ETH(当时价值 168,000 美元),Tornado Cash 是以太坊上的一种「混合」交易协议,使资金更难追踪。然后,该钱包地址就此沉默。

当晚 10 点 47 分,Euler 团队向骇客钱包发送消息称:「我们了解到,您对今天早上对 Euler 平台的攻击负责。我们写信是想了解您是否愿意与我们讨论任何可能的后续步骤。」本次尝试性的沟通标志著 Euler 团队即将开启艰难的三周时光。

第二天晚上 9 点 22 分,Euler 团队又向骇客的钱包发送了一则消息,提议在 24 小时内归还 90% 被盗资金——让骇客保留事实上的 2000 万美元的漏洞赏金。否则,Euler 将向任何提供有关骇客资讯的人悬赏 100 万美元。

骇客没有回应。

3 月 15 日上午 11 点 20 分,Euler 团队再次向骇客钱包发送了另一则消息,重申了之前的漏洞赏金提议。Euler 团队写道:「然后调查可以停止,重点可以转向将其分发回协议用户,而无需走法律途径。」

当晚 10 点 06 分,在骇客持续沉默后,Euler 团队宣布悬赏 100 万美元,奖励那些导致骇客被捕并追回资金的资讯。第二天,Euler 联合创始人兼首席执行官 Michael Bentley 博士分享了他对此次攻击的回应,称前几天是他一生中最艰难的几天,并表达了他对受影响用户的悲痛。

「我不得不牺牲与刚出生的儿子相处的时间,」Bentley 在推特上写道。「我永远不会原谅攻击者,但他们可以纠正错误并尽快将资金返还给 EulerDAO Treasury。」

图片来源:Instagram @federicojaimeok

Federico Jaime 声称他从未打算保留这笔钱。「我从一开始就知道 2 亿美元不是一个小数字,这会对 DeFi 社群造成巨大损害,而这根本不是我的目标。」

我们都想知道,即使只是一瞬间,Federico 是否曾想过 2 亿美元可以买什么,想像过自己拥有一栋豪宅吗?在游艇上?

「从没有过,一点也不,因为我是一名企业家。我可以合法地、完美地赚钱,我不需要偷,我没有理由拿别人的钱。」

对于大多数人来说,这样的评论最多只会引起白眼。毕竟加密社群并不以其谦逊而闻名。但我见过 Federico 环游欧洲、入住五星级饭店、穿著设计师街头服饰的照片。在我们通过电话和偶尔短信进行的谈话中,我问今年 6 月就满 20 岁的 Federico ,他是如何维持自己的生活方式的。

Federico 与父母和妹妹在布宜诺斯艾利斯长大。受到软体工程师父亲的启发,他在 12 岁时学会写程式,并在 14 岁时以 10,000 美元的价格出售了他的第一个时程—— 电动游戏《我的世界》的插件。「这意味著自由,因为我不再需要向父母要钱,他们为我鼓掌。」

当他长大后,Federico 转向了一款新游戏《GTA V》,他为该游戏的铁杆粉丝运行的自定义多人游戏服务器开发了一个反作弊系统。「我发现了一个内存读取错误。我看到我们可以从中获利。」Federico 说道,并补充说该软体 FiveGuard 现在已归其他人所有。「这很特别,因为当你以某种不公平的优势进入游戏服务器时,你会立即被禁止。」

Federico 原本计划去阿根廷上法学院,但在 2020 年毕业并应对新冠疫情后(布宜诺斯艾利斯当地有很多限制以及很长的隔离期),Federico 在征得父母的同意后,他决定在上大学之前请个长假。

去年 10 月初,Federico 曾前往罗马。去年 12 月,据称他当时瞄准了在阿根廷、墨西哥和秘鲁运营的加密货币交易平台 Buenbit,并窃取了数十万美元。Buenbit 的首席执行官 Federico Ogue 将这次攻击定性为欺诈。新闻报导援引警方消息人士的话说,此次袭击的损失为 80 万美元,但 Federico 否认了这一数字。

Federico 不愿就案件的细节发表评论,虽然他承认他的目标是 Buenbit,但同样声称媒体报导中的许多更精彩的细节要么具有误导性,要么完全是捏造的。这位 20 岁的男子坚称自己在此案中无罪,并指出他和他的律师正在与 Buenbit 的团队联系,他希望此事尽快得到解决。

而且,仅仅几个月后,Federico 就有了新的担忧,这次是 2 亿美元。

图片来源:Instagram @federicojaimeok

攻击发生时,Euler Finance 拥有多达 7000 名用户。两天后的 3 月 15 日,其中一名受害者决定向骇客的钱包(Federico 的钱包)发送一则消息。

「请考虑退回 90%、80%。我是一个只有 78 wstETH,作为我一生积蓄存入 Euler 的用户,我不是鲸鱼或百万富翁。」DL News 确认该用户是一位名叫 Santiago Avalos 的阿根廷区块链开发人员,他写道。「你无法想像我现在陷入的混乱,完全被摧毁了……你的决定会给让很多受影响的人如释重负。」

Avalos 一生的积蓄 78 wstETH 当时价值超过 140,000 美元。Avalos 发送消息十三小时后,Federico 做出了回应,但不是通过短信。相反,自三天前的骇客攻击以来,Federico 首次采取行动,向 Avalos 发送了 100 ETH,比受害者在 Euler 崩溃中损失的价值多出约 2.7 万美元。而 Avalos 将多余的资金转回给了 Euler,他说:「我相信他可能是被我的戏模型感动了。」

「这是我的真心之举,」Federico 谈到他退回资金的动机时说道。「我当时很慷慨。另外,我后来发现这个人……也是阿根廷人,而且是 Solidity 开发人员,」他补充道。「这确实是一个非常有趣的巧合。」

Federico 还没有完成资金转移。加上他已经两次通过 Tornado Cash 累计向自己发送了 1100 个 ETH,使他的收益达到近 200 万美元。当我问他为什么时,Federico 告诉我:「我没有多想。我想,如果他们给我 10% 的赏金,对我来说就太多了。我会尽力拿走其中的 1%。」

他的下一步行动是迄今为止最令人困惑的。3 月 17 日,凌晨 5 点之前,Federico 再次发送了 100 ETH,这次是发送到一个臭名昭著的钱包,这个钱包在一年前实施了历史上最大的加密货币骇客攻击之一——从 Ronin Bridge 窃取了超 6 亿美元资金。仅仅一个月后,美国财政部外国资产和控制办公室 (OFAC) 正式将 Ronin Bridge 漏洞与北韩 Lazarus 集团联系起来。

然而当我问他这件事时,他的解释让我震惊。「我根本不知道这是北韩。我从来没有怀疑过,」他开始说道。「我向 Ronin 利用者发送 100 ETH 的原因纯粹是钦佩…… 我想,从白帽骇客到黑帽骇客,我想表达我的钦佩。」

我惊呆了,Federico 也看出来了。「我知道你没想到我会这么说,但这是事实,」他回答道。「我认为这是当今世界最重要的领域,Ronin 骇客的攻击是一种工程行为。从这个意义上说,这是令人钦佩的……恶魔也可以是美丽的女人。」

第二天,Federico 开始归还资金,一开始分三期,每期 1000 ETH,当时总计约 540 万美元。然后,他的钱包又陷入了休眠状态。分析师当时都对 Euler 能否收回剩余资金表示怀疑。

但两天后,即 3 月 20 日,Federico 向 Euler 团队发送了他的第一则讯息:「我们希望让所有受影响的人都能轻松应对。无意保留不属于我们的东西。设置安全通信。让我们达成协议吧。」

Federico 承认这个消息有点晚了:「我试图决定将 2000 万美元保留在自己手中是否是一个好主意……因为这是 Euler 向我提供的,」他说。「我确实没有准备好,缺乏经验,而且是新人……我好几天、好几个星期都没有睡觉,但最终,我知道我必须归还,我知道我不希望对 Euler 的用户群造成任何损害。」

尽管如此,Federico 还是花了不少时间归还资金。3 月 25 日下午 3 点左右,首次出现 81,953 ETH(约合 1.43 亿美元)。随后 27 日,1000 万美元的 DAI 随之而来。28 日凌晨 3 点,Federico 公开道歉,说道:「我搞砸了。我不想,但我扰乱了别人的钱、别人的工作、别人的生活……请原谅我。」然而,一些资金当时仍在他的控制之下。

最终,4 月 3 日,Euler 团队兴奋地宣布,在骇客的最后几笔交易之后,所有「可收回资金」均已归还。Euler 还正式撤销了对 Federico 人头的 100 万美元赏金。Federico 松了口气,一切都结束了。

然后,两个半月后,Federico 的钱包再次活跃起来,向自己发送消息。第一个是在 6 月 17 日,只有两个词:「Ben yre」——布宜诺斯艾利斯。十七分钟后,钱包又发来一则讯息,同样是西班牙语,自称是阿根廷人、庇隆主义者、白帽骇客。该消息对其他骇客的建议是:「不要犯傻,不要偷窃,赚赏金。」

在消息的最后,钱包链接到了一个 Instagram 帐户——@federicojaimeok。我给他发了一则私讯。我们开始在 Instagram 上交谈,Instagram 上存档了自 2022 年 9 月以来 Federico 的故事,然后我们通过 Telegram 进行了交谈。在我们的谈话过程中,这个人告诉我的一切都与我从其他来源了解到的关于 Federico 的资讯相匹配。Federico 还向我提供了他父亲的电话号码,后者证实了他自己的身份以及与 Federico 的关系,并向我提供了与 Federico 告诉我的资讯相符的其他证据。

Federico 告诉我,他决定露面不是为了自己的利益,而是为了 DeFi 社群的利益。「我想鼓励道德骇客行为,这是主要原因,我希望能够发出声音,告诉人们做正确的事。」

Federico 还希望 Euler 与攻击者谈判的策略将为 DeFi 的其他部分树立一个效仿的先例。他说:「我确信去中心化金融领域的骇客场景在 Euler 骇客事件之后的情况会有所不同。我认为这向世界展示了审计的重要性,以及骇客攻击后谈判的重要性。」

Chainalysis 调查副总裁艾琳·普兰特 (Erin Plante) 表示:「不过,并不是加密货币领域的每个人都热衷于漏洞赏金和骇客谈判成为常态。大多数 DeFi 骇客并不是从合法的漏洞赏金中获得 10 万或 50 万美元的报酬,而是经常索取被盗资金总额的 50% 或更多作为佣金,这更像是敲诈勒索。」

Plante 还指出,随著执法机构在追踪非法加密货币方面做得越来越好,骇客更难兑现他们的奖金。她说:「在这种情况下,再加上整个行业的赏金集体下降,骇客从事这项工作的激励措施有望得到改变。」

Federico 一再向我坚称,他的计划从一开始就是归还资金。那么为什么他花了三个星期呢?

「我想有时间保护自己,以合法的方式和其他方式找到安全的方法。」他说。

当然,Federico 的一些说法无法得到证实。Federico 告诉我,该协议的设计和执行完全是他的工作(「这一切都是我自己完成的」),尽管他偶尔会从一位同事那里得到建议,比如需要研究的 DeFi 协议列表(这更像是在掩盖其他人的参与,因为无法从我们拥有的链上数据确定谁编写了代码。)

我们也永远不会知道如果 Federico 更好地计划这次袭击,他是否会保留这笔钱。他向我承认,他很遗憾没有考虑到后果,但他说,只是为了做正确的事情。「我只是计划不够,而且金额太大,我无法处理。」他说。

Federico 告诉我,他对自己给 Euler 团队带来的痛苦感到遗憾。「当我看到 Michael Bentley 的推文说他必须牺牲与家人在一起的时间时,我的心都碎了。」他说。当我问他是否担心这次袭击对未来造成影响时,他否认了这一担忧。「我相信,从法律上讲,Euler 团队不会事后追究,因为这将阻止未来的骇客返还资金。」

Euler Finance 从 4 月 12 日开始开始向攻击受害者进行赔偿,这让受害者感到高兴(并且几乎难以置信)。该漏洞的影响已蔓延到其他 11 个 DeFi 协议。其中一项(Yield Protocol)直到 6 月 27 日才恢复。自骇客攻击以来,Euler Finance 一直处于瘫痪状态。

Federico 仍在欧洲,他形容自己的个人情况「很复杂」,但表示他希望很快回到布宜诺斯艾利斯继续求学。「自从 Euler 骇客事件以来,我的生活就没那么轻松了,这给我留下了压力。」

我问 Federico,他是否认为上帝似乎回应了他的祈祷,正在给他一个教训。「我认为他要么是在跟我玩游戏,要么是在(测试)我。」他回答道。

Federico 还没有下定决心。

(以上内容获合作伙伴 MarsBit

声明:文章仅代表作者个人观点意见,不代表区块客观点和立场,所有内容及观点仅供参考,不构成投资建议。投资者应自行决策与交易,对投资者交易形成的直接间接损失作者及区块客将不承担任何责任。