数字资产保护可参考慢雾:在区块链世界你都会遇到哪些风险?该如何应对?区块链安全面前无小事 专题。

本文内容仅供参考学习,非投资建议。

推荐:点击此处加入 PANews Discord 学习交流区块链知识


警惕未知的 NFT 空投,天上掉下来的很可能是陷阱。

撰文:0xfoobar, NFT & MEV 开发者

编译:隔夜的粥

「我的钱包突然获得了一个未知 NFT 收藏品的空投,然后有人提供了 1 WETH 的报价。这是怎么回事?接受它安全吗?」

一文读懂 NFT 空投新骗局:骗子是如何用虚假 WETH 报价想盗取你的资产的?

长话短说,这些都是骗局,你无法通过交互获利。现在,让我们来了解一下这些骗局的原理!

OpenSea 的工作方式是通过「授权」来转移你的 NFT 或 WETH,而「授权」是你直接在代币合约上调用的特殊智能合约功能。它说:

「代币合约,请允许这个市场合约使用的我的资金或 JPG。」

一文读懂 NFT 空投新骗局:骗子是如何用虚假 WETH 报价想盗取你的资产的?

这是危险的!但仅限于一个方向。如果市场是恶意的,那它就可以窃取你的资金和 JPG。但是,如果资金/JPG 是恶意的,那他们「就无法」窃取你的市场。

设计不佳的市场可能会存在一个漏洞,允许一个已授权的集合窃取另一个已授权的集合。这就是为什么我们要只使用健壮的、经过良好测试的网站。

下面是利用 OpenSea 使用的旧 Wyvern 合约进行攻击的示例:

一文读懂 NFT 空投新骗局:骗子是如何用虚假 WETH 报价想盗取你的资产的?

因此,你只能通过调用资金/JPG 合约来批准使用资金/JPG 的外部合约。

而不是通过调用一个外部合约。

这就是为什么理论上与恶意合约交互是「安全的」,前提是你的交易直接进入恶意合约,并且你没有将任何原始 ETH 发送到 payable 函数。

但请注意,不要自己尝试这种危险操作。

当然,当人们认为他们正在与外部合约交互,但实际上正在与他们的资金/JPG 合约交互时,就会发生危险。

会有一个网站跳出来跟你说:「点击此处以激活你的猿猴」,但钱包交易说的实际是「SET APPROVAL FOR ALL」(将所有权限全部批准出去)。

在醉酒/兴奋/昏昏欲睡/fomo 等情绪组合的影响下,人们就会签名将他们的毕生积蓄拱手让给他人。

那么,如果黑客无法控制你的钱包或资产,这些虚假的 NFT 报价游戏的计划是什么呢?

恶意行为者使用了几种攻击计划:

当你批准 OpenSea 市场合约以使用你的 NFT,然后尝试接受该报价时,报价接受将会恢复。错误消息会包含一个 URL,如果你访问该网站,它会试图让你签署一笔恶意交易。

NFT 是一种代理合约,它可以在之后替换为不同的实现逻辑。

以下是一个从 260 个不同地址接收 dust 粉尘交易的地址,其中每个地址都创建了一个代理合约,以伪装成一个唯一的集合。

一文读懂 NFT 空投新骗局:骗子是如何用虚假 WETH 报价想盗取你的资产的?

这些不良行为者的命中率很低,因此为了 gas 优化,他们将使用具有重 NFT 代码逻辑的单个实现合约,并部署许多看似独立集合的轻量级代理。

这里有更多关于代理模式的内容。

一些人认为,最近的 NFT 代理部署者开发了秘密功能,如果你在代理上调用 approve,那他就可以窃取你的所有 NFT。

出于上述的原因,这似乎是完全错误的。

gas 优化是最可能的代理使用假设。

OpenSea 前端在它调用的集合功能方面相当封闭,因此大多数虚假的 WETH 报价,只是为了引诱你去一个钓鱼网站。

总结一下:

虚假 WETH 报价将允许你批准该 NFT 的销售,但在你尝试接受报价时,交易会恢复。这会导致你浪费了 gas 手续费,同时又在 Etherscan 上 revert 消息引诱你进入钓鱼网站。

请保护好自己的钱包安全!