mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

SharkTeam独家分析 | Polygon上收益聚合项目PolyYeld Finance被攻击事件分析

收藏
分享

北京时间7月28日,收益聚合器PolyYeld.Finance遭到 攻击 ,其代币 YELD 归零,攻击者获利 25 万美元。

image.png

SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

攻击者地址:

0x56ec01726b15b83c25e8c1db465c3b7f1d094756(作为被推荐者)

0x1bdf24cb4c7395bf6260ebb7788c1cbf127e14c7(作为推荐者)

image.png

从交易详情可以看出攻击者获取的奖励费用异常。

image.png

lpSupply值本应该是0,但是实际为1,导致1300行计算错误。

image.png

根本原因在于当前合约的LP Token的余额不是所有用户质押的LP Tokn总额,其中还包含攻击者向当前合约转入的LP Token 金额,这导致了lpSuppy本身为0但实际为1的情况,造成了错误的判断和计算。

详细函数分析

攻击者事先给16号池(_pid = 16,在调用updatePool函数的图中)转入1 LP Token

攻击者合约0x56ec01726b15b83c25e8c1db465c3b7f1d094756调用balanceOf函数查询lpSupply的值为1(为攻击做准备)

image.png

调用updatePool函数

image.png

调用balanceOf函数查询lpSupply的值

image.png

此时由于lpSupply的值不为0,判断条件不符,继续执行函数代码

image.png

调用getMultiplier函数获取差值

image.png

image.png

YeldPerBlock值为10000000000000000,allocPoint值为2000,totalAllocPoint值为29000。但下一步中将计算奖励的百分之十铸币给项目方,并未从给用户的奖励中扣除,这将导致通胀。

image.png

image.png

将铸造给项目方和当前合约地址的Token数量添加到totalSupply

image.png

image.png

此时YeldReward值为25517241379310344,乘上1e18,再除lpSupply的值1。(正常情况下,

lpSupply的值为0,不会执行到此步骤,即便是执行,被除数为0也会报错。)

image.png

image.png

执行结束后,accYeldPerShare的值为25517241379310346060896017401670445

image.png

返回user.amount的值为249792662487644753291986140279580

image.png

计算完成后调用withdraw提取奖励,函数内调用payReferralCommission函数铸造通过上面计算得到的token数量。

image.png

image.png

image.png

事件分析总结,该项目存在多个问题:

(1)项目方收取百分之十的收益时直接铸币并未从用户收益中扣除,导致通胀。

(2)调用Masterchef合约实现推荐机制,即推荐者永久享受被推荐者收益的百分之二,但这百分之二并未从被推荐者收益中扣除。

(3)正常情况下,合约计算收益的逻辑没有错误,lpSupply应该为合约中的总Token数,但攻击者提前转入1 LP Token,使得lpSupply为1,手动执行一次updatePool函数,使其计算出来的参数错误,再使用另外一攻击合约的地址(被推荐者)正常质押提取,使得推荐者获得超出其本身应该获得的收益。

二、安全建议

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。

作为项目方,智能合约安全关系用户的财产安全,至关重要!区块链项目开发者应与专业的安全审计公司合作,进行多轮审计,避免合约中的状态和计算错误,为用户的数字资产安全和项目本身安全提供保障。

SharkTeam 作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。

image.png

==

和2万人一起加入鸵鸟社群

添加QQ群:645991580

添加TG群:鸵鸟中文社区 https://t.me/tuoniaox

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。