#什么是质押挖矿
质押挖矿是指用你持有的币去挖新币来获取利润,而今天被攻击的项目QUINT,主要也是搞这个的。他们宣称有一个超级质押平台,它可以产生现实世界的奖励、豪华奖品和独家生活方式津贴。
但是这一次,QUINT的QuintConventionalPool抵押挖矿合约却被黑客盯上,究竟怎么回事,听我们慢慢分解。
#事件相关信息
攻击者地址:(包含了三个攻击者)
#攻击流程
1. 攻击者先向QUINT-WBNB交易池添加流动性获取LP代币,用于进行LP代币抵押。
2. 攻击者通过QuintConventionaLPool合约的stake函数进行LP代币抵押,stake函数会调用stakeLp函数记录抵押信息。
3. 攻击者利用reStake函数在进行复投时未将LP奖励抵押时间进行更新的漏洞,反复调用reStake函数进行复投,累积抵押量。
4. 等到QUINT代币抵押量累积到预期值之后,攻击者调用withdraw函数提取QUINT代币。
5.攻击者将所盗资产转移至Tornado.Cash。
#漏洞分析
本次攻击主要利用了在进行reStake函数进行奖励复投时,未将LP代币质押奖励的结算时间同步更新,导致攻击者可以重复领取已发放的奖励,下面进行详细说明。
抵押LP代币的奖励计算方式如下图,可见奖励的计算数量与抵押的LP代币量和抵押时间成正比。
在QuintConventionaLPool合约中通过reStake函数(如下图)进行LP质押奖励复投时,会先通过calculateLPReward函数对调用者的LP质押奖励进行计算,然后将质押奖励累积至该调用者的QUINT代币的质押量上,并更新QUINT代币质押信息。
因此,在reStake过程中,仅更新了调用者的QUINT代币质押信息,其LP奖励的结算时间并未更新,导致对应的LP质押奖励并未正常结算,如果攻击者反复调用reStake函数,就可以不断获取额外的QUINT代币奖励。
#资金追踪
截止发文时,攻击者获利约13万美元,当前攻击者正在将所盗资金向Tornado.Cash转移。
#总结
针对本次事件,成都链安安全团队建议:
1.项目方在收到攻击消息预警时,需要及时进行应急响应,避免持续遭受损失;
2.在奖励结算后,应同步更新抵押记录,避免已发放的奖励被重复领取;
3.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,以规避安全风险。
原文始发于微信公众号(成都链安):挖掘财富密码,抵押挖矿有风险吗?——币安链项目QUINT被攻击事件分析