代币YELD价格直接跳水归零:PolyYeld Finance被攻击事件全解析

北京时间7月28日,安全公司Rugdoc在推特表示,收益耕作协议PolyYeld Finance遭到攻击,所有者已宣布合约已被利用并铸造了大量YELD代币。CoinGeckko行情显示,YELD代币价格直线跳水归零,狂跌100%。

攻击如何发生 Event overview

PolyYeld Finance 是 Polygon 网络上的下一代产量农业协议,具有许多独特和创造性的功能,使用户能够获得被动收入。

据悉,项目正在尝试创建一个类似于 Yearn 的协议,以减少对 Polygon Network 用户、LP 提供商和抵押者高价值的代币供应。在 2-3 个月的时间里,只会铸造 62100 个 YELD 代币。

北京时间7月28日,PolyYeld Finance意外遭到黑客“血洗”,被攻击之后,YELD代币价格直线跳水归零,狂跌100% !

Pudgy Penguins宣布为NFT持有者空投灵魂绑定代币truePengu:7月23日消息,NFT项目Pudgy Penguins(胖企鹅)宣布将在该项目诞生1周年之际,为其NFT持有者空投灵魂绑定Token truePengu。据悉,truePengu是ERC1155 Token,不可交易,NFT持有者根据其持有的NFT被分类为不同的类别,并收到各自的truePengu。

据官方消息,快照时持有同一ID的Pudgy Penguin、Lil Pudgy以及Pudgy Rod NFT的用户将被空投Ice truePengu灵魂绑定Token。快照时持有Pudgy Penguin和Lil Pudgy的用户将被空投Iridescent truePengu。快照时持有Pudgy Penguin的用户将被空投Gold truePengu。以上指标不可叠加,每位用户仅可按照最高规格获得一枚灵魂绑定Token(该快照于2022年7月22日美国东部标准时间0点拍摄。)[2022/7/23 2:32:37]

这一次,黑客攻击使YELD代币价格直线跳水归零,可谓损失惨重。成都链安再次提醒各大项目方,一定要注意安全防范工作。

Sygnum添加Bancor、Chainlink、Compound和Polygon代币的托管和交易:9月14日信息,瑞士数字资产银行Sygnum宣布拓展其DeFi代币产品,添加Bancor、Chainlink、Compound和Polygon代币的托管和交易。此前报道,Sygnum启动一系列去中心化金融 (DeFi) 代币的托管和交易,包括Aave、Aragon、Curve、MKR、Synthetix、Uniswap和1inch Network,Sygnum还为USDC增加了银行服务。[2021/9/14 23:24:40]

攻击者如何得手 Event overview

整个攻击事件由黑客一手策划。攻击者利用xYELD代币转账时实际到账数量小于发送数量以及MasterChef合约抵押和计算奖励上存在的逻辑缺陷,通过投入大量资金控制MasterChef合约中抵押池的抵押代币数量,进而操纵奖励计算,从而获得巨额的xYELD奖励代币,最后利用QuickSwap套现离场。

攻击者地址:

蚂蚁链负责人:NFT不是代币,平台不会给艺术品炒作提供场所和机会:6月23日,支付宝在“蚂蚁链粉丝粒”小程序上限量发售了两款“敦煌飞天,九色鹿”付款码NFT皮肤。 针对外界对NFT是否相当于发行代币的误解,蚂蚁链相关负责人表示,NFT不是代币,由于NFT的唯一性和不能进行标准化拆分和交易,所以与同质化代币(例如比特币等虚拟币)有本质区别。 NFT是对数字资产权利内容和历史交易流转信息进行记载的电子化凭证,是所对应的数字资产在区块链上的唯一映射,具有唯一性和不可拆分性,不可做数学意义上的加总,不具有等价交换物特征。 艺术品交易都有潜在投资风险,虽然这与NFT没有关系,NFT保障的是作品的唯一性及交易的真实性,但我们平台不会给艺术品炒作/哄抬价格提供场所和机会。(新浪财经)[2021/6/23 0:00:39]

0xa4bc39ff54e1b682b366b57d1f6b114a829f5c01

攻击合约:

A:0x1BdF24CB4c7395Bf6260Ebb7788c1cBf127E14c7

动态 | 怀俄明州或将允许公司发行“认证代币”:据cointelegraph报道,根据官方州立法机构网站消息,1月16日,美国怀俄明州推出了一项允许公司发行代表股票的区块链代币的法案。如果获得通过,该法案将于2019年7月1日生效。该法案目前的草案规定:“公司的公司章程可指明公司的全部或部分股份可以以“认证代币”的形式代表。”该法案为所谓的“认证代币”奠定了基础,这些代币代表了在区块链或其他安全、可审计的数据库上的股票,并允许其进行数字转移。[2019/1/18]

B:0x56ec01726b15b83c25e8c1db465c3b7f1d094756

攻击交易:

0x3c143d2a211f7448c4de6236e666792e90b2edc8f5035c3aa992fd7d7daca974

0x10eeb698a2cd2a5e23d526b2d59d39a15263be018dbbda97dad4f9fa8c70347f

Round 1

阿森纳与CashBet正式签约,将推出代币:2月14日,英国足球队阿森纳与美国加州的CashBet公司正式签署协议,已经同意在后者推出加密货币CashBet Coin之前成为“独家官方Blockchain合作伙伴”。CashBet在一份声明中表示,这一合作伙伴关系使阿森纳成为“世界足坛的第一支主要与加密货币正式合作的球队”。CashBet Coin将在阿森纳的酋长球场进行广告宣传,CashBet可以使用阿森纳的品牌宣传新的代币。[2018/2/15]

攻击者首先利用QuickSwap交易对将29.75 WETH换成527.695171116557304754 xYELD代币。

接下来,攻击者通过攻击合约在一笔交易反复调用MasterChef合约中的抵押提取函数将MasterChef中PID为16的抵押池中的xYELD代币数量减少0到最小值。

由于xYELD代币在转移时,如果recipient地址不是BURN_ADDRESS地址,变量transferTaxRate的值不为0,recipient地址在_isExcluded映射中对应的值不为true,并且发送者不为合约的拥有者,就会收取一定比例的手续费,当前比例为3%。手续费会转移到代币合约中,在满足特定条件后,会将收取的手续费作为流动性添加到对应交易对中去。

而在MasterChef合约中,抵押数量记录的是代币转移的初始数量,而不是实际到账数量。在进行提取操作时,可提取的数量为记录的数量,超出了用户实际抵押到本合约中的数量,因为在完成一次抵押提取操作后,该抵押池中的xYELD代币便会异常减少。

在进行攻击前MasterChef中的xYELD代币的数量为242.017807511865297458:

在进行攻击后MasterChef中的xYELD代币的数量为0.000000000000000001:

Round 2

攻击者事先通过攻击合约B在该抵押池中抵押0.009789171908299592 xYELD代币,并将推荐人设置为攻击合约A。在攻击合约A攻击完成后,控制攻击合约A在该抵押池中进行奖励领取,由于MasterChef合约中更新抵押池信息时使用的是balanceOf函数获取本合约中抵押代币数量,故获取到的数量是恶意减少之后的数量。

这会造成xYFLD抵押池中accYeldPerShare变量异常增大:

从而使得奖励变为巨额:

Round 3

在进行奖励发放时,由于计算出来的奖励数量远超过实际铸币数量,故将本合约中所有的YELD代币转移给攻击合约B,通过获取奖励得到的奖励代币数量为:3031.194777597579576657 YELD。

同时,因为攻击合约B的推荐人是攻击合约A,故在攻击合约B领取奖励时会对攻击合约A发放推荐奖励,计算方式为被推荐人获取的奖励的2%。由于传入的_pending数量为异常大的值,故攻击合约A获得的推荐奖励也为异常大的数量,攻击合约获得的推荐奖励为:

4995853249752.895065839722805591 YELD。

最后攻击者利用QuickSwap将所有的YELD代币兑换成USDC、WETH和MATIC套现离场。

我们需要注意什么 Case Review

本次事件与之前SafeDollar攻击事件类似,都是使用了相同的攻击手法。不同之处有两点:其一是此次攻击攻击者没有选择利用闪电贷来获取大量资金,而是投入了29.75 WETH作为攻击的初始资金;其二是MasterChef合约中推荐奖励机制的问题,正是这个推荐奖励机制将本次攻击的危害无限放大了。

MasterChef类型抵押池设计之时,还没有通缩通胀类代币的出现,故开发者并没有考虑这类代币可能会造成的影响。部分的项目方在进行代码开发时,直接使用了旧的MasterChef代码,并添加了通缩通胀类代币或者奖励作为抵押代币,这便导致了各种恶意攻击事件或异常情况的产生。就目前来看,MasterChef类型抵押池存在两种类型的问题:一是没有对通胀通缩类代币进行特殊处理,没有检查实际转移到合约中的代币数量是否与函数调用时填写的数量相同;二是添加了奖励代币作为抵押代币,导致奖励计算出现异常。

两种类型问题的根本原因还是在于计算奖励时,获取抵押量使用了balanceOf函数来获取。建议项目方在进行MasterChef类型抵押池代码开发时,使用一个单独的变量作为抵押数量的记录,然后计算奖励时,通过此变量来获取抵押代币数量,而不是使用balanceOf函数。

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

银河链

USDTNFT之后元宇宙这把火终于燃起来了

趋势影响整个加密行业并带动社区发展。这种状态自2014年以来一直盛行,当时以太坊网络的推出预示着ICO时代的兴起。在短暂的平静之后,一些新趋势总是会取代加密货币领域中的其他趋势.

[0:15ms0-1:883ms