DeFi安全篇:合约留后门,无脑授权有风险|烤仔星选_NFT:NFTBS

很多用户在参与DeFi流动性挖矿的过程中,需要授权合约,但大家可能有所不知,如果你不小心授权了某些不靠谱的合约,钱包里的币就危险了。

之前就有人在Twitter上讨论过授权合约被钓鱼的案例,因不小心授权某些开了后门的合约,有人一夜之间被盗走价值14万美金的UNI。这个故事的主人公名叫JhonDoe,去年九月,他参与了Unicats收益农场,当时他对这个项目还蛮看好的,觉得它可能会成为下一个YFI。

接下来,Jhon打算质押UNI,然后收到了MetaMask钱包的提示,“需要授权合约无限使用UNI”。授权是在DeFi挖矿中是很常见的一个操作,所以他就没细看。

5项新XRPL修正案通过:链上报价数量过多的NFT销毁限制将被消除:金色财经报道,据Xrpscan最新投票数据显示,5项新XRPL修正案以88.24%的共识率获得通过(投票通过共识率门槛为80%),相关修正案包括:

1、取消“报价交易超过500单的NFT无法被销毁”限制,旨在解决由于报价数量过多发行人无法销毁NFT的问题。同时还将修复接受NFT报价问题,比如由于错误的资金不足情况而无法经纪交易、买家资金不足以支付账户转账费用等。

2、添加4个新的AccountSet标志并修改AccountSet交易以允许启用和禁用asfDisallowIncomingCheck、asfDisallowIncomingPayChan、asfDisallowIncomingNFTOffer、asfDisallowIncomingTrustline。

3、修复带有ID的信任线问题。

4、修正OfferCreate交易,在不移动任何资金的情况下终止Offer,将返回结果代码tecKILLED而不再是tesSUCCESS。

5、简化和统一十进制浮点代码以提供更好的计算精度。[2023/8/21 18:13:13]

质押UNI之后,挖出来一些MEOW,他觉得赚的差不多了,可以收菜收工了,就把资金都撤回了自己的钱包。撤走资金以后,Jhon以为钱都放在自己钱包里就可以高枕无忧了。殊不知,这个合约留了后门,一旦他授权了这个合约使用自己的token,即使他从挖矿池子中撤走资金,这个合约任何时候都能调用他的token。第二天醒来以后,Jhon发现自己一半的UNI都在未通过自己授权和签署交易的情况下被转走了。Jhon一下子就懵了,他钱包的私钥从没有泄露过,钱包也没有漏洞,自己并没有操作过转账,钱好好放在钱包里还能被转走?排除了种种因素,推测出最有可能导致丢币的原因是:以太坊网络上最流行的token使用的ERC20标准设计中的一个已知但经常被忽略的漏洞。这个UniCats是个什么项目?为什么就能轻轻松松盗走别人钱包里的币?这让以后我们DeFi挖矿还敢挖吗?“小猫钓鱼”

某PEPE巨鲸在6小时前将3.4万亿枚PEPE换成925枚ETH:金色财经报道,据SpotOnChain监测,一个PEPE巨鲸在6小时前将3.4万亿枚PEPE换成925枚ETH(约180万美元),2周内投资回报率是1650倍。16天前,该巨鲸通过Uniswap仅用1枚ETH买入5.421万亿枚PEPE,4月24日通过Uniswap将216.4万亿枚PEPE换成3.5枚ETH。目前,该巨鲸仍持有2万亿枚PEPE(约150万美元)。[2023/5/1 14:36:53]

UniCats是一个类似Yam和Sushiswap的DeFi衍生品项目,抄袭抄的赤裸裸的,连前端界面都和Sushiswap完全一样,除了可以挖平台代币MEOW之外,还可以挖UNI等其它代币,在2池中还可以质押UNIOW和UNI的LP代获得MEOW代币。为什么这个项目会选择UNI呢,因为当时Uniswap发币,很多Uniswap的老用户都免费领到了一堆UNI空投,大家不用专门买UNI,会有比较低的参与门槛。JhonDoe是参加这个协议的用户之一,当时DeFi的fomo情绪很浓,很多人都说“审计是为新手准备的”,所以进了这个坑也很难怪他。JHON先后在UniCats合约中质押了两笔UNI,价值分别为$17K、$15K,质押的操作要求他准许UniCat合约对钱包里UNI代币的无限制访问。可能是因为Jhon看到大家都这么做,每个人都要一开始点击授权合约,所以没有对此有任何疑虑。一开始还挺好的,收成不错,赚了一些MEOW。耕种一天之后,Jhon开始从Unicats合约中解押自己的UNI。链上记录:https://etherscan.io/tx/0xaf90d9ff2e9dc63ef6c6082a18214f991cc52493b0cc5c47d84590faac798f42https://etherscan.io/tx/0x751ae0fba597496f057426672fb736efdc837aa0860f1d626b4e7dd6e9052c80收获颇丰,又入袋为安,是一次很成功的经历,他就放心地睡觉去了。之后的事情,我们在上文也提到了。之后项目方表示:“出了bug”、“被黑客入侵”、“项目方非常努力”...换句话说就是,他们希望这个项目有成功的未来,现在正在“把这个美好的项目留给社区”,然后就卷款删号跑路了。除了Jhon还有一些用户也被坑了,甚至有的人还没来得及撤出资金。

今日向Binance转入519万枚MATIC的巨鲸转出了474万枚ARB:金色财经报道,据推特用户余烬监测,于今日早间向Binance转入了 519 万枚 MATIC 的巨鲸,从币安转出了 474 万枚 ARB 和 3251 枚以太坊,并在 Uniswap V3 上提供了流动性。[2023/3/27 13:29:34]

开发人员跑路前在Tg群发的消息贪婪的“猫”

UniCats合约的有一个功能:setGovernance,有人读的未经审核合同可能掠过这部分,因为它是相当流行的有智能的管理重点和管理地址合同。

setGovernance是开发者Whiskers用来直接从用户帐户中提取资金的功能。函数接收两个参数:一个地址、一些数据,需要将_governance设置为UNItoken地址,并为数据传递函数transferFrom,然后会触发UNI合约,要求它代表用户将资金转移到UniCats合约。实际上,transferFrom的调用者是UniCats合约,像刚才我们提到的Jhon,他已经批准合约随意使用自己所有的UNI资产,合约会将Jhon的UNI资产转移到合约中相同的trasnferFrom,然后从他的钱包中盗取资金。当UNI合约收到此项调用时,会尝试这项请求不会遇到任何错误。所有的转账都会通过,因为Jhon确实授权了合约来处理他的资金。资金从Jhon的帐户中转到UniCats合约中,然后再转给Whisker。所以关键点就在于Jhon对UniCats合约的授权。除了Jhon之外,这个合约也有其他一些受害者,比如另一位用户也是通过完全相同的过程损失了1万个的UNI,他质押在UniCats中的资金全被删除了,根本无法提现。

数据:隆领资本从Compound提取约2.85万枚ETH,并将1.6万枚转入币安:1月10日消息,据Lookonchain数据监测,美图董事长蔡文胜旗下隆领资本(Longling Capital)的地址(0x716034C25D9Fb4b38c837aFe417B7f2b9af3E9AE)于2小时前在Compound偿还了所有借款,提取了28,515枚ETH(约合3770万美元),并将1.6万枚ETH转入币安(约合2110万美元)。与此同时,另一个0x930d开头地址从币安提取9,500枚ETH。

今天早些时候消息,推特用户@Bit余烬发推表示,美图创始人蔡文胜相关地址昨晚从Compound赎回1.8万枚ETH。[2023/1/10 11:03:49]

有一个信息大家需要知道,即使你地址余额为0,这个无限批准的风险都还在,也就是说UniCats随时都能把你的钱拿走。只要你没有撤消批准,或者这个账户/地址之后完全废弃再也不用了,就会随时会被攻击。在盗取了用户的资金之后,UniCats项目方将UNI换成ETH,然后将ETH被转移到Whiskers控制的帐户中,接着又以每次100ETH的方式存入TornadoCash。练习钓鱼

知情人士:Crypto.com NFT部门重组,负责人Joe Conyers IIII离职:6月18日消息,据两位知情人士透露,刚刚经历一轮大规模裁员的加密货币交易所Crypto.com,已与其新兴NFT业务负责人分道扬镳。

据悉,Joe Conyers IIII于2021年3月加入Crypto.com,帮助其建立NFT平台。消息人士称,Conyers(工作地点为纽约)上周在该部门重组过程中离开这家总部位于新加坡的公司。一位消息人士表示,选择重组而非裁员,是为了提高效率。

Crypto.com发言人拒绝就Conyers和重组背后的理由置评,但表示NFT部门是公司“最优先考虑的部门之一”。

据此前报道,由于市场持续低迷,Crypto.com将裁员5%。(Blockworks)[2022/6/18 4:36:21]

在UniCats项目方发起攻击之前,Whiskers还做过一些链上的练习,创建了一个单独的合约和管理员帐户,以确保黑客攻击能够正常工作。在此交易中,Whiskers尝试使用相同的setGovernance调用,直接从合约中提走少量UNI,从合约中获取2.75UNI。这个是第一阶段,UniCats合同本身的资金被耗尽。后来,该帐户执行另一种转账练习,它滥用了baDAPProve漏洞,由Tornado现金资助的帐户将少额UNI直接转换为ETH。这些练习运行了几个小时之后,才发起了正式的攻击。正式攻击的方式和练习的方式基本上是差不多的,都是分两个阶段。练习攻击的记录:https://etherscan.io/address/0xcdd37ada79f589c15bd4f8fd2083dc88e34a2af2回顾曾经与Unicats进行过互动但尚未拒绝UniCats使用其令牌的每个帐户,在它们这样做之前都仍然很脆弱。即使是那些只批准了令牌但从未实际发送过任何资金的人。在直接抽走UniComp合约的同时,whiskers能够在Uniswap、SushiSwap和Balancer上获取17KUNI以及押注LP代币的UNI/ETH。。在第二阶段,使用baDAPProve漏洞,Whiskers总共捞了6万UNI。这些钱是从大概30个账户中取出来的,损失最大的是JhonDoe,总共损失了37KUNI,当时价值约12万美元。从他们账户中拿走的资产比他们原本在协议中质押要多,因为Jhon的UNI并不是全部质押进合约中挖矿了。每一个曾经和Unicats交互过,并且授权UniCats使用自己代币的账户都随时有被攻击的风险,哪怕仅仅只是授权过但从没有转过资金。你可能会觉得这个故事中的JhonDoe很笨,但其实他在DeFi领域还挺有经验的,他的地址有超过1600笔交易。这是一场很“完美”的攻击,需要无限使用的授权,很少有人真正了解其中的含义。在大环境的fomo情绪下,每一个投资者都梦想暴富,渴望自己找到下一个YFI,黑客就是从中利用了这些因素以及这些系统经常试图隐藏的复杂性达到目的。如何保护自己免受攻击

我建议,参与DeFi时,只授权可信任的合约,如果是去体验新项目,用的资金要控制在自己能承受的最大损失之内,以将风险最小化。这次攻击的根源在于ERC20的工作方式以及它的一些限制,这个限制仅存在于ERC20协议中,其它的协议标准还没有这个问题,但是由于ERC20仍然是最受欢迎的token标准,所以大家有必要了解一些策略来避坑:首次与未知的DeFi合约交互时,要先做研究。诸如MetaMask这样的钱包有一个功能是,可以自己设置最大批准的金额。如果你不完全信任一个DeFi合约时,就可以提前进行设置,把风险控制在自己能够承担的范围之内。

如果你已经授权了一些DeFi合约,而且有一些顾虑,不太确定会不会有风险,就可以用工具撤销授权,我给大家介绍几个工具:https://approved.zonehttps://revoke.cashhttps://tac.dappstar.io/#/未来DeFi和ERC20都会继续发展壮大,建议大家好好学习,了解清楚这些复杂的金融系统,保护好自己的钱袋子,注意安全!Reference:zengo.com

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

金智博客

[0:0ms0-3:465ms