POO:失去“希望”的团队:贴出了子照片和身份证 Hope局损失180万美元_Rocket Pool

2023年2月21日,CertiK发现了2023年迄今为止Arbitrum上最大的退出局。一个最近推出的名为Hope Finance的项目,号称在局中损失了180万美元。然而经过调查后发现,这场局竟与该项目团队自身的相关钱包有关。该钱包地址在策划了一个获取存款的后门后,抽走了Genesis Rewards Pool奖池的大量资金,造成了该起局。

Hope Finance 于2月1日开始宣传他们的项目,并宣布预计在UTC时间2月20日下午两点启动。然而,启动没多久,一个外部地址(EOA)很快就耗尽了该项目的Genesis Rewards Pool奖金池。

起初来看,Hope Finance项目似乎是被黑客发现漏洞并利用了。然而在检查该团队的一些钱包活动后,CertiK专家发现该项目是一个退出局。

当然,并非所有与Hope Finance公司有关的团队成员都参与了该起退出局。事后,该项目的推特账户发布了一张他们声称“局负责人”的图片,同时还附上其身份证等信息。

被指控的人员是一名尼日利亚学生,大家很快找到其Linkedin账号,尽管没有发表过任何动态,但仍可确认该Linkedin账号属于该学生。

CertiK安全专家发现,一旦外部地址EOA 0x...9113调用含有关键漏洞的OpenTrade函数,Genesis Rewards Pool合约的资金就会被抽走。总价值186万美元的被盗资金在被桥接到了以太坊之后存入到了Tornado Cash。

为了抽走Genesis Rewards Pool资金池的资金,EOA 0x...9113创建了一个假的路由器合约,并将这个地址更新为Genesis Rewards Pool资金池内的 SwapHelper。

虽然这会带来私钥泄露的嫌疑,但它也意味着,需要多签钱包四个所有者中的三个得到确认。即: 任何外部黑客都必须在任何资金被盗之前破坏三个外部地址(EOA)。虽然这不是完全不可能,但是概率很小。

当检查0x8EBd0(Hope Finance multisig多签钱包时)所有者EOA时,我们可以看到EOA 0x11a9b和0xe1c37没有交易历史。一个钱包是奖池创建者,另一个钱包最初由Binance资助。

① 该事件是从0x4481A创建了一个未经验证的假路由器合约开始。

② 然后GenesisRewardPool(0xdfcb)被用来更新SwapHelper,将路由器地址改为第一步创建的假地址。这个setRouter更新需要多签钱包0x8ebd的四个所有者中三个所有者的批准。

对setRouter的更新进行多签批准

③ 0x4481A调用了假的路由器合约,并调用0x3c6455ac函数用以更新_swapExactTokenForTokens和_USDC两个参数,其中第一个参数被设置为0x957D,第二个留了空白。

④ 0x4481A两次调用OpenTrade,用于借入资金,一次用于Pool 0 (WETH),另一次用于Pool 1 (USDC)。两次OpenTrade调用,总共向0x957D转移了477 枚WETH和1,061,759 枚USDC。

对于Pool 0,OpenTrade的调用触发了477枚WETH转移到Hope TradingHelper。此时,WETH会被正常的发送到swap地址并转换为USDC。

另外一边,在对0x1994函数反编译后,我们可以看到变量`v9`被赋值为`address(varg2[0x0])`,也就是交换`path`中的第一个token,即WETH。同时变量`v2`被赋值为预先设定的接收地址,即0x957D。而`v17`被赋值为`TradingHelper`地址,该地址存储了所有的WETH。

下图的一行代码,仍然是在_swapExactTokensForTokens函数中,将'v56'地址(单独计算)的477WETH从msg.sender的v17转移到了接收地址0x957D。

⑤ 两次OpenTrade调用,总共向0x957D转移了477 枚WETH和1,061,759 枚USDC。这些资金通过CelrBridge桥接到以太坊,并转换为总共1,095个ETH,然后被发送到Tornado Cash。

CertiK中文社区

企业专栏

阅读更多

金色早8点

金色财经

Odaily星球日报

欧科云链

Arcane Labs

深潮TechFlow

MarsBit

澎湃新闻

BTCStudy

链得得

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-14:729ms