返回实战项目
Day 14

【实战5.2】钓鱼攻击监控与防护:类型分类与钱包安全PRD

分类Web3钓鱼攻击类型(授权钓鱼/假网站/恶意签名/地址投毒),设计钱包安全防护功能和用户安全教育方案

2026-03-20
实战项目钓鱼攻击安全防护钱包安全授权管理PRD

实战项目 5.2:钓鱼攻击监控与防护

项目信息

项目编号:5.2
所属方向:反欺诈分析
难度:⭐⭐⭐ 进阶
预计时间:4-5小时
前置技能:安全基础(Day 20, 55-56)、UX 设计(Day 52-54)

项目目标

分类 Web3 钓鱼攻击类型,设计钱包安全防护功能

产出清单:
├── ✅ 钓鱼类型分类手册
├── ✅ 钱包安全功能 PRD
└── ✅ 用户安全教育方案

Task 1:钓鱼类型分类手册

六大 Web3 钓鱼类型

类型 1:授权钓鱼(Approval Phishing)— 损失最大
═══════════════════════════════════════════════════════════
方式:诱导用户 approve 恶意合约无限额度
原理:approve(malicious_contract, type(uint256).max)
     → 恶意合约可随时转走你的所有 Token
案例:2024 年多起 NFT 钓鱼,总损失 $100M+
防护:限制授权额度 + 定期检查和撤销授权
═══════════════════════════════════════════════════════════

类型 2:恶意签名(Signature Phishing)— 最隐蔽
═══════════════════════════════════════════════════════════
方式:诱导用户签署看似无害的消息
原理:eth_sign / personal_sign 签署的内容可能是交易授权
     Permit 签名 = 无需链上 approve 的授权
案例:Permit2 钓鱼,签名后 Token 被直接转走
防护:签名内容解析 + 风险提示
═══════════════════════════════════════════════════════════

类型 3:假网站(Clone Phishing)— 最常见
═══════════════════════════════════════════════════════════
方式:克隆 Uniswap/OpenSea 等网站,域名微差
案例:uniiswap.com / opensea.io.phishing.com
     Google Ads 投放假网站排在搜索第一
防护:域名验证 + 书签访问 + 浏览器插件
═══════════════════════════════════════════════════════════

类型 4:地址投毒(Address Poisoning)
═══════════════════════════════════════════════════════════
方式:向你发送 0 值交易,地址首尾和你常用地址相似
原理:用户复制交易历史中的地址时复制到假地址
案例:2024 年某用户因此损失 $6,800 万 WBTC
防护:完整地址校验 + 地址簿功能
═══════════════════════════════════════════════════════════

类型 5:Discord/Telegram 社工
═══════════════════════════════════════════════════════════
方式:假冒管理员 DM → 引导到钓鱼网站
     假 Mint 公告 → 钓鱼合约
案例:Bored Ape / Moonbirds 等社区钓鱼
防护:不点击 DM 链接 + 仅通过官方渠道操作
═══════════════════════════════════════════════════════════

类型 6:恶意空投(Airdrop Scam)
═══════════════════════════════════════════════════════════
方式:向你钱包空投未知 Token → 交互时触发恶意合约
原理:Token 合约的 transfer 函数中嵌入恶意逻辑
案例:大量 BSC 空投骗局
防护:不交互未知 Token + 隐藏可疑资产
═══════════════════════════════════════════════════════════

损失统计与趋势

类型2023 损失2024 损失趋势检测难度
授权钓鱼$374M$500M+
恶意签名$50M$200M+↑↑↑
假网站$100M$80M
地址投毒$20M$100M+↑↑
社工$50M$40MN/A
恶意空投$30M$20M

Task 2:钱包安全功能 PRD

PRD:WalletShield — 钱包安全防护层

产品定位:为 DeFi 用户提供交易前的安全检查层
集成方式:浏览器插件 / 钱包内置模块 / SDK

核心功能

功能 1:交易模拟预览
═══════════════════════════════════════════════════════════
用户发起交易 → 在弹窗中显示:
├── 你将花费:100 USDC
├── 你将收到:0.05 ETH
├── 授权变更:无 / 新增 approve XXX 合约
├── 风险提示:🟢 安全 / 🟡 注意 / 🔴 危险
└── "这笔交易和你预期的一样吗?"

触发场景:
├── 所有合约调用
├── 所有 approve 操作
└── 所有签名请求
═══════════════════════════════════════════════════════════

功能 2:授权管理面板
═══════════════════════════════════════════════════════════
├── 展示所有当前授权(Token + 合约 + 额度)
├── 风险标记(未知合约 / 无限额度 / 长期未用)
├── 一键撤销高风险授权
├── 定期提醒:"你有 3 个高风险授权待清理"
└── 类似 Revoke.cash 但集成在钱包内
═══════════════════════════════════════════════════════════

功能 3:地址验证
═══════════════════════════════════════════════════════════
├── 发送前:显示完整地址 + 高亮首尾
├── 已知地址:显示标签("你之前转过的地址")
├── 可疑地址:与地址投毒库比对 → 红色警告
├── 合约地址:显示合约信息 + 是否验证
└── 地址簿:保存常用地址,减少手动输入
═══════════════════════════════════════════════════════════

功能 4:签名解析
═══════════════════════════════════════════════════════════
├── 将 eth_sign / personal_sign 内容翻译为人类语言
├── Permit 签名 → 显示"你正在授权 X 合约花费 Y Token"
├── 危险签名 → 红色警告 + 阻止确认
└── 未知签名类型 → 黄色提醒
═══════════════════════════════════════════════════════════

技术实现优先级

功能优先级开发周期用户价值
交易模拟预览P03 周极高(防止 80% 钓鱼)
签名解析P02 周极高(防止 Permit 钓鱼)
授权管理面板P12 周高(清理历史风险)
地址验证P11 周高(防止地址投毒)

Task 3:用户安全教育方案

分层教育策略

Level 0:零门槛提示(所有用户)
═══════════════════════════════════════════════════════════
├── 首次使用钱包 → 3 页安全指南(30 秒读完)
├── 首次 approve → 解释什么是授权 + 风险
├── 高风险操作 → 弹窗教育("你知道这意味着什么吗?")
└── 定期安全报告 → "本月你撤销了 2 个高风险授权"
═══════════════════════════════════════════════════════════

Level 1:情境教育(活跃用户)
═══════════════════════════════════════════════════════════
├── 当新钓鱼手法出现时 → 推送安全通知
├── 当用户即将交互可疑合约 → 展示同类骗局案例
├── 月度"安全评分"→ 激励安全行为
└── 社区安全讨论区 → 互相预警
═══════════════════════════════════════════════════════════

Level 2:深度内容(进阶用户)
═══════════════════════════════════════════════════════════
├── 审计报告阅读指南
├── 合约代码安全检查清单
├── 高级钱包安全配置教程
└── 安全事件复盘分析
═══════════════════════════════════════════════════════════

安全行为激励

安全评分体系:

+10 分:撤销一个高风险授权
+5 分:使用地址簿转账(vs 手动输入)
+5 分:完成安全教程
+10 分:设置交易模拟为默认开启
+20 分:配置硬件钱包签名
-10 分:忽略红色安全警告
-5 分:授权未知合约无限额度

安全评分 > 80 → 显示"安全达人"徽章
安全评分 < 40 → 推送安全提醒

面试题准备

Q: 设计一个防钓鱼功能,不牺牲用户体验

30 秒版本: 核心是"交易模拟预览" — 用户发起任何交易前,用人类语言显示"你将花费 X / 你将收到 Y / 授权变更 Z"。安全的交易一键确认(零摩擦),可疑的交易增加确认步骤(合理摩擦)。关键是分级提示:🟢 绿色直接过、🟡 黄色多一步确认、🔴 红色强制阻止。这样 95% 正常交易体验不受影响,5% 危险交易被有效拦截。


下一步

完成本项目后,推荐继续:

  • 项目 5.3:异常交易监控系统