EvoDeFi 攻击事件分析

创宇区块链安全实验室
创宇区块链安全实验室 机构得得号

Jun 15, 2021 专注构建区块链安全生态,致力于让人类进入安全的区块链世界。

摘要: BSC 链上频频爆发攻击事件,合约安全需要得到足够重视

前言

据推文消息,6 月 10 日,BSC 链上的 EvoDeFi 项目遭到闪电贷攻击,知道创宇区块链安全实验室 第一时间跟踪本次事件并分析。

分析

攻击者:
0x8a0a1eb0bae23e4e95608e3aad7fa25b0d907c6c
攻击合约:
0x1cb6d29c52fd993103eadd0c01209ba000e92459
攻击 tx:
0x7c3b7f082a5c92b03a878ff5d7c7e645ce3bcd37901808b936b318c4f3cc3880

子合约 1:
0x5eD40eC8Bd35134f273EC8cEaE1170B783FfD8c9
子合约 2:
0xC3CA2B0dA8faE38b343eC3DcDBec79255C19F397
子合约 3:
0x79B105423e72E8ae9f4B7972f61fb1126C49a034
子合约 4:
0x00A8b07a2f8087BD611299396d4C693C385c5c12
子合约 5:
0x7C5dD8Ec1edd40Fd6c670fc552A4D48bb8BE2d62
子合约 6:
0x78e480357852a2610951437e764702b8188b36d2
MasterChef:
0xF1F8E3ff67E386165e05b2B795097E95aaC899F0

攻击流程

  1. 通过 Pancake 闪电贷借出 273,360.811 GEN
  2. 向子合约转账所有 GEN ,调用子合约 0x6ead30df 方法
  3. 调用 MasterChef 的 deposit 函数,质押所有 GEN
  4. 调用 MasterChef 的 depositNFT 函数,质押 GenNFT
  5. 调用 MasterChef 的 updatePower 函数更新,由于 updatePower 函数设计缺陷,未更新 rewardDebt
  6. 调用 MasterChef 的 withdraw 函数,赎回质押的所有 GEN,由于上一步的更新缺陷导致奖励增发
  7. 通过子合约 transfer 函数将获利的所有 GEN 转回攻击合约 0x1cb6
  8. 通过 6 个子合约重复上述 2-7 步骤,最后共计获利 455,576.855 GEN

总结

由于 MasterChef 合约中的函数的更新逻辑存在设计缺陷,未更新奖励需要扣除的部分,从而导致被攻击者套利。

BSC 链上频频爆发攻击事件,合约安全需要得到足够重视。

作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 创宇区块链安全实验室 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信