免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

    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 代币。

    图片

    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,从而完成盈利。

    图片

     总 结  

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

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

    jinse.cn 0
    好文章,需要你的鼓励
    jinse.cn 0
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > Numen Cyber > Cellframe Network 因闪电贷操控池子比例遭受攻击事件分析
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部