CEL:Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

根据 Numen 链上监控,2023年6月1日10点7分55秒(UTC+8),Cellframe Network(@cellframenet)在 Binance Smart Chain 上因为流动性迁移过程中代币数量计算问题遭到黑客攻击,黑客从中获利76112美元。

黑客地址:

https://bscscan.com/address/0x2525c811ecf22fc5fcde03c67112d34e97da6079

攻击交易:

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

Celsius前CEO曾试图为新项目Celsius Web Services筹集10亿美元:金色财经报道,Celsius前首席执行官Alex Mashinsky试图为一个名为Celsius Web Services的项目筹集10亿美元。CWS将提供Celsius产品的通用版本,包括那些专注于收益和托管的产品。投标文件显示,Celsius分别在5月和6月与华尔街银行高盛和阿布扎比支持的基金ADQ就一个名为Celsius Web Services的项目进行了接触。

Mashinsky试图推出一系列新产品,并将Celsius从其核心业务加密借贷中剥离出来,但其速度不足以避免借贷业务使整个公司沉没。Celsius在去年6月12日冻结了提款,并在一个月后申请了破产保护,对10多万名用户的欠款超过47亿美元。[2023/5/12 15:00:14]

预先调用交易:https://bscscan.com/tx/0xe2d496ccc3c5fd65a55048391662b8d40ddb5952dc26c715c702ba3929158cb9

外媒:Celsius被质疑挪用此前为乌克兰募捐的资金:10月25日消息,推特上的批评者指控加密借贷平台Celsius挪用此前为乌克兰募捐的资金,并确保最高管理层在债权人之前得到偿付。当时乌克兰数字化转型部公布了接受捐款钱包的地址,且FTX和币安等加密交易所为用户如何捐款提供了官方指导,但Celsius采用了不同的方式,它没有将用户引导至乌克兰政府运营的官方钱包,而是在推特上发布了它控制的钱包地址,并通过这些地址募集捐款。

批评者认为,链上数据没有证据表明Celsius所筹集的加密货币曾被捐给乌克兰。Nansen数据显示,发送到Celsius公布的钱包中所有的ETH都被传递到由Celsius控制的其他钱包。乌克兰数字化转型部的一位发言人表示,其不知道Celsius曾捐赠任何ETH。目前尚不清楚Celsius是否通过电汇等其他方式进行了现金捐赠,或者使用加密货币是否通过不易追踪的加密路线或其他渠道传递,但此事在推特上引起了一些加密用户的强烈抗议。[2022/10/25 16:38:11]

流动性迁移中计算出现问题。

彭博社:Celsius正考虑出售部分或全部资产,并退出破产保护:10月24日消息,加密借贷平台Celsius正在考虑出售其部分或全部资产,同时还在探索以其他方式来偿还债权人并退出第11章的破产保护,或将影响已被锁定账户几个月的Celsius客户能收回多少资金。(彭博社)[2022/10/24 16:36:44]

1.首先,攻击者通过 DPP 的 flashloan 获得了1000个 BNB,然后利用 Pancake v3 的闪电贷功能获取了50万个 New Cell 代币。

接下来,他们将所有的 New Cell 代币换成了 BNB,导致池中的 BNB 数量接近为0。

Celsius债权人委员会在听证会上阻止Celsius出售其开采的比特币:8月12日消息,在今天的Celsius第11章破产程序的听证会上,Celsius债权人委员会采取行动阻止Celsius出售其部分开采的加密货币的企图。本周,代表债权人委员会的律师在一份法庭文件中写道,他们首先需要更深入地了解如何出售Celsius开采的比特币以及如何使用出售所得。该委员会还表示,它正在开展“广泛的调查”,并预计将援引2004年破产规则。如果得到法官的批准,该规则将允许广泛的证据开示程序,该程序可能要求相关方作证或出示文件,类似于民事诉讼中的证词。

据悉,Celsius子公司Celsius Mining曾于5月申请IPO,也随着Celsius提交了破产保护申请,在7月份的诉讼开始时,法官批准了Celsius动用500万美元启动其挖矿业务的请求,但这已经引起了美国司法部以及现在的债权人委员会的批评。

此前8月9日消息,Celsius债权人委员会将调查Celsius CEO及其他内部人士的欺诈行为。(Decrypt)[2022/8/12 12:20:29]

最后,攻击者用900个 BNB 兑换成了 Old Cell 代币。

2.需要注意的是,攻击者在攻击之前添加了 Old Cell 和 BNB 的流动性,获得 Old lp。

3.接着,攻击者调用流动性迁移函数。此时的状态是新池子中几乎没有 BNB,老池子中几乎没有 Old Cell 代币。

迁移的过程涉及以下步骤:

首先,移除旧流动性,并将对应数量的代币返回给用户;接着,按照新池子的比例添加新的流动性。

由于旧池子中基本没有 Old Cell 代币,因此在移除流动性时获得的 BNB 数量会增加,而 Old Cell 代币的数量会减少。

Resoul 中的数值变大,Token1 的数值也变大。

用户只需添加少量的 BNB 和少量的 New Cell 代币即可获取流动性,并将多余的 BNB 和 Old Cell 代币返回给用户。

然后,重复进行迁移操作。

4.最后,攻击者移除新池子的流动性,并将迁移返回的 Old Cell 代币兑换成 BNB。

此时,老池子中有大量的 Old Cell 代币,但没有 BNB,攻击者将 Old Cell 代币重新兑换成 BNB,从而完成盈利。

迁移流动性时应该多重考虑新池子和旧池子两种代币的数量的变化或者当前的代币价格,直接取交易对两个币种数量计算容易被操控。

此外,代码上线前应做好全面的安全审计。

Numen Cyber

企业专栏

阅读更多

区块律动BlockBeats

曼昆区块链法律

Foresight News

GWEI Research

吴说区块链

西柚yoga

ETH中文

金色早8点

金色财经 子木

ABCDE

0xAyA

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

链链资讯

[0:0ms0-3:604ms