MetaMask 的交易模拟、安全警报、钓鱼网站检测现在不再各有各的开关,而是并进了一个默认开启的总开关。下面先讲这个总开关管什么、要不要动,再讲四处需要你自己动手的地方:自动锁定、授权额度、断开连接、撤销授权。

MetaMask 的安全保护现在归哪个开关管

这个总开关叫 Basic Functionality。按帮助中心 How to adjust MetaMask privacy settings 一页,它的位置是:

  • 浏览器扩展:右上角菜单 → Settings → Privacy → Basic Functionality
  • 手机 App:右上角菜单 → Settings → Security & Privacy → Basic Functionality

关于它,官方页面写明了三点:

  • 默认开启。
  • 它是一组功能的总闸,里面的功能不能单独关。关掉它,交易模拟、安全警报、钓鱼网站检测、代币与 NFT 检测、余额和价格查询会一起停,备份同步与通知也跟着停。
  • 用助记词创建的钱包可以关它:创建时在 Manage default settings 里关,或之后在设置里关。用 Google、Apple、Telegram 账号注册的钱包关不了。

所以第一件事是打开这一页看一眼。如果你建钱包时在 Manage default settings 里把它关过,下一节那几项保护现在都没在工作。我的建议是让它开着。开着的代价官方也写了:这组功能要用到第三方网络服务,你的 IP 地址会作为正常网络流量的一部分到达 MetaMask 的服务器。

说明

本文菜单名按英文界面写,各项对应的官方页面链接在各小节里。改版后以你看到的界面为准。

总开关开着时,钱包会替你拦什么

下面四项都归 Basic Functionality 管,不用另外打开。值得花时间的是弄清每一项能做到哪一步、做不到哪一步。

交易模拟:确认前先看余额会怎么变

发起合约交互时,MetaMask 会先把这笔交易试跑一遍,在确认页显示预计的余额变化:哪些代币、哪些 NFT 会转出或转入。官方说明在 What are transaction simulations? 一页,默认开启。

同一页也写了它的局限。标准模拟在链下跑,结果不保证和上链后一致;恶意合约可以在模拟时表现正常,等你确认后再转走资产,官方把这种手法叫 red pill 攻击。针对这一点,MetaMask 在部分网络上提供 Added protection:上链执行的结果和模拟对不上时,交易直接回滚,你只付网络费。官方说明它会增加一些 gas,和不受信任的合约交互时默认可用。

用法只有一条:模拟显示你会失去不该失去的东西,就停手。反过来不成立,模拟显示正常不等于这笔交易安全。

安全警报:Warning 和 Malicious 两档

MetaMask 会对代币、地址和 dapp 给出提示,分 Warning(有潜在风险)和 Malicious(高度确信有害)两档。按 How to manage security alerts to protect your wallet 一页,判断依据来自链上分析和包括 Blockaid 在内的安全合作方,在扩展和 App 里都默认开启。

注意

警报只提醒,不拦截。出现警告后你仍然可以点确认,官方的说法是它用来帮你做决定;官方也写明模拟和警报不保证发现所有威胁。另外,开着警报时 MetaMask 会把 dapp 的网址、JSON-RPC 方法、链 ID 和交易数据发给安全合作方。官方说明这些本来就是会发给 dapp 的数据,助记词和私钥不会被发出去。

钓鱼网站检测:Deceptive site ahead

连接钱包时,如果目标网站疑似钓鱼,MetaMask 会显示 Deceptive site ahead 警告页。官方在 这个警告的说明页 里的建议很直接:出现这个警告的网站不要连接。检测时,处理过的网址可能会发到 MetaMask 的服务器和部分第三方服务。

代币自动检测:不能单独关,陌生代币别碰

代币自动检测在 EVM 网络和 Solana 上默认开启,同样归总开关管,不能单独关,见 How to display tokens in MetaMask。这意味着别人空投到你地址的陌生代币,可能自己出现在资产列表里。

官方在同一页的提醒是:对空投来的、不认识的代币保持怀疑,交互前先查清楚;区块浏览器里某笔失败交易的报错信息如果让你去某个网站,那多半是钓鱼站,不要点。资产列表里出现不是你自己买来或换来的代币,放着不动就行。

这四项都拦不住的,是签名弹窗里你自己没读就点了确认。凡是带 approve、setApprovalForAll、permit 字样的请求,先看清被授权的地址和额度再决定。

MetaMask 自动锁定在哪里设置

钱包解锁着、人离开了电脑,这段时间里坐到电脑前的人能看到余额和交易记录,也能发起交易。自动锁定管的就是这段空档:闲置超过设定时间,MetaMask 自己锁上,再用要输密码。

  • 浏览器扩展:Settings → Security & password → Auto lock
  • 手机 App:Settings → Security and password → Auto lock

路径出自帮助中心 How to log out of MetaMask 一页;MetaMask 的 隐私实践建议 也把设置自动锁定列为一项。这两页都没有写默认时长,所以进去看一眼现在的数值,再按你的环境调短。共用的电脑、办公室工位上的电脑,建议设到几分钟以内,代价只是多输几次密码。

要马上锁,点右上角菜单最下面的 Log out。

授权弹窗里的无限额度怎么改小

dapp 请求代币授权时,提出的额度常常是无限。MetaMask 允许你在确认前把它改掉,官方把这个数叫 spending cap,步骤见 How to customize token approvals with a spending cap:

  • 浏览器扩展:在授权确认页点额度旁边的铅笔图标,填入自己的数,再点 Confirm。
  • 手机 App:在 Spending cap request for your [代币名] 页面的 spending cap 栏里填数。点 Max 会填入你这种代币的余额,点 Use site suggestion 会填入 dapp 建议的数。填好点 Next 检查,再点 Approve。

官方在同一页给的建议是不要给无限(天文数字)额度,理由也写了:dapp 的合约有漏洞时,攻击者可以不经你再次确认就把授权范围内的代币转走;仿冒知名品牌的假网站拿到授权后也一样。填这次交易要用的数就够,下次再用再授权,多付一次 gas。

怎么断开不再用的 dapp 连接

用完一个 dapp,可以把它和钱包的连接断开。帮助中心 How to disconnect a wallet from a dapp 给的步骤:

  • 浏览器扩展:账户界面右上角菜单 → Dapp connections → 点要断开的 dapp → Disconnect。
  • 手机 App:在 Explore 标签里打开那个网站 → 点右上角的账户图标 → Disconnect all。
  • 手机 App 一次清空:Settings → Security & Privacy → Clear privacy data,会移除当前所选账户的全部 dapp 连接和权限。
注意

断开连接不等于撤销授权。官方在同一页写明,上面的操作不会撤销任何代币授权,断开之后那个 dapp 仍可能动用你授权过的代币。授权要另外撤,见下一节。

已经给出去的代币授权去哪里撤销

MetaMask 的 撤销授权说明 列了几条路:

  • MetaMask Portfolio 的 spending caps 页(portfolio.metamask.io):查看现有授权并直接发起撤销,官方写明支持以太坊主网、Polygon 和 BNB Chain。
  • 区块浏览器自带的授权检查页:例如 Etherscan 的 Token Approval Checker。
  • 第三方工具:例如 Revoke.cash。

每撤一条授权都是一笔链上交易,要付 gas。官方建议定期检查授权,举的例子是每月一次。怎么查、怎么撤、Permit2 怎么排查,展开写在 代币授权怎么查、怎么撤销 里。

Smart Transactions 和自定义 RPC 要不要动

Smart Transactions 默认开启。按 How to use Smart Transactions 一页,它把符合条件的交易交给一组区块构建者去打包,官方列的好处是回滚保护、更高的成功率和 MEV 保护,不另外收费。支持以太坊主网、Linea、Base、Arbitrum、BNB Smart Chain、Polygon 等网络。开关位置:扩展在 Settings → Transactions,App 在 Settings → Advanced。我的建议是保持开启。

和它直接相关的是 RPC。官方写明,在这些网络上配置自定义 RPC 会覆盖 Smart Transactions,MEV 保护随之失效,切回默认 RPC 才恢复,见 添加网络的说明页。所以没有明确理由时,不建议给这些主流网络换 RPC 地址;来路不明的 RPC 地址更不要填。

六项设置速查表

项目 在哪里(扩展 / App) 官方写的默认状态 建议
Basic Functionality 总开关 Settings → Privacy / Settings → Security & Privacy 开 确认没被关掉,保持开启
Smart Transactions Settings → Transactions / Settings → Advanced 开 保持开启,不随意换 RPC
自动锁定 Auto lock Settings → Security & password → Auto lock 官方页面未写时长 看一眼现值,调短
授权额度 spending cap 每次授权的确认页 由 dapp 提出 改成这次够用的数
dapp 连接 菜单 → Dapp connections / Explore 里打开网站后点账户图标 — 不再用的断开
已有的代币授权 Portfolio 的 spending caps 页、区块浏览器、Revoke.cash — 定期检查,撤掉不用的

设置之外,官方还建议做的几件事

MetaMask 的 隐私实践建议 和 基础安全提示 里,还有几条不在设置菜单里:

  • 钱包密码单独设一个。用强密码,不和别的账号共用;钱包是用 Google、Apple 或 Telegram 账号注册的,更不要和那个账号用同一个密码。
  • 电脑开全盘加密。官方点名的是 Mac 的 FileVault、Windows 的 BitLocker、Linux 的 LUKS。
  • 只连接你信得过的网站。拿不准的 dapp 先查清楚再连。
  • 助记词只在三种时候输入:第一次创建钱包、恢复钱包、重置钱包。MetaMask 不会向你要助记词,自称客服的人来要也不给。
  • 金额大了考虑硬件钱包。官方的说法是持有的代币价值较高时值得考虑,签名要在设备上确认。

签名弹窗里的各类骗法怎么认,见 钓鱼诈骗图鉴;哪些钱放热钱包、哪些放冷钱包,见 冷钱包和热钱包的区别。