allowAnyone 漏洞:黑客如何转走任意用户余额?awesome-buggy-erc20-tokens 揭示 81 个中招合约的内幕

发布时间:2026/10/25 23:57:40
allowAnyone 漏洞:黑客如何转走任意用户余额?awesome-buggy-erc20-tokens 揭示 81 个中招合约的内幕 allowAnyone 漏洞黑客如何转走任意用户余额awesome-buggy-erc20-tokens 揭示 81 个中招合约的内幕【免费下载链接】awesome-buggy-erc20-tokensA Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected项目地址: https://gitcode.com/gh_mirrors/aw/awesome-buggy-erc20-tokensawesome-buggy-erc20-tokens项目是一个专门收集ERC20 智能合约漏洞及其受影响代币清单的安全项目。本文聚焦其中危害最大的allowAnyone 漏洞代币合约的代转函数漏掉一行授权校验导致任何人都不需要用户同意就能把任意账户里的余额转进自己的钱包。安全团队当时对以太坊全网扫描确认至少 81 个已部署合约存在这一逻辑漏洞EDU 代币归零事故就是最典型的真实案例。 什么是 allowAnyone 漏洞一行漏写的校验要理解这个漏洞先了解 ERC20 代币的转账机制授权approve用户 A 先告诉合约我允许 B 帮我最多转出 100 枚代币代转transferFromB 凭这份授权调用transferFrom(A, B, 数量)把 A 的代币转给自己。这套先授权、后代转的设计是 DEX、游戏、钱包等 DApp 的基础。而 allowAnyone 漏洞的成因是合约在transferFrom函数里忘记校验授权额度allowance❌ 没有检查B 是否真的获得过 A 的授权❌ 没有检查转出数量是否超出授权上限。结果就是任何人都能调用这个函数把任意账户的余额直接转走——就像一部没有密码锁的 ATM 机。 攻击全过程不需要密码就能提走别人的余额黑客的操作步骤简单到令人发指找到一个存在该漏洞的代币合约调用transferFrom(受害者地址, 黑客地址, 数量)余额到账攻击完成 2018 年 5 月EDUEduCoin代币就遭此毒手用户余额被他人任意转出项目几乎归零对应 CVE-2018-11397、CVE-2018-11398。更隐蔽的是该漏洞还藏着一个整数溢出陷阱当转出数量超过授权额度时合约内allowed - value的减法会发生回绕让攻击者有机会反复洗余额。 为什么多达 81 个合约中招同一份模板代码被疯狂复制以太坊主网上 ERC20 合约数量爆发式增长大量团队为了赶进度直接复制粘贴同一份模板代码模板里漏掉的那一行授权校验就这样被批量生产进了主网。awesome-buggy-erc20-tokens 团队对全网合约做深入分析后披露至少 81 个合约存在同性质漏洞——不是巧合而是代码复制的必然结果。 哪些代币中招受影响合约清单项目中已确认的代表性受影响合约如下代币合约地址EDU (EduCoinToken)0xa0872eE815B8dd0F6937386Fd77134720d953581VRToken0x0156888F51d68F858AC88aBa45DF699e2af2E4CcBAI200x14d9779B6585F3A7d4f768383B3cb030705dad2ePDAToken0xF270f361EDcA19f7063184b0e6b4F264468ECbC1完整数据可通过以下文件查询原始地址列表raw/allowAnyone.txtCSV 格式含市值、交易所信息csv/allowAnyone.o.csvJSON 格式json/allowAnyone.o.json漏洞详解与错误/正确代码对比ERC20_token_issue_list_CN.md 小技巧在汇总列表 bad_tokens.all.csv 中按合约地址搜索即可查到任意代币是否存在 allowAnyone 在内的多类已知问题排名靠前的中招代币见 bad_tokens.top.csv。️ 修复方案给 transferFrom 补上安全锁修复其实只需一行——在余额变动之前先校验授权额度是否足够require(allowed[_from][msg.sender] _value);同时建议使用 SafeMath 等库处理减法避免整数溢出。对新手开发者有三条实用建议✅ 不要盲目复制模板代码逐行理解每个函数✅ 上线前做一轮安全审计或自查✅ 优先参考成熟的安全代码库而不是来路不明的抄件。✅ 自查指南三步查出你的合约是否有此漏洞查编号allowAnyone 漏洞在 issues.json 中的代号为A18各数据文件都用它标记查地址在 bad_tokens.all.csv 中搜索你的合约地址若category列出现A18说明已被收录取全量如需完整数据集可克隆仓库获取git clone https://gitcode.com/gh_mirrors/aw/awesome-buggy-erc20-tokens数据由 gen_list_from_raw.py 脚本从 raw 目录批量生成也欢迎发现新漏洞的开发者按同样流程提交补充。写在最后allowAnyone 漏洞的教训在于一行校验的缺失足以掏空全体用户的钱包。对投资者持有代币前先查一查合约是否在问题清单里对开发者把授权校验当作 ERC20 实现的底线要求。这份持续更新的漏洞合集正是你最好的避坑地图 ️【免费下载链接】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),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询