DeFi 的黑暗艺术仍然是最有利可图的。
下面是我们至今遇到过最具戏剧性的故事之一。
一个虚假魔术,混乱及指控的故事,导致了迄今为止最大的 DeFi 黑客事件。
大约有 3750 万美元资金在一起复杂的 DeFi 欺骗案中被盗,这次攻击利用了多笔交易来突袭 Alpha Finance 的金库,同时让很多人相信是 Cream 的铁金库(Iron Bank)受到了影响。
这起谋杀案发生在一个有镜子的大厅里,DeFi 协议日益交织的性质,加上攻击的复杂性,使得社区对谁是真正的受害者,以及谁该负责赔偿感到困惑。
攻击者的合约导致 Homora 代码「相信」他们的恶意合约是他们自己的,目的是操纵系统中的内部债务数量。
这是协议和攻击者之间的一场私人战斗。被利用的合约尚未被公布,也未提供给用户,这意味着他们没有受到直接影响。我们还没有看到过这样一个明目张胆的内部作案,Alpha Finance 很快指出,他们找到了一个「主要嫌疑人」。
如果合约还没有准备好,为什么还要部署在主网上?
在混乱中,大玩家迅速采取行动来保护自己的资本。SBF 从 Cream Finance 中提取了价值 4 亿美元的 FTT,三箭资本(Three Arrows Capital)则向币安发送了价值 300 多万美元的 ALPHA 代币,其唯一目的可能是出售掉它们。
与这次攻击相关的所有代币的价值均出现了下降。
Alpha Homora 治理令牌 ALPHA 从 2.25 美元跌至 1.78 美元。
Iron Bank 治理代币 CREAM 从 288.32 美元跌至 193.51 美元。
AAVE,其提供了这次攻击所需的闪电贷功能,它的治理代币从当天的 518 美元跌至 492 美元的低点。
然而,代币定价并不是这个故事中最有趣的方面。
Alpha Finance 团队发布了一篇出色的调查报告,而他们的发现是惊人的。我们联合调查的结果表明,腐败的程度比预期的要严重得多。
Alpha Finance 是否会公开他们的指控还有待观察,但他们最初关于有主要嫌疑人的声明表明,影响正在到来。
从官方调查报告来看,我们可以看出,攻击者需要知道以下信息才能实施攻击:
HomoraBankv2 为即将发布的版本部署了一个 sUSD 池子,这一版本既没有在 UI 上提供,也没有公开发布。
sUSD 借贷池中没有流动性,因此攻击者可以完全操纵和夸大总债务金额和总债务份额;
借用函数计算中存在舍入错误计算,仅当攻击者是唯一借用者时才会产生影响;
resolveReserve 函数可以在不增加 totalDebtShare 的情况下增加 totalDebt,而实际上任何人都可以调用用于将收入收集到储备池的函数;
HomoraBankv2 接受任何自定义 spell,只要不变量检查出 collateral>borrow (类似于 Yearn 中策略的 spell);
在这么多用户的注视下,抢劫者留下了清晰的线索,在罕见的反击行动中,受害者将袭击者挑了出来。
上述要求证明,实施这一攻击需要内幕信息。然而,由于涉及协议和审计公司的范围,内幕人士可能有多个可能。
rekt 不再是在做指控的生意,但我们期待着看到 Alpha Finance 如何处理这种情况。
以下是 Alpha Finance 表述的经过:
攻击者制造了一个邪恶的 spell (相当于 Yearn 的策略) https://etherscan.io/tx/0x2b419173c1f116e94e43afed15a46e3b3a109e118aba166fcca0ba583f686d23
攻击者将 ETH 交换成 UNI,并将 ETH+UNI 提供给 Uniswap 池子(获得 ETH/UNI LP 代币)。在同一笔交易中,在 Uniswap 上交换 ETH->sUSD,并将 sUSD 存入 Cream 的 Iron Bank (获得 cysUSD) https://etherscan.io/tx/0x4441eefe434fbef9d9b3acb169e35eb7b3958763b74c5617b39034decd4dd3ad
使用邪恶的 spell 调用 execute 到 HomoraBankV2,执行:借用 1000e18 sUSD,将 UNI-WETH LP 存到 WERC20,并在此过程中用作抵押品(绕过 collateral > borrow 检查),攻击者拥有 1000e18 sUSD 债务份额(因为攻击者是第一个借款人) https://etherscan.io/tx/0xcc57ac77dc3953de7832162ea4cd925970e064ead3f6861ee40076aca8e7e571
再次使用邪恶 spell 调用 execute 到 HomoraBankV2,执行:偿还 100000098548938710983 sUSD (实际应计利息债务为 100000098548938710984 sUSD),导致偿还份额比总份额少 1。结果,攻击者现在有 1 minisUSD 债务和 1 份债务份额。https://etherscan.io/tx/0xf31ee9d9e83db3592601b854fe4f8b872cecd0ea2a3247c475eea8062a20dd41
调用 sUSD 银行的 resolveReserve,产生 19709787742196 债务,而 totalShare 仍为 1。当前状态:totalDebt = 19709787742197,而 totalShare = 1 https://etherscan.io/tx/0x98f623af655f1e27e1c04ffe0bc8c9bbdb35d39999913bedfe712d4058c67c0e;
再次使用邪恶 spell 调用 execute 到 HomoraBankV2,执行(重复 16 次,每次翻倍借入金额):借入 19709787742196 美元并转移给攻击者(每次翻倍,因为每次借入成功 totalDebt 都翻倍)。每次借入都比 totalDebt 值小 1,导致相应的借入份额 =0,因此协议将其视为无债务借入。在交易结束时,攻击者向 Cream 的 Iron Bank 存入 19.54 sUSD。https://etherscan.io/tx/0x2e387620bb31c067efc878346742637d650843210596e770d4e2d601de5409e3
继续这个过程:再次使用邪恶的 spell 调用 execute 到 HomoraBankV2,执行(重复 10 次,每次翻倍借来的金额)。在交易结束时,攻击者将 1321 sUSD 存入 Cream 的 Iron Bank,https://etherscan.io/tx/0x64de824a7aa339ff41b1487194ca634a9ce35a32c65f4e78eb3893cc183532a4;
通过 Aave 的闪电贷借入 1,800,000 USDC,然后将这 1,800,000 USDC 换成 1770757.5625447219047906 sUSD,并存入 Cream 以使攻击者有足够的流动资金使用自定义 spell 借款,继续将 sUSD 借款翻番,从 1322.70 sUSD 增加到 677223.15 sUSD (共 10 倍)。将 1353123.59 sUSD 换成 1374960.72 USDC,从 Cream 借入 426659.27 USDC (因为攻击者已在步骤 b 中存入 sUSD) https://etherscan.io/tx/0x7eb2436eedd39c8865fcc1e51ae4a245e89765f4c64a3200c623f676b3912f9
重复步骤 8,这次金额大约是 1000 万 USDC ,https://etherscan.io/tx/0xd7a91172c3fd09acb75a9447189e1178ae70517698f249b84062681f43f0e26e;
重复 1000 万 USDC,https://etherscan.io/tx/0xacec6ddb7db4baa66c0fb6289c25a833d93d2d9eb4fbe9a8d8495e5bfa24ba57
借款 13244.63 WETH+360 万 USDC+560 万 USDT+426 万 DAI,向 Aave 供应稳定币(以获得 aToken,因此 USDC 和 USDT 不能冻结),向 Curve a3Crv 池子供应 aDAI、 aUSDT 以及 aUSDC,https://etherscan.io/tx/0x745ddedf268f60ea4a038991d46b33b7a1d4e5a9ff2767cdba2d3af69f43eb1b
将 a3Crv LP 代币添加到 Curve 的流动性 gauge https://etherscan.io/tx/0xc60bc6ab561af2a19ebc9e57b44b21774e489bb07f75cb367d69841b372fe896
其余的交易将资金发送到 Tornado Cash 以及 GitCoin Grants,其中有 1000 ETH 被发送到 Cream 和 Alpha 的部署者地址。
这个故事很独特,也令人生疑。
当涉及到白帽子 / 黑帽子的活动时,我们总是期待看到角色转换,但是我们很少看到受害者如此清楚地指责。
几周前促成 Yearn 和 Alpha Homora 合作的 Andre Cronje 在谈到这次攻击时写道:
「花点时间研究了这次攻击,9 笔交易,4 种不同的操纵,其中一种包括精确的债务计算,这需要研究团队花费数小时才能弄清楚,Alpha 立即采取了措施来缓解漏洞问题,在发现该问题后的几分钟内就解决了它。」
而 Banteg 的回复是:
「这个事件绝对是疯狂的,不可能有人随便看看合约,尤其是那些未经宣布的东西,就能发现这一点。」
也许这会导致另一起 Yearn 收购案,Cronje 的名字在调查报告中被提到了 4 次,而且这个模式看起来确实很熟悉。
由于可能的嫌疑犯名单非常小,因此更容易排除和追踪潜在的攻击者,在这种情况下,名单范围甚至比平常更小。
在处理代码时,「Don’t trust, verify」是一句极好的口号,但它并不能阻止日益增长的社会偏执症。我们正经历一个加密货币和 DeFi 前所未有的增长时期,在这个时期,不工作的成本是非常高的。DeFi 开发者的精神负担与日俱增。
帝国是建立在代码行之上的,金融的未来就在我们眼前。
开发人员陷入了竞争,而腐败的内部人员则帮助黑客在地下工作,在他们的基础上挖洞。
当一座塔倒塌时,其他的塔都会看着并学习。在尘埃落定之前,人群已经开始前进,而坚韧的的团队会重返赛场,以寻求更强的实力。
在不可避免的错误导致他们的匿名斗篷掉下之前,他们还能维持多长时间?
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:服务于区块链创新者
评论0条