数字资产保护可参考慢雾:在区块链世界你都会遇到哪些风险?该如何应对?和 区块链安全面前无小事 专题。
本文内容仅供参考学习,非投资建议。
推荐:点击此处加入 PANews Discord 学习交流区块链知识。
警惕未知的 NFT 空投,天上掉下来的很可能是陷阱。
撰文:0xfoobar, NFT & MEV 开发者
编译:隔夜的粥
「我的钱包突然获得了一个未知 NFT 收藏品的空投,然后有人提供了 1 WETH 的报价。这是怎么回事?接受它安全吗?」
长话短说,这些都是骗局,你无法通过交互获利。现在,让我们来了解一下这些骗局的原理!
OpenSea 的工作方式是通过「授权」来转移你的 NFT 或 WETH,而「授权」是你直接在代币合约上调用的特殊智能合约功能。它说:
「代币合约,请允许这个市场合约使用的我的资金或 JPG。」
这是危险的!但仅限于一个方向。如果市场是恶意的,那它就可以窃取你的资金和 JPG。但是,如果资金/JPG 是恶意的,那他们「就无法」窃取你的市场。
设计不佳的市场可能会存在一个漏洞,允许一个已授权的集合窃取另一个已授权的集合。这就是为什么我们要只使用健壮的、经过良好测试的网站。
下面是利用 OpenSea 使用的旧 Wyvern 合约进行攻击的示例:
因此,你只能通过调用资金/JPG 合约来批准使用资金/JPG 的外部合约。
而不是通过调用一个外部合约。
这就是为什么理论上与恶意合约交互是「安全的」,前提是你的交易直接进入恶意合约,并且你没有将任何原始 ETH 发送到 payable 函数。
但请注意,不要自己尝试这种危险操作。
当然,当人们认为他们正在与外部合约交互,但实际上正在与他们的资金/JPG 合约交互时,就会发生危险。
会有一个网站跳出来跟你说:「点击此处以激活你的猿猴」,但钱包交易说的实际是「SET APPROVAL FOR ALL」(将所有权限全部批准出去)。
在醉酒/兴奋/昏昏欲睡/fomo 等情绪组合的影响下,人们就会签名将他们的毕生积蓄拱手让给他人。
那么,如果黑客无法控制你的钱包或资产,这些虚假的 NFT 报价游戏的计划是什么呢?
恶意行为者使用了几种攻击计划:
当你批准 OpenSea 市场合约以使用你的 NFT,然后尝试接受该报价时,报价接受将会恢复。错误消息会包含一个 URL,如果你访问该网站,它会试图让你签署一笔恶意交易。
NFT 是一种代理合约,它可以在之后替换为不同的实现逻辑。
以下是一个从 260 个不同地址接收 dust 粉尘交易的地址,其中每个地址都创建了一个代理合约,以伪装成一个唯一的集合。
这些不良行为者的命中率很低,因此为了 gas 优化,他们将使用具有重 NFT 代码逻辑的单个实现合约,并部署许多看似独立集合的轻量级代理。
这里有更多关于代理模式的内容。
一些人认为,最近的 NFT 代理部署者开发了秘密功能,如果你在代理上调用 approve,那他就可以窃取你的所有 NFT。
出于上述的原因,这似乎是完全错误的。
gas 优化是最可能的代理使用假设。
OpenSea 前端在它调用的集合功能方面相当封闭,因此大多数虚假的 WETH 报价,只是为了引诱你去一个钓鱼网站。
总结一下:
虚假 WETH 报价将允许你批准该 NFT 的销售,但在你尝试接受报价时,交易会恢复。这会导致你浪费了 gas 手续费,同时又在 Etherscan 上 revert 消息引诱你进入钓鱼网站。
请保护好自己的钱包安全!