在 NFT 和 Defi 的世界裡,经常传出骇客盗取用户资产的不法案件。本文将介绍三项小工具,让读者轻松检视并撤销与你钱包互动的智能合约,帮助你在畅游加密世界的同时,保护好自己的数位资产。
(前情提要: OpenSea新迁移合约惊现bug?用户NFT损失达2亿美元!官方:是钓鱼不是被骇 )
近日,NFT 市场龙头 Opensea 惊传遭钓鱼攻击,部分用户疑似因点击恶意连结,众多高价值 NFT 项目如 BAYC、MAYC、Azuki、Cool Cats、Doodles 遭到盗用转移,损失估计超过 2 亿美元。
在 NFT 和 Defi 的世界裡,类似事件层出不穷,用户除了要小心审核网路上的智能合约授权,如果有发生问题或是不确定用途的授权,也要记得执行撤销(revoke)以防万一。
本文,动区将为您介绍三项实用的小工具,帮助你检视自己的去中心化钱包目前所授权的智能合约,以及教你如何取消或更改这些授权,保障自己珍贵的加密资产。
。Revoke
Dapp 授权的风险
当用户在区块链的世界中使用去中心化应用程式(Decentralized Application, Dapp)时,无论是进行 NFT 交易、DeFi 应用,亦或是链游,常常要授权 Dapp 同意花费该代币。而为了用户的使用体验,避免过度频繁的授权请求,这些 Dapp 通常会在一开始便向用户要求“无限授权”,一开始就签署(sign)同意让 Dapp 管理钱包资产的合约。
然而,无限授权有其缺点,当授权平台背后的智能合约有漏洞、或是骇客使用钓鱼网站时,不法份子便有可能对用户资产造成威胁。因此,在使用平台功能过后,适时地撤销这些授权,将有助于保护用户安全。
注:钓鱼网站是指用于欺骗用户的虚假网站。它的页面与真实网站基本相同,诈骗者以此来窃取用户的私钥或助记词。
三个撤销授权的工具
为了撤销智能合约的授权,通常需要第三方平台的协助,以下将介绍三个常用的工具,并以 Metamask 钱包作为示范,帮助你瞭解各工具进行合约撤销的步骤。
注:除了 Debank 有支援多链之外,另外两个工具仅支援以太坊(ETH)区块链。
1. Debank【传送门】
Step 1:
在进入 Debank 网页之后,请点击右上角的“Login via web3 wallet”按钮,并连结你的去中心化钱包
Step 2:
点选下方选项栏中的“Approval”,便可以看到你在各区块链上的合约授权。通常一般合约在 Approved amount 栏位中会显示:Infinite ( 无限授权之意 )。
注:下图选择 Ethereum,Debank 提供 19 条链的查询,如果你有使用其他链,需要手动点击查询
Step 3:
接下来,选择你想要取消授权的合约,并点击右方的“Decline”按钮。
Step 4:
接下来,在跳出的确认页面中,检查你原先授予合约的无限授权被更改为 0(下图示范是 0 FTM,代表该合约无法再挪用使用者先前授权的代币。)
确认为数值为 0 后,点击右下角的确认,即可完成“授权撤销”。
注:取消授权必须支付一定金额的手续费,执行前请先确认你的钱包中有做为手续费的代币。下图使用以太坊网路和 Fantom 网路作为示范。
Step 5:
完成后回到步骤 2. 的页面中,你就可以看到原先的合约授权遭到撤除了。
注:链上处理通常需要一些时间,请稍等一下再重新整理网页
2. Etherscan Token Approval【传送门】
Step 1:
在进入 Etherscan 的 Token Approval 功能页之后,请点击左下角的“Connect to Web3”按钮,并在跳出页面中,连结你的去中心化钱包(此处以 Metamask 作示范)。
Step 2:
成功连结钱包后,下方就会出现你有授权的合约。你还可以在上方栏位中,选择你想浏览的常见通用标准(ERC-721 或 ERC-1155 是 NFT 常用的标准)。
接著选择你想取消授权的合约。按下 Revoke 按钮之后,在跳出页面中再按一次 Revoke。
Step 3:
接下来,在跳出的确认页面中,检查你原先授予合约的无限授权被更改为 0(下图示范是 0 FTM,代表该合约无法再动用使用者先前授权的代币。)
确认为数值为 0 后,点击右下角的确认,即可完成“授权撤销”。
注:取消授权必须支付一定金额的手续费,执行前请先确认你的钱包中有做为手续费的代币。
Step 4:
完成后回到步骤 2. 的页面中,你就可以看到原先的合约授权遭到撤除了。
注:链上处理通常需要一些时间,请稍等一下再重新整理网页
3. Revoke【传送门】
Step 1:
在进入Revoke 官网之后,请点击右上角的“Connect wallet”按钮,并在跳出页面中,连结你的去中心化钱包(此处以 Metamask 作示范)。
Step 2:
成功连结钱包后,下方就会出现你有授权的合约。你还可以在上方选项中,选择查看与你钱包互动的代币或是 NFTs 合约。
接著选择你想取消授权的合约,输入数字 0,并按下右方的 Revoke 按钮。
Step 3:
接下来,在跳出的确认页面中,检查你原先授予合约的授权被更改为 0(下图示范是 0 FTM,代表该合约无法再动用使用者先前授权的代币。)
确认为数值为 0 后,点击右下角的确认,即可完成“授权撤销”。
注:取消授权必须支付一定金额的手续费,执行前请先确认你的钱包中有做为手续费的代币。
Step 4:
完成后回到步骤 2. 的页面中,你就可以看到原先的合约授权遭到撤除了。
注:链上处理通常需要一些时间,请稍等一下再重新整理网页
使用钱包的小叮咛
最后,小编特别整理出以下几项你在使用加密钱包时的安全建议,建议您可以确实遵守确,以保护好个人的珍贵资产:
- 永远不要在陌生或不信任的电脑、行动装置上登入钱包
- 保存好个人私钥,切记不将私钥展示或告诉任何人
- 不向包括客户服务在内的其他人(可能是诈骗份子假扮)透露任何安全信息
- 不要随便 Approve/ Confirm 钱包交易,尤其是不知名的项目
- 不要轻易扫描二维码、点击来源不明的链接
- 不要浏览来路不明的网站,特别不能轻易授权钱包权限
- 授权合约时,记得确认你正在浏览的网站是否是正确的(钓鱼网站可能会使用很接近的名称)