收益聚合器 PolyYeld 遭攻击代币归零,PeckShield 简述攻击过程
发布:中币网 时间:2021-07-29 12:17:00 加入收藏 打赏
攻击者通过抓住「通缩型代币」与 MasterChef 合约不兼容的漏洞完成了攻击,最终获利 25 万美元,代币 YELD 归零。
原文标题:《PeckShield:老马失蹄 PolyYeld 代币归零》
撰文:PeckShield
7 月 28 日,收益聚合器 PolyYeld.Finance 遭到攻击,其代币 YELD 归零,攻击者获利 25 万美元。
PeckShield 安全人员第一时间定位分析,发现此次攻击源于 MasterChef 不兼容通缩型代币,使得攻击者可以通过打破流动池平衡获利。
基于 MasterChef 的设计,如果用户在 MasterChef 中存入 100 枚代币,仍可以从 MasterChef 中提取 100 枚代币,但实际上,由于在交易中协议会收取一定比例的手续费,合约中的余额是扣除手续费后的数值。一旦流动池中的总代币余额极小时,用户所获奖励就会急剧增长。
PeckShield「派盾」简述攻击过程:第一步,攻击者创建攻击合约在 PolyYeld 中抵押 xYELD 代币,以便后续获取 YELD 代币奖励。
第二步,攻击者利用 xYELD 通缩型代币与 MasterChef 合约的兼容性问题,通过频繁地进行「抵押-提现」操作,最终导致合约中的 xYELD 代币数量消耗到一个极小的数量。
随后,攻击者通过在合约中进行提现操作以获取 YELD 代币奖励,奖励的计算会除合约中 xYELD 代币数量,而此时合约中 xYELD 代币数量是一个极小的数量,所以导致除法计算后奖励的数量变成一个巨大的值。
第四步,攻击者在获得大量 YELD 奖励后,将它们在 QuickSwap、SushiSwap、ApeSwap 中换为 ETH,最后通过 Tornado Cash 转移盗取资产。
此次攻击的核心问题在于「通缩型代币」与 MasterChef 合约不兼容导致的。此兼容性问题造成 PolyYeld 合约中 Yeld 代币被恶意耗尽,而 YELD 代币奖励计算又依赖于池中 YELD 代币数量,最终导致 YELD 代币价格闪崩。
由于收益聚合器需要多个合约进行交互,PeckShield「派盾」建议在进行设计时应充分考虑不同合约间交互的兼容性问题。
来源:
来源:中币网 https://www.zhongbi.net/news/blocknews/277598.html 声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。