BSC:CertiK:ZEED被盗百万美元资产事件分析-ODAILY_$YEET

北京时间2022年4月21日下午3时15分,CertiK审计团队监测到ZEED项目被攻击,造成了104万美金的财产损失。被盗取资金被转移至一合约中,而该合约具有自我销毁功能,因此该操作无法逆转,资金无法被追回。

攻击步骤

①攻击者合约从HO-SWAPLP收到662枚YEED代币。

②这662枚YEED代币被发送到BSC-USD-YEED。由于收费机制的存在,一些收费代币也将被发送到3个LP对,分别是:BSC-HO-YEED2;BSC-USD-YEED2,BSC-ZEED-YEED2。

PYUSD发行量突破4000万枚:8月21日消息,Etherscan数据显示,PayPal推出的美元稳定币PYUSD发行量突破4000万枚,达4067.57万枚,较两天前增长超过1千万枚;目前共106名持有人,24小时增长21%。另外,KrakenPro已开放PYUSD交易。[2023/8/22 18:14:05]

③由于费用计算出错,一些YEED代币也将被错误地创建/发送到LP。

④从这一刻起,每个LP就处于不平衡状态。在每个LP合约中,都有着与其他代币相较过多的YEED代币。

⑤然后,攻击者将在每个LP上不断循环调用skim(to:LP)函数。该函数是为了重新调整LP内的两种代币的数量,将多余的代币发送到to参数。由于攻击者配置的目的地是LP本身,不平衡将不断增加,更多的奖励代币将被创建。

狗狗币24小时涨幅近9%,达到4月份以来最高价格:金色财经报道,根据CoinGecko的数据,截至北京时间7月25日4:50AM,狗狗币(DOGE)涨至0.08美元,24小时涨幅达到8.9%,这是自4月份以来的最高价格,交易量飙升至超过17亿美元。根据CoinMarketCap的数据,狗狗币的市值目前为114亿美元,这是该平台跟踪的代币中周涨幅最高的加密货币,过去一周上涨18.9%。

金色财经曾报道,当天早些时候,马斯克转发了Dogecoin及My Doge钱包UX/UI图形设计师DogeDesigner的X视频推文,此后DOGE应声上涨。[2023/7/26 15:58:36]

每一次的转移都会:

?英媒:Meta正在筹划新一轮裁员:2月12日消息,Facebook母公司Meta推迟了多个团队的预算案,因为该公司正在准备新一轮裁员。两名熟悉情况的Meta员工称,最近几周,该公司对于预算和未来的员工数一直不明朗。对此,Meta没有立即置评。(《金融时报》)[2023/2/12 12:01:44]

从一种LP发送YEED代币到另外一种LP。

向LP发送因错误产生的YEED代币奖励

通过以上方式,攻击者保持了LP内代币的不平衡,并且每次都会增加LP内YEED代币的数量。

比如,我们可以看到在BSC-ZEED-YEED2LP中,最初的YEED的数量是96个。

高盛宣布该银行的数字资产平台GS DAP已经上线:金色财经报道,高盛(Goldman Sachs)最近宣布,该银行新的数字资产平台GS DAP?已经上线,,该银行参与数字资产已经一年了。GS DAP?是在Digital Asset的Daml智能合约语言和基于支持隐私的区块链Canton之上开发的。根据欧洲投资银行(EIB)11月的一份声明,GS DAP?的首次发行1亿欧元的两年期数字债券,也标志着首个全数字化原生债券。[2023/1/11 11:05:25]

而当攻击者调用skim(to:attacker_contract)以后,LP中的YEED余额为368,560。

最后一次调用,则将368,560枚代币发送给了攻击者。

攻击者对3个不同的货币对进行处理,总数为87,479,473枚YEED代币:

83,127,354YEED来自BSC-USD-YEEDLP对。

3,983,869YEED来自BSC-HO-YEEDLP对。

368,560YEED来自BSC-ZEED-YEEDLP对。

⑥然后,攻击者进行多次互换,将其收益转换为BSC-USD。

漏洞分析

攻击者通过向LP对发送代币,破坏了YEED项目内LP代币的平衡。因此,任何人都可以调用skim()函数,从而把多余的代币发送给用户。

如果正确计算金额,则一切正常。然而,在最重要的发送奖励步骤中,发送给每个接收者的奖励是rewardFee。这意味着在此条件下,并不是奖励获得者理应获取了奖励费用x1,而是在N次转移过程中获得了奖励费用xN次。

比如,用户A向用户B发送了100个YEED,如果rewardFee是10。

用户B收到90奖励

LPBSC-USD-YEED2收到10奖励

LPBSC-ZEED-YEED2收到10奖励

LPBSC-HO-YEED2收到10奖励

这样以来,就有20枚代币被错误地凭空创建了。

而真正的YEED奖励机制应该运营如下:

50%的奖励费用发送到_balances(LPBSC-USD-YEED2)

25%的奖励费用发送到_balances。

25%的奖励费用发送到_balances(LPBSC-HO-YEED2)。

写在最后

此次事件造成了104万美金的损失。由于资金在合约中,而合约具有自我销毁功能,所以该操作无法复原,即任何人都无法再取出这笔财产,包括攻击者本身。通过审计,我们可以了解到发送到LP的代币将破坏LP的平衡,并且审计也能发现奖励计算机制的错误。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-4:19ms