# Cellframe Network 遭受闪电贷攻击事件详解2023年6月1日上午10点07分55秒,Cellframe Network 在某智能链平台上因流动性迁移过程中的代币数量计算问题遭到黑客攻击。此次事件导致黑客获利约76,112美元。## 攻击过程分析攻击者首先通过闪电贷获取了大量资金,包括1000个平台原生代币和50万个New Cell代币。随后,攻击者将所有New Cell代币兑换成平台原生代币,导致流动性池中的原生代币数量接近归零。紧接着,攻击者用900个原生代币兑换成Old Cell代币。值得注意的是,攻击者在实施攻击前,预先在Old Cell和原生代币的流动性池中添加了流动性,获得了相应的LP代币。攻击的核心步骤是调用流动性迁移函数。此时,新池子中几乎没有原生代币,而老池子中几乎没有Old Cell代币。迁移过程涉及以下步骤:1. 移除旧流动性,并将对应数量的代币返还给用户。2. 按照新池子的比例添加新的流动性。由于旧池子中基本没有Old Cell代币,在移除流动性时获得的原生代币数量增加,而Old Cell代币数量减少。这导致用户只需添加少量原生代币和New Cell代币即可获取大量流动性,多余的原生代币和Old Cell代币则被返还给用户。最后,攻击者移除新池子的流动性,并将迁移返回的Old Cell代币兑换成原生代币。此时,老池子中有大量Old Cell代币但几乎没有原生代币,攻击者将Old Cell代币重新兑换成原生代币,从而完成获利。攻击者随后重复进行迁移操作,进一步扩大收益。## 安全建议1. 在进行流动性迁移时,应当全面考虑新旧池子中两种代币数量的变化以及当前的代币价格。直接根据交易对中两种代币的数量进行计算容易被操纵。2. 在代码上线前,务必进行全面且严格的安全审计,以发现并修复潜在的漏洞。3. 设计智能合约时,应考虑各种极端情况和边界条件,增强合约的鲁棒性。4. 实施有效的监控机制,及时发现异常交易并采取相应措施。5. 考虑引入价格预言机等外部数据源,以获取更可靠的价格信息,减少被操纵的风险。此次事件再次强调了DeFi项目在设计和实施过程中安全性的重要性。开发团队应当时刻保持警惕,不断完善安全措施,以保护用户资产和项目的长期发展。
Cellframe Network遭闪电贷攻击 黑客获利7.6万美元
Cellframe Network 遭受闪电贷攻击事件详解
2023年6月1日上午10点07分55秒,Cellframe Network 在某智能链平台上因流动性迁移过程中的代币数量计算问题遭到黑客攻击。此次事件导致黑客获利约76,112美元。
攻击过程分析
攻击者首先通过闪电贷获取了大量资金,包括1000个平台原生代币和50万个New Cell代币。随后,攻击者将所有New Cell代币兑换成平台原生代币,导致流动性池中的原生代币数量接近归零。紧接着,攻击者用900个原生代币兑换成Old Cell代币。
值得注意的是,攻击者在实施攻击前,预先在Old Cell和原生代币的流动性池中添加了流动性,获得了相应的LP代币。
攻击的核心步骤是调用流动性迁移函数。此时,新池子中几乎没有原生代币,而老池子中几乎没有Old Cell代币。迁移过程涉及以下步骤:
由于旧池子中基本没有Old Cell代币,在移除流动性时获得的原生代币数量增加,而Old Cell代币数量减少。这导致用户只需添加少量原生代币和New Cell代币即可获取大量流动性,多余的原生代币和Old Cell代币则被返还给用户。
最后,攻击者移除新池子的流动性,并将迁移返回的Old Cell代币兑换成原生代币。此时,老池子中有大量Old Cell代币但几乎没有原生代币,攻击者将Old Cell代币重新兑换成原生代币,从而完成获利。攻击者随后重复进行迁移操作,进一步扩大收益。
安全建议
在进行流动性迁移时,应当全面考虑新旧池子中两种代币数量的变化以及当前的代币价格。直接根据交易对中两种代币的数量进行计算容易被操纵。
在代码上线前,务必进行全面且严格的安全审计,以发现并修复潜在的漏洞。
设计智能合约时,应考虑各种极端情况和边界条件,增强合约的鲁棒性。
实施有效的监控机制,及时发现异常交易并采取相应措施。
考虑引入价格预言机等外部数据源,以获取更可靠的价格信息,减少被操纵的风险。
此次事件再次强调了DeFi项目在设计和实施过程中安全性的重要性。开发团队应当时刻保持警惕,不断完善安全措施,以保护用户资产和项目的长期发展。