常见NFT诈骗手法揭秘

如果觉得我的内容对你有帮助,欢迎关注我的推特账号和小红书账号:飞猪聊web3,获取更多web3的安全知识、基本技能和实用资讯

如果需要更具体、系统、有针对性的教程指导,欢迎大家私聊咨询哦

随着web3和NFT概念的火热,越来越多的圈外小伙伴开始接触crpto和NFT,但是由于安全知识的缺乏,往往会在无意之间落入骗子的圈套,造成财产损失。

为了避免资产损失的风险,主动学习各种常见的诈骗手法虽然不失为一种解决方案,但是安全防范措施发展的速度总是滞后于各类诈骗手法,所以这种方法难免显得有些被动。

我认为真正有效的安全防范应该是从源头入手,搞清楚资产存在风险的环节、风险出现的原因以及应对风险的注意事项,这样不管骗子诈骗手法再怎么花样翻新,我们都可以以不变应万变,一力破万法。

下面我们首先来了解一些区块链和钱包的相关概念

区块链相当于多人共同记账的账本

在区块链账本中,账户对应的就是每个人的钱包地址,余额则对应着每个地址有权调用的加密货币资产的数量,这个数量是在该区块链账本里的实时记账结果。

钱包是管理私钥的工具

在现实生活中,有了密码拿着银行卡就能取出账户里的钱;在区块链的世界里,有了私钥,就可以调用该私钥对应的地址里的资产;跟私钥类似的概念是助记词,谁拥有了私钥或者助记词,谁就拥有了该地址里资产的实际控制权。Metamask等非托管钱包是我们进行链上活动的重要媒介,通过钱包可以对我们的链上资产进行转账、购买、兑换等操作,而这些功能之所以能够实现是因为钱包本质上是就是保管私钥的工具。

第一个风险环节:私钥或者助记词丢失

至此为止,我们发现了第一个风险环节:即私钥或者助记词丢失。如果发生了此类情况,那么该地址上所有的资产都会丢失,且无法被挽回。

出现这种情况的成因大多是因为用户助记词或者私钥的泄露:比如利用拍照、截屏保存或者网络传输等方式泄露;或者下载并安装了一些恶意软件,此类软件在运行后会扫描用户电脑中疑似助记词、私钥的信息上传到服务器里,恶意软件管理者获取到此类信息会直接转走钱包中的全部资产。

@keenz_eth 大佬关于此类型的骗局的线程解释及应对措施

然后,作为普通用户,我们使用钱包时往往会进行两类操作,第一类,发送资产到其他地址;第二类,通过使用其他的合约对我们的资产进行某些操作,比如兑换token,上架NFT等等。

第二个风险环节:错误转出TOKEN或NFT

在进行第一类操作的时候,会出现第二个风险环节,即错误的发送了资产或者NFT到骗子的地址。很多小伙伴一看到这里,可能会想,用户又不傻,难道还会主动发送资产给骗子嘛?通常情况下,大家不会主动发送资产给其他地址;但在某些情况下,如果不注意核对钱包信息,就容易误操作。比如下图的情况,当你以为自己是在网页端进行mint的操作,其实是在给对方打钱。

这种情况还算是比较有良心的诈骗手段,毕竟损失的只有发送出去的钱,没有丢失私钥或者助记词,也没有授权不该授权的合约,签署不该签署的名,钱包仍然可以继续使用。

此类骗局的破解要点是:钱包中进行任何操作都必须仔细核对弹出的提示信息是否跟自己要进行的操作一致。比如如果你在mint,结果提示发送eth;或者是set approval for all,那肯定是有问题的,要赶快停止。

在进行第二类操作时,往往会涉及到授权和签名的操作,以在opensea上出售NFT为例:首先我们需要把调用该NFT的权限批准给os的proxy合约,因为作为普通卖家,自己是很难找到意向买家进行交易的,必须要依靠平台的撮合服务。所以,只能把调用NFT的权限授权给os的proxy合约,这样os才能在买家购买的时候有能力把该NFT发送给买家,这个操作是在链上进行的,所以需要支付一定的gas费用;

其次我们需要在钱包里进行签名的操作,因为单纯授权给proxy合约并不能完成交易,因为合约并不清楚你的交易达成条件是什么,所以还要把交易价格、交易有效期以及交易对手等信息告知合约,这样,当满足交易条件的买家出现时,合约才能自动完成该笔交易。把信息告知合约的过程就是签名,签名的主要作用就是为了保证数据的有效性(验证是谁发的,只有资产持有人发起的签名才有效)和完整性(证明信息没有被篡改,这可以确保交易的条件不会被修改)。

由于这种签名在签署的当下并未满足交易成交条件,因此这种签名代表的操作并不会被立刻执行,签名信息只会被存在请求签名的网站的服务器里,所以此种签名不是链上操作,也不涉及gas的支付。

在第二类操作中,不论是授权还是签名都是容易发生风险的环节,下面我将分别来讲解

第三个风险环节:错误授权

授权是第三个容易发生问题的风险环节。授权是什么意思?授权就意味着你许可别人调用你的某些资产,正经的项目方当然不会随便未经你同意而调用,比如os会在满足条件之后调用;但是如果授权给了骗子,又没有及时取消授权,那么就等于被授权的资产全部打了水漂。

以在os上架NFT的授权为例进行说明,最近metamask钱包进行了升级,对于涉及set approval for all的操作用红色大段文字进行了风险提示;对于授权操作,除了注意风险提示之外,我们还应该着重检查4个地方:

**1发起授权请求的对象是谁?**下图是os的官方网站opensea.io,如果是其他陌生网站就值得引起我们的注意了;

**2查看授权给与的对象。**要在区块浏览器中检查给与授权的对象是否是我们想要授权的对象。因为下图是在os上操作,所以图中的授权对象是os的proxy合约,如果是某些不知名的合约甚至是被标记的钓鱼合约或钓鱼地址,那么绝对不要授权

**3看授权哪个系列。**图中是我要出售PFTP系列,如果要授权的不是你想要出售的NFT,那么就有问题了

**4查看具体交易的详情。**这是来自os的授权请求,要求给尾号为3c71的合约调用PFTP系列的全部权限(setApprovalForAll)

再来看一下有风险的授权状态,在一个显示dota2的网页上进行操作,结果钱包弹出的信息是来自陌生的网站的授权请求,要把BAYC授权给一个陌生的合约,浑身上下都透露出可疑的气味,是绝对绝对是不能确认的。

这种情况之所以会出现,往往是因为用户以为自己是在进行mint或者claim的操作,没有注意钱包的提示信息,结果导致了错误的授权。

此类骗局的破解要点是:要仔细核对授权的4个关键信息:谁发起、授权什么、授权给谁、交易详情。如有跟目标操作不一致,要赶快停止。

此类骗局的经典案例,请参考推特的这条线程

第四个风险环节:错误签名

签名是第四个容易发生问题的风险环节。现实生活中的签名目的是为了通过字迹和指纹来证明所签署的材料经过本人确认,具备法律效应。钱包中的签名现实中的签名类似,也是对某些信息进行确认的过程。

签名根据目的不同,也有不同的类型,有的签名是为了确认所有权,比如必须持有某个NFT才能加入某个discord,在加入时就会通过Collab.Land去验证所有权(图1);有些签名是为了同意服务提供方的服务条款,比如登陆os时进行的签名(图2)有的签名目的是为了确认交易条件,比如在os上架已经授权过的NFT时的签名(图3)。

其中第一种和第二种签名往往是无害的,最危险的是第三种签名,因为这种签名是资产持有者发出的资产进行交易的限制条件。一旦满足了条件,被授权的合约就可以自动完成交易,无需资产持有人做任何操作。比如正常在os上架NFT时,签名信息中会包含NFT的售价、出售时间、收款地址、版税归属地址、平台服务费收取地址等信息的限定,但是如果是在钓鱼网站上签署的签名,往往是以0元的价格把NFT转移到骗子的地址。骗子获得了我们的签名之后,会立刻向有权调用我们NFT的合约(通常是OS的proxy合约)发起请求,os合约验证签名确实是NFT持有人签署的之后,会把该NFT发送给骗子的地址。

签名由于不涉及gas费用,往往会让人放松警惕,但是签名中暗藏的风险其实远大于授权,如果误签署了不该签的名,钱包中涉及到的资产都会处于风险之中。为什么会这样?因为签名信息是不上链的,所以不能像取消授权一样利用revoke.cash等网站取消授权;而误签名的时候往往也不会认真阅读签名内容到底是什么,所以肯定也不清楚到底签名了哪些内容,以及签名的有效时间,哪怕当下没有任何NFT在出售,也不能保证未来不会进行NFT的交易,所以一旦误签名,此钱包地址就必须立刻转移资产弃用。

此类骗局的破解要点是:

首先要认真核对签名请求的发起者和签名调用的合约是否一致,下图中,seaport就是os升级后的合约,如果签名请求的发起者不是opensea.io,就要立刻停止交易,对于新手来说,做到这个级别应该足以避免签名的风险。

其次,进阶一点的技能就是学会阅读签名内容,具体方法,可以参考我另外一篇有关签名的教程

最后:如果一旦误签名,要立刻取消该地址在所有平台的全部NFT挂单交易,同时立刻把全部的资产和NFT转移到安全的钱包中。

以上就是NFT资产容易发生风险的环节及成因以及对应的诈骗案例分析,所有的应对要点总结起来其实就两点:

认真读题(metamask弹出的信息提示)

不懂不操作(不论是你看不懂签名还是看不懂授权,总之当你不知道你在干什么的时候,一定不要操作,错过总比做错强)

如果觉得我的内容对你有帮助,欢迎关注我的推特账号和小红书账号:飞猪聊web3,获取更多web3的安全知识、基本技能和实用资讯

参考资料:

走进科学 | 2. 如何使用钱包进行安全签名

NFT及OpenSea交易背后的技术分享

OpenSea 簡易運作原理

kawpuccino lost over 10 eth in NFTs

leverage gasless signatures to steal your WETH

Always read what you're signing

Never sign a signature request with your MetaMask wallet without knowing what you're doing!

新型诈骗

Subscribe to littleflyingpiggy
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.