尽快取消授权,或转移资金到新钱包。

作者:Beosin

封面:Photo by Nicolas Arnold on Unsplash

2022 年 10 月 2 日,据 Beosin 舆情监测显示,Transit Swap 项目遭受攻击,被盗约 2100 万美元。关于本次事件,Beosin 团队第一时间进行了分析。

首先在今早发现被盗后,Transit Swap 技术团队紧急暂停服务,无法进行任何操作,很多用户也在社交平台纷纷表示自己钱包的资产被盗。

图片

据悉,本次事件的主角 Transit Swap 是某加密钱包下的闪兑交易平台。

首先我们需要知道什么是闪兑?

很多加密钱包出了闪兑功能,之所以叫这个名字主要就是因为不同数字货币之间的交易速度很快,因为闪兑不需要像交易所那样来撮合买方和卖方之间的订单,闪兑更像是柜台交易,就像去银行拿美元兑换人民币,在汇率已知的情况下,给多少美元,银行就会根据汇率兑换给你相应数量的人民币。

闪兑除了兑换交易速度快之外,还有一些其他的功能,这也是很多用户使用它的原因。

下面,我们回到本次事件技术层面来分析。

BSC 链上的攻击交易:

https://bscscan.com/tx/0x181a7882aac0eab1036eedba25bc95a16e10f61b5df2e99d240a16c334b9b189

以太坊上的攻击交易:

https://etherscan.io/tx/0x743e4ee2c478300ac768fdba415eb4a23ae66981c076f9bff946c0bf530be0c7

用户进行 swap 兑换时,正常流程是先通过 Transit Cross Router v3 合约选择路由合约,随后通过 Transit Swap&Cross Approve Proxy 合约进行权限验证后,调用 claimTokens 函数将用户兑换的 token 转入路由合约中。而 Transit Swap 合约实现时,上述三个合约均未对用户输入数据进行正确的验证,导致攻击者可以构造出任意指定的兑换数据 calldata,其中可以将授权过的用户的代币转入攻击者指定的任意地址之中。

图片

这个合约未对下面的 calldata 进行验证,解析后为下图的 input,里面指定了收款人为攻击者地址。

图片

攻击者就通过这种方式,共获利约 2100 万美元。随后将资金归集到获利地址 0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46,

但是项目方依然没有放弃,随后 Transit Swap 官方发布公告称,目前已确定黑客 IP、电子邮件地址,以及相关的链上地址。Transit Swap 团队表示将尽力追踪黑客,并尝试与黑客沟通,帮助用户挽回损失。

图片

随着事件的影响力扩大,攻击者似乎也知道真实身份难保。也可能是被项目方 “感化”,这位攻击者决定退回盗取的资产。

截止发稿前,目前攻击者已将 BNB 链上的 37,000 BNB 和 1500 ETH,以太坊上的 3,180 ETH 归还给项目方。2500 BNB 被转移到 Tornado.Cash,剩余的 12,612 BNB 仍在攻击者地址上,价值约 356 万美元。成都链安链必追-虚拟货币案件智能研判平台正在对被盗资金进行实时追踪。

图片

从本次事件,我们可以看到,合约授权依然潜藏着诸多风险。

Beosin 安全团队在这里提醒所有授权过该项目的用户,尽快取消授权,或转移资金到新钱包。同时建议项目方在项目实现时,务必对用户输入进行彻底的检查,也可以通过合约审计来规避此类问题。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。