1. 钱包签名钓鱼(Phishing)攻击的工程防御策略
什么是钱包签名钓鱼攻击?前端工程上如何防御钱包签名钓鱼?
- 签名钓鱼的原理(恶意站点诱导用户签名)
- 域名校验、消息可读化、危险签名拦截
- 前端如何降低钓鱼风险
钱包签名钓鱼(Phishing)指攻击者伪造网站或通过恶意 DApp,诱导用户对不透明或恶意的内容进行签名,从而窃取资产或授权。前端工程防御策略包括:严格校验 window.ethereum 来源与域名(避免被 iframe 恶意注入)、对签名消息进行可读化解析(如 EIP-712 结构化展示)、在签名前向用户清晰展示将要签名的内容与风险、对 eth_sign 等危险方法实施拦截或白名单、使用域名锁与通道校验(如 EIP-1193 的 app metadata)、引入 2FA 与风控、以及监听钱包反钓鱼名单(如 MetaMask 的 phishing detect)。此外,前端应使用 https 并设置 CSP、防 clickjacking 头,避免页面被嵌入恶意 iframe。
签名钓鱼的根源是"用户在没有理解内容的情况下签名"。前端的关键职责是让签名内容透明、可读、可预期,并阻断危险路径,把"签名即授权"的单向操作变成可感知的安全流程。