Web3 安全 | Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

현재 언어 번역이 없어 원문을 표시합니다.
迁移流动性时应该多重考虑新池子和旧池子两种代币的数量的变化或者当前的代币价格,直接取交易对两个币种数量计算容易被操控。

Web3 安全 | 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

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

根本原因

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

攻击流程

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

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

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

Web3 安全 | Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

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

Web3 安全 | Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

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

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

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

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

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

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

Web3 安全 | Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

Web3 安全 | Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

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

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

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

Web3 安全 | Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析

 

 

总 结

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

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

END.

공유하기:

작성자: Numen Cyber

이 글은 PANews 입주 칼럼니스트의 관점으로, PANews의 입장을 대표하지 않으며 법적 책임을 지지 않습니다.

글 및 관점은 투자 조언을 구성하지 않습니다

이미지 출처: Numen Cyber. 권리 침해가 있을 경우 저자에게 삭제를 요청해 주세요.

PANews 공식 계정을 팔로우하고 함께 상승장과 하락장을 헤쳐나가세요
PANews APP
미국의 3대 주요 주식 지수는 모두 하락 마감했으며, COIN 지수는 7.59% 이상 떨어졌습니다.
PANews 속보