从 DAO 黑客攻击到 BEC 币价归零:awesome-buggy-erc20-tokens 揭秘 5 起震惊以太坊社区的智能合约安全事件

📅 2026/8/25 10:37:10
从 DAO 黑客攻击到 BEC 币价归零:awesome-buggy-erc20-tokens 揭秘 5 起震惊以太坊社区的智能合约安全事件
从 DAO 黑客攻击到 BEC 币价归零awesome-buggy-erc20-tokens 揭秘 5 起震惊以太坊社区的智能合约安全事件【免费下载链接】awesome-buggy-erc20-tokensA Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected项目地址: https://gitcode.com/gh_mirrors/aw/awesome-buggy-erc20-tokens在以太坊主网上ERC20 代币合约数量早已突破 95,000 个但其中隐藏的安全风险远超多数人的想象。awesome-buggy-erc20-tokens是一个持续维护的开源漏洞合集项目专门收录ERC20 智能合约已披露漏洞、受影响的问题代币合约清单CSV/JSON 格式帮助开发者、投资者和交易所快速识别高危代币规避链上资产损失。本文结合该项目的真实漏洞档案带你复盘 5 起震惊社区的智能合约安全事件。上图正是项目文档中统计的以太坊主网 ERC20 合约每日创建趋势——从 2015 年底的零星部署到 2018 年年中每天新增数百个合约。合约数量爆发式增长的背后是漏洞数量的同步膨胀。 这是什么项目一分钟了解 awesome-buggy-erc20-tokens该项目由安全团队发起目标是把「教科书里的漏洞」变成「可查询、可检索、可自查」的工具。它共收录29 类问题分为三大类分类内容A 类代码实现漏洞整数溢出、逻辑反转等共 25 种B 类不符合 ERC20 规范的不兼容问题共 7 种C 类权限管理问题如 owner 可操作任意账户每个问题类别都有对应的数据文件方便程序化筛查例如漏洞详解文档ERC20_token_issue_list_CN.md全量问题代币清单bad_tokens.all.csv头部排名代币清单bad_tokens.top.csv漏洞索引映射issues.json受影响合约原始地址raw/、csv/、json/接下来我们用项目收录的真实案例还原 5 起重大安全事件。 事件一2016 DAO 黑客攻击——以太坊史上最惨痛的一课2016 年 6 月 18 日针对 DAO 合约的攻击导致超过3,600,000 枚 ETH被掏空按当前市价折算超过 10 亿美元。更深远的影响是随后的以太坊硬分叉直接导致社区分裂ETH 与 ETC 就此诞生。DAO 事件的核心漏洞是重入攻击Reentrancy——它至今仍位列 NCC Group《2018 智能合约十大安全问题》之首。它给整个行业留下的教训是智能合约代码一旦部署就永远无法撤销任何逻辑缺陷都可能被放大为灾难。这也是后来包括本项目在内的无数安全清单存在的意义。 事件二BEC 美链币价归零——一个整数溢出毁掉整个项目2018 年 4 月 22 日美链BeautyChainBEC代币被黑客利用batchTransfer()函数中的整数溢出漏洞重创批量转账时接收人数 × 单笔金额的乘积发生了溢出变成一个小数值轻松通过了「余额是否充足」的校验随后循环内逐笔转账实际转出的代币远超调用者余额——黑客用一笔交易把天价代币砸向交易所BEC 价格瞬间几乎归零。该漏洞被记录为CVE-2018-10299项目将其归类为 A1. batchTransfer-overflow。受影响合约地址可在此直接查证原始地址清单raw/batchTransfer-overflow.txtBEC 位列第一行带行情信息的 CSVcsv/batchTransfer-overflow.o.csv项目当时统计出至少 10 份合约存在同样的批量转账溢出问题。 事件三SMT SmartMesh 币价崩盘——发币上限被轻松绕过仅隔 3 天2018 年 4 月 25 日SmartMeshSMT爆出同类整数溢出漏洞mint()铸造函数中totalSupply _value tokenLimit的上限校验因加法溢出失效。黑客传入一个极大的数值加法结果「绕回」成小数后顺利通过检查随后凭空铸造天文数字规模的代币并集中抛售SMT 价格应声崩盘。该漏洞编号为CVE-2018-11809对应项目分类 A8. excess-mint-token-by-overflowPlayKey 的 PKT 等合约同样受影响详见 csv/excess-mint-token-by-overflow.o.csv。连续两次「溢出 → 归零」的教训让社区达成共识所有算术运算必须使用 SafeMath 之类的安全库而不能裸写、*、-。 事件四EDU 逻辑漏洞——81 个合约同病相怜2018 年 5 月 20 日EDUCoinEDU等 4 个代币CVE-2018-11397、CVE-2018-11398曝出更隐蔽的逻辑漏洞A18. allowAnyonetransferFrom()函数漏掉了allowed授权额度的校验导致任何账户都能把别人账户里的余额转走——你的余额别人随时可以「借」走。EDU 正是受害者之一。A10. verify-reverse-in-transferFrom另一类变体则是把授权校验逻辑写反条件判断方向颠倒效果同样是余额可被任意转出。深入分析后发现至少 81 个已部署合约存在同一性质的漏洞根源几乎都指向同一处被反复复制的模板代码。项目档案见csv/allowAnyone.o.csv、raw/allowAnyone.txtcsv/verify-reverse-in-transferFrom.o.csv这是典型的**「代码复制传播风险」**——改了一处错误模板错误就被复制了 81 次。 事件五2018.6 整数溢出系列漏洞——800 多个合约「带病运行」2018 年 6 月 12 日清华-360 企业安全联合研究中心再次披露一批 ERC20 整数溢出漏洞CVE-2018-11687、CVE-2018-11809 ~ 11812。研究团队扫描主网 2 万多个已部署合约后发现有800 多个合约受影响。这一轮漏洞覆盖了多种「溢出变体」项目均给出了独立分类与合约清单漏洞分类危害数据文件A2. totalsupply-overflow代币总量校验失效csv/totalsupply-overflow.o.csvA3. verify-invalid-by-overflow余额校验被溢出绕过csv/verify-invalid-by-overflow.o.csvA8. excess-mint-token-by-overflow超额铸造代币csv/excess-mint-token-by-overflow.o.csvA9. excess-buy-token-by-overflowICO 购买上限被绕过csv/excess-buy-token-by-overflow.o.csv️ 新手自查指南如何用项目规避这些风险如果你持有或正在开发代币强烈建议把本项目的清单当作「避雷手册」投资者打开 bad_tokens.all.csv按addr合约地址搜索你持有的代币命中issues字段即代表存在已知漏洞或不规范问题想只看高风险的头部项目用 bad_tokens.top.csv 即可。DApp 开发者对接代币前先用 issues.json 中的漏洞分类映射做一遍兼容性检查避免接入会「吞掉」用户资产或有approve()余额校验的代币。合约开发者逐条阅读 ERC20_token_issue_list_CN.md每一类漏洞都附了「错误代码 vs 推荐代码」对照是最好的实战教材核心防御手段就三条——全程 SafeMath、校验方向逐行复核、权限最小化。 结语从 DAO 的 360 万 ETH 到 BEC 的币价归零从 81 个合约共享同一漏洞到 800 多个合约带病运行——这 5 起事件勾勒出同一个残酷事实智能合约的风险往往不在高深算法里而在那一行被复制、被写反、被溢出的普通代码里。awesome-buggy-erc20-tokens 的价值正是把这些血泪教训沉淀为可查询的公开档案。如果你是新手不妨现在就从 bad_tokens.top.csv 开始给你的持仓做一次免费的「安全体检」。【免费下载链接】awesome-buggy-erc20-tokensA Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected项目地址: https://gitcode.com/gh_mirrors/aw/awesome-buggy-erc20-tokens创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考