为什么要研究 ERC20 漏洞案例
ERC20 是以太坊生态中最重要的代币标准,几乎所有的项目代币都基于这一规范。然而正因为其普遍性,每一次合约漏洞都会被复用到大量项目中。研究 ERC20 漏洞案例的意义,不仅是技术学习,也是普通用户在 B安交易所 选择代币时的重要风险判断依据。
本文将从历史事故出发,分析常见漏洞类型与防御思路,帮助读者建立结构化的合约风险评估框架。
案例一:整数溢出与下溢
早期版本的 ERC20 合约普遍未做整数边界检查,攻击者可通过构造极大数值触发溢出,获得大量「不存在」的代币。著名的 BEC 与 SMT 事件即源于此。
防御方案:
- 使用 SafeMath 库或 Solidity 0.8 以上版本自带的边界检查;
- 对外部传入的转账数量进行额外断言;
- 在多签或上线前进行符号执行测试。