# 安全第一 | 1. 如何识别钓鱼攻击

By [web3eye.eth](https://paragraph.com/@web3eye) · 2022-03-29

---

“钓鱼攻击” 通常是攻击者伪装成项目官方人员，通过虚假的官网或叙述来显示其合法性，引诱用户暴露自己的私钥和助记词，或是欺骗用户进行资产授权和转账，从而达到窃取资产的目的。常见的欺诈方式主要有以下几种：

**冒充官方人员发送 Discord 私信**

攻击者将 Discord 的头像和昵称修改为具有迷惑性的名称（类似 Mod、Announcement、管理员等），通过私信的方式发送虚假 mint NFT 的网址；或是在私信中提示在抽奖中已获得 NFT 白名单，并附上 mint NFT 网址，诱导用户向该地址转账。当用户打开网址连接 MetaMask 钱包发起转账时，攻击者还会刻意的将普通转账的 gasLimit 设置为大于 21000，让用户误以为是在与合约交互。

因为欺诈成本较低，这类攻击在多个热门项目中都曾出现过，初次接触 NFT 项目的小白用户容易被蒙骗。

![](https://storage.googleapis.com/papyrus_images/26d6e6b6ff354db85b1bbfe3e7378770b3c896e8a84d5dc3d34ffe73d3824d60.png)

**官方 Discord 权限被盗**

很多项目方安全意识薄弱，对 Discord 权限配置不熟悉，内部权限管控不严，导致权限被盗的事件时有发生；当攻击者拿到权限后发送虚假网址信息，用户看到消息是官方渠道发出的，也降低了警惕度，从而让攻击者有机可乘。

例如，社区 Mod 管理员账户未设置二次验证，账户被盗后，攻击者通过被盗 Mod 账户向用户发送私信；Discord 群组聊天频道权限配置有误，允许任何人 @evenyone 发送公告信息。其中不乏存在由于项目方管理员权限丢失，上万人的 Discord 社区被攻击者劫持，导致项目方不得不重新创建 Discord 社区的事件。

PaNews [@PANewsCN](https://www.panewslab.com/zh/search/index.html?key=%E9%92%93%E9%B1%BC%E6%94%BB%E5%87%BB) 在快讯中披露过多起类似事件，这里不再赘述。

**更多伪装欺诈的方式..**

在 Google 搜索出来虚假的网址相似网站，通过冒充 OpenSea 官方发送邮件等，诸如此类的伪装手段层出不穷。此前，我们也揭露过使用 [Twitter 蓝标认证用户发布虚假空投消息](https://twitter.com/Web3EyeLabs/status/1506165782702862336)，盗取用户 NFT 资产的事件，攻击者在钓鱼网站中，检查了用户地址中是否存在值钱的 NFT 资产，点击领取空投按钮，就会发起转移 NFT 资产的交易；为了避免被追踪，攻击者还会定时更换接收窃取 NFT 和 Token 资产的收款地址。

所有的钓鱼攻击都是通过伪装获取用户信任后，骗取用户资产；当攻击者通过欺诈信息，将用户引导到精心准备的虚假网站中，才完成了第一步。攻击者是如何窃取用户钱包里的资产的？

**索要私钥**

当用户打开虚假网站连接钱包后（如下图，伪造的 OpenSea 虚假网页），比较直白的方式，会让用户直接填写私钥。当你填写后，这个钱包的资产就不再属于你了，会被攻击者的清道夫程序时刻监控起来，不仅会将当前地址中的资产席卷一空，还会将后续向该地址转移的任何资产快速清空。

![](https://storage.googleapis.com/papyrus_images/11e572a04453247ae36cddd7e316aeb8507625c55d1c35ea9734440d1cf27872.png)

**直接转账**

在虚假网页中展示倒计时，或动态减少的剩余可 mint 数量，利用用户的 fomo 心态，让用户来不及仔细辨别发起交易的详细信息；用户唤醒 MetaMask 弹窗，直接向攻击者地址转移 Token 或 NFT 资产，等到交易成功后才追悔莫及。

**骗取签名**

当用户在虚假网页中点击领取空投或铸造 NFT 按钮时，唤醒 MetaMask 让用户进行签名。例如 Dai Token 合约实现了 [EIP-2612](https://eips.ethereum.org/EIPS/eip-2612) 中的 permit 函数，只需要通过签名就可以操作用户地址的 Dai 资产，而不需要用户发起一笔上链的交易。攻击者拿到签名后，就可以神不知鬼不觉的将地址中的 Dai 资产转走。

**授权交易**

在虚假网页中，如果发起的交易是将地址中的 Token 资产或 NFT 资产授权给攻击者地址操作，那么该地址中对应的资产对于攻击者来说，犹如探囊取物。需要尽快取消授权，我们可以通过 [etherscan](https://etherscan.io/tokenapprovalchecker) 查询 Token 授权情况。

上面列举了一些比较常见的钓鱼攻击方式，实际场景中还有更多变化多端的欺诈手段，比如 NFT 稀有度插件拥有修改网页的权限， 可以在用户访问正确的网站时，篡改发起交易的目标地址。

**防止被钓鱼的措施**

1.  不点击不明链接，就算是官方发出的链接也需要多方确认
    
2.  不在任何地方填写私钥或助记词
    
3.  发起交易时，看清钱包弹窗中的详细信息（签名、授权、交易）再确认
    
4.  不安装来路不明的插件或者软件
    

如果已经被钓鱼攻击导致资产损失，可以及时反馈给项目方或求助安全公司（[知道创宇 https://knownseclab.com](https://knownseclab.com)），对攻击者地址进行同源分析和资金流向分析，并监控地址交易异动信息。

**关于我们**

[Web3Eye](https://twitter.com/Web3EyeLabs) 是一个专注于技术研究和分享的 Web3 加密技术社区，团队拥有多年区块链研发经验和安全技术能力，以帮助更多人安全地进入 Web3 世界，欢迎关注我们的 [Twitter 帐号](https://twitter.com/Web3EyeLabs)，了解最新动态。

---

*Originally published on [web3eye.eth](https://paragraph.com/@web3eye/1-2)*
