一个钱包是奖池创建者,另一个钱包最初由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过去曾发布文章【「停止交易」!Web 3.0如何远离靠2美元就加入项目的「内鬼」?】报道过这一风险,我们有许多工具可供希望提高安全性和保护项目不受内部不良分子影响的Web3.0项目使用。 来源:金色财经lg...