失去“希望”的团队:贴出了子照片和身份证-ODAILY_LSD:POOL

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

事件过程

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

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

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

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

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

为了抽走GenesisRewardsPool资金池的资金,EOA0x...9113创建了一个假的路由器合约,并将这个地址更新为GenesisRewardsPool资金池内的SwapHelper。

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

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

链上分析

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

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

对setRouter的更新进行多签批准

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

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

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

另外一边,在对0x1994函数反编译后,我们可以看到变量`v9`被赋值为`address(varg2)`,也就是交换`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,然后被发送到TornadoCash。

警惕!内鬼交易!

如今,很多项目都是内部人员作案,甚至自导自演声称自己是受害者。CertiK过去曾发布文章报道过这一风险,我们有许多工具可供希望提高安全性和保护项目不受内部不良分子影响的Web3.0项目使用。

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

金宝趣谈

[0:15ms0-7:59ms