时间:2023-08-11|浏览:220
用戶喜愛的交易所
已有账号登陆后会弹出下载
- 首先,在一段运行时间内,攻击者给Blacksmith打了一些LPtoken,然后调用函数updatePool时,通过异常的pool.accRewardsPerToken计算COVER的奖励。 - 接着,攻击者调用函数_claimCoverRewards和_claimBonus记录挖矿者的奖励。 - 最后,挖矿者的状态被记录下来,包括质押的数量,并使用函数rewardWriteoff和函数bonusWriteoff进行处理。
具体来说,当前协议利用pool.accRewardsPerToken来计算第130行miner.amount.mul(pool.accRewardsPerToken).p(CAL_MULTIPLIER)的奖励。由于函数updatePool未对pool类型进行更新,导致计算出来的rewardWriteoff比预期的数额小。
在下一次同一用户获取质押奖励时,质押合约(例如Blacksmith)将会铸造更多的COVER,这将大大提升铸币数量。目前,已经在流通量中铸造了超过40,000,000,000,000,000,000枚COVER。
攻击者被标记为GrapFinance白帽子的地址。在获利后,他们将所得收益还给了Cover团队,并销毁了剩余的COVER,并留言:下一次,管好你自己的事。
对于DeFi保险项目来说,其初衷是为其他DeFi项目降低风险损失。然而,随着DeFi生态的壮大和锁仓值的持续增长,DeFi项目遭到黑客觊觎的风险也在增加,特别是新兴的DeFi保险项目,应该加强安全防护。该攻击暴露了该保险项目存在的漏洞,是否能帮助用户抵御风险有待考察。
在DeFi领域,崇尚「代码即法律」(Code is Law),项目方不仅需要编写高质量的代码,还要在攻击发生后自查代码以防患于未然。PeckShield提醒,如果对此不了解,应寻找专业的审计机构进行审计和研究。