老马失蹄PolyYeld代币归零 攻击者打破流动池平衡获利

  • 7月28日,收益聚合器Polyyeld.Finance遭攻击,代币YELD归零,攻击者获利25万美元
  • 攻击根源:MasterChef合约不兼容通缩型代币(xYELD),攻击者通过「抵押-提现」操作耗尽池中代币
  • 漏洞机制:奖励计算依赖池中代币数量,当xYELD被消耗至极少量时,除法运算导致奖励数值异常膨胀
  • 攻击步骤:
    1. 抵押xYELD获取YELD奖励资格
    2. 利用通缩特性反复操作使池余额趋近于零
    3. 提现时触发奖励计算漏洞获取巨额YELD
    4. 通过DEX兑换ETH并混币转移
  • 后果:YELD代币因恶意耗尽导致价格闪崩
  • 安全建议:设计多合约交互系统时需严格测试兼容性,尤其针对通缩型代币场景
总结

原标题:《PeckShield:老马失蹄PolyYeld代币归零》

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「派盾」建议在进行设计时应充分考虑不同合约间交互的兼容性问题。

分享至:

作者:PeckShield

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:PeckShield如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
2025-12-10 13:00
2025-12-10 08:00
2025-12-10 02:46
2025-12-10 02:05
2025-12-09 23:35
2025-12-09 15:32

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读