红丸攻击是一种狡猾的骗局,它利用了许多加密钱包工作方式中的一个盲点:在你批准某个应用上的交易之前,你的钱包会向你展示预期结果的预览。但这个预览只是一次模拟,从来没有任何机制强制要求真实交易与预览保持一致,因此恶意合约可以轻易蒙混过关。
MetaMask 全新的"增强保护"安全功能改变了这一现状。当你在应用中进行交易时,你在预览中看到的结果就是你实际得到的结果——否则交易将不会执行。
红丸攻击:藏匿于交易预览中的骗局
红丸攻击之所以能够得逞,是因为恶意合约能够识别自己正处于预览模拟阶段,于是它便"表现良好"——向你展示一个干净、无害的结果,例如"您将收到 0.1 ETH"。然后你签名确认,合约开始执行,却做了完全不同的事情:比如清空你的钱包。由于预览看起来完全正常,你根本没有理由产生警觉。
MetaMask 增强保护的工作原理
在你通过应用签署交易之前,我们会对其进行模拟,并向你展示预期结果——也就是你今天看到的那种预览。我们将该结果作为一项必要条件锁定到交易中。当交易真正执行时,结果必须与你所看到的预览相符。如果不符——比如某个红丸合约试图执行与其承诺不同的操作——交易将自动失败,你的资金永远不会离开你的钱包。
如果发生这种情况,你唯一的损失是本次尝试所消耗的网络(Gas)费用,而你的资金将得到妥善保护。MetaMask 不会为此安全功能收取任何费用,也不会对未能成功执行的交易收费。增强保护针对的是被篡改的交易结果,而非普通的市场波动。它在后台静默运行,在你批准大额交易或与不熟悉的合约交互时尤为实用。
让你始终掌握主动权的安全保障
与我们构建的所有功能一样,增强保护在提升你安全性的同时,不会剥夺你的控制权。MetaMask 不会拦截你本意要执行的交易,这项安全功能只承诺一件事:你在以太坊或 EVM 应用上批准的交易,就是实际执行的交易。如果你更倾向于自行管理风险,可以随时在确认界面中关闭此功能。选择权始终在你手中。
MetaMask 增强保护现已在扩展程序(v13.45)上正式上线,覆盖支持智能账户(EIP-7702)的 13 条 EVM 网络,移动端版本即将跟进。