以太坊ERC20Token标准自2015年11月19日诞生以来,为智能合约、以太坊生态以及区块链应用的发展做出了巨大的贡献。据Etherscan网站数据显示,截止2018年6月26日,以太坊主网上ERC20Token数量已超过90000。下图是统计的ERC20每日创建数量趋势图。
这些Token合约所承载的价值不可估量。然而近几个月以来,以BEC事件为开端,引发的一系列的链式反应,越来越多的合约漏洞与不兼容性问题相继被曝光。目前智能合约安全问题的分析披露还比较散乱,对智能合约的开发和后续的使用所起到的作用非常有限,社区缺乏一套完备的合约问题汇总机制。因此安比实验室在分析了近期爆出的合约风险问题和大量的智能合约源码后,携手路印发布智能合约风险列表,联合去中心化交易所DEx.top、轻信科技、Consensys中国、长亭科技等技术团队,共同对该风险列表进行维护。
由于以太坊上部署的合约数量规模还在不断增大,未来还会有更多更复杂的问题暴露出来。因此,我们倡导发起Token合约风险列表共建计划,呼吁更多关心区块链生态的团队或技术人员参与进来,共同维护这份合约风险列表。
ERC20Token的安全问题总结
ERC20Token漏洞事件回顾
在ERC20Token逐渐成熟和完善的发展过程中,不少ERC20智能合约曾出现过重大漏洞,对项目方、投资人、交易所甚至整个以太坊社区造成了比较大的经济损失。例如:
京东方新型半导体显示器件生产线2025年实现投产:金色财经报道,日前,京东方第6代新型半导体显示器件生产线在北京经济技术开发区正式开工建设。这条生产线总投资达290亿元,将于2025年实现投产,进一步增强北京高端显示技术布局。
随着“元宇宙”的持续升温,被视为元宇宙入口的AR、VR也迎来新一轮产业高潮。这条生产线正是基于元宇宙,增强VR技术布局。“京东方将全面统筹资源,建成全球技术最先进、产能最大的VR用液晶显示生产基地,推动全球半导体显示产业升级。”京东方董事长陈炎顺说。(北京日报)[2023/2/13 12:03:18]
2016年6月18日,DAO合约遭到攻击,导致超过3,600,000个以太币(ETH)被盗,迫使以太坊社区不得不采取硬分叉的手段来减少损失,而这更是直接引起了以太坊社区的分裂2018年4月22日,黑客攻击了美链(BEC)的Token合约,通过一个整数溢出漏洞,一时间BEC的价格几乎归零。我们发现至少有10份合约存在该类问题。2018年4月25日,SMT爆出类似整数溢出漏洞,黑客制造和抛售了天文数字规模的Token,导致SMT价格崩盘。2018年5月20日,严重的逻辑漏洞导致EDU用户的Token可被任意转出,同时还有其它3个Token存在相同问题。2018年6月12日,一系列ERC20智能合约整数溢出漏洞(CVE-2018-11687,CVE-2018-11809,CVE-2018-11810,CVE-2018-11811,CVE-2018-11812)又被爆出,据不完全统计有800多个合约受到影响。
Adam Cochran:美国SEC主席Gary Gensler不是一个监管者:金色财经报道,Cinneamhain Ventures合伙人Adam Cochran在社交媒体上称,因此,美国证券交易委员会与SBF建立了友好关系,并给他们一个例外,让他们在美国提供更多的服务。但随后又对Kraken和Coinbase这两个最合规的美国交易所的服务进行了调查,而SEC之前拒绝提供指导?
美国SEC主席Gary Gensler,不是一个监管者。他是一个反加密货币议程的代理人,他的目的只是为那些他不同意的人挥舞他的权力作为棍棒。那么,最大的问题是,为什么FTX没有得到这种待遇?[2023/2/11 12:00:17]
大量ERC20Token实现未严格遵守规范
未参照ERC20标准实现Token合约会给DApp开发带来较大的困扰。某知名DApp团队在深入分析了排名前20的合约之后,提示社区需要对Token合约的诸多实现问题和不规范行为重视起来,尤其是对于新的DApp开发者,提早避免一些问题。
NearlyathirdofthetimedevelopingBsktwasspentauditingexternaldependencies.WehighlyencourageotherEthereumdevteamstobeawareofthedangersinexternaldependencies.Unlikesoftwaredevelopmentinmostsystems,it’scriticaltoreadtheimplementationofdeployedcontractsyoudependon—notjusttheinterface.
Web3孵化器Tané完成800万美元融资,B Dash Ventures Inc.等参投:1月28日消息,分布在迪拜、纽约和东京三地的 Web3 孵化器 Tané 宣布完成 800 万美元新一轮融资,DEEPCORE Inc.、XTech Ventures Co. Ltd、DeNA Co. Ltd、B Dash Ventures Inc. 和一批个体投资者参投。
Tané 目前由管理合伙人 Ikuma Mutobe 领导,主要对种子轮和早期阶段的 Web3 初创公司和项目进行投资并在创业、金融、工程和业务发展方面给予指导,其重点关注的加密领域包括基础设施(Layer 1 和 Layer 2 区块链)、隐私及跨链解决方案、安全、消费者应用及 Token 经济学、DAO、NFT、DeFi。[2023/1/28 11:34:09]
我们还注意到,大量已部署Token合约曾经参考了以太坊官网以及OpenZeppelin等其它DApp。据不完全统计,存在该类问题的合约超过2000份。
若干Token合约在标准approve()函数中添加了对当前账户余额校验逻辑。导致采用类似0x协议的诸多DApp有可能无法正常完成approve(),必须由Token项目方提前转入一笔数额巨大的Token至中间账户,这给DApp和交易所带来了诸多不便。超过17份合约存在该问题。
ERC20规范中规定了几个可选的通用查询接口如name()、symbol()、decimals(),因而大量Token合约未提供这些接口,甚至不少采用NAME()、SYMBOL()、DECIMALS()等不一致的写法,也给合约的外部调用带来了极大的麻烦。存在该类问题的合约超过3000份。
消息人士:FTX、币安和Cross Tower正竞购Voyager,Cross Tower胜算较大:9月27日消息,据知情人士透露,根据前投资银行家和天使投资人 Simon Dixon 公布的细节,加密货币交易所 FTX、币安和 CrossTower 正在竞标收购 Voyager Digital 的破产资产,并各自提出了收购条款和条件。
FTX 和币安均提议为 Voyager 的资产提供约 5000 万美元的现金,Voyager 客户将获得按比例分配的加密资产,并完全过渡到 FTX 和币安平台;CrossTower 提议保留现有的 Voyager 平台和应用程序,现有客户无需过渡到新平台,客户还将按比例获得资产份额。CrossTower 的收购计划还将使该交易所与 Voyager 客户分享其数年的收入。
消息人士还透露,监管可能在谁赢得拍卖方面发挥重要作用。英国金融行为监管局 (FCA) 最近警告 FTX 未经授权经营。同时,在美国,外国投资委员会可能不会允许币安收购 Voyager。另据此前报道,币安和 FTX 各出价 5000 万美元竞购 Voyager 资产被拒。(Cointelegraph)[2022/9/27 22:31:59]
ERC20标准中还规定了Transfer和Approval事件必须在特定场景下触发。很多Token的实现参考了以太坊官网的不标准代码,漏掉触发Approval事件的操作。存在该类问题的合约超过1800份。
ERC20安全问题汇总与分类
Kraken CEO:将阻止与Tornado Cash地址相关的交易:8月17日消息,据报道,Kraken首席执行官Jesse Powell证实该交易平台将阻止与TornadoCash地址相关的交易,不过Jesse Powell反对美国最近对于Tornado Cash相关的地址实施制裁。Jesse Powell在接受彭博社采访时声称个人有权享有财务隐私,并表示许多人其实出于正当理由使用Tornado Cash。
另一方面,Jesse Powell觉得社区的反应可能被夸大了,尽管Tornado Cash的GitHub代码库被删除是不必要的,他觉得本次制裁可能是监管机构对TerraUSD崩溃的下意识反应导致。(彭博社)[2022/8/17 12:29:55]
我们对数万份ERC20Token合约存在的问题进行分析统计,已将所有统计数据上传至Github仓库。
Github仓库地址:https://github.com/sec-bit/awesome-buggy-erc20-tokens
已发现的所有ERC20Token合约安全风险问题被归纳为三大类:代码实现漏洞,不规范问题,权限管理问题。
代码实现漏洞涵盖了合约代码功能实现和逻辑实现上的漏洞,如整数溢出不规范问题涵盖了因代码实现不规范导致版本不兼容或者外部合约调用时的无法不兼容问题,如ERC20接口无返回值权限管理问题涵盖了所有因管理权限设置不当而引发的问题,如owner可以操作任何人账户上的余额
问题列表如下:
在awesome-buggy-erc20-tokens仓库的文章中对每个问题给出了详细描述信息。
如何使用Token合约风险列表
Token合约开发者:本列表提供了详细的问题描述和相关合约列表,希望能够借此提ERC20Token合约开发者的安全意识,避免在后续的合约开发中重复踩坑。DApp项目方:以太坊平台的DApp可能会与多个ERC20Token合约对接。DApp项可以通过本仓库查阅已部署的问题合约的详细信息,获知Token合约存在的问题,避免因Token合约的漏洞或者合约的不兼容问题,给DApp带来不必要的麻烦。其他生态参与者:本列表收录了大量ERC20Token合约存在的风险问题,并记录了市值排名较的672份已部署的Token合约的基本信息和问题详情,大家可以通过查阅本仓库来找到问题合约,了解已部署Token合约存在的风险。
Token列表包含哪些内容
awesome-buggy-erc20-tokens仓库共收录了以太坊上数万份ERC20Token合约中存在的问题。主要包含三部分内容:Token合约的基本信息,问题Token列表,风险问题汇总。
1.合约的基本信息仓库中目前已收录的合约,所有问题合约均来源于此。
另外,仓库中还统计coinmarket网站收录的Token合约的详细信息,包括token的排名,token名称,token缩写符号,总量,小数位数和上线交易所的信息。
2.所有的问题合约列表,列表分别以json和CSV的形式展示,也便于导入表格软件或者编写脚本进行分析。
3.风险问题汇总文件
仓库中共收录了28种合约风险问题,对所有问题的详细信息,包括详细的描述、错误的代码实现示例、推荐修改的代码实现示例、存在该问题的合约列表和对该问题报道的相关链接。
以batchTransfer-overflow问题为例:
声明
本列表信息全部来源于以太坊区块链,etherscan.io,coinmarketcap.io等公开网站上的公开信息本列表所列所有问题均属于已披露的漏洞或缺陷,不包含任何未公开漏洞本列表中存在多个合约Token名称重复现象,请以合约地址为准;Token名称只做参考,可能与知名项目重复,请勿过分解读本列表中的数据可能会存在偏差或遗漏,请大家直接提交更改请求或者通知我们(info@secbit.io)
发起共建计划
awesome-buggy-erc20-tokens仓库由安比实验室持续维护,路印团队提供信息更新支持。并欢迎大家共同参与维护更新工作,共同推进以太坊生态健康发展。参与方式:
提交未被列入的问题ERC20Token合约地址提交新的ERC20Token合约漏洞提供改进建议或参与讨论
同时我们也在寻求更多的力量,来共同开发更友好的前端查询页面,以供大家查询。如果你有其他任何问题或者想法,欢迎加入我们的Gitter参与讨论。
安比实验室与路印合作共建安全可信的以太坊生态,安比实验室团队将担任路印协议的安全顾问,提供合约验证与Token合约审计技术服务。路印协议是基于智能合约的去中心化交易撮合协议,提供100%开源的去中心化交易前后台解决方案。详情请访问路印官网:https://loopring.org
致谢:特别感谢DEx.top团队参与早期列表建设想法的讨论;感谢叶健,ZongminYu,吴玉会,YiTang等人对合约风险列表内容所提供的宝贵意见。
Reference
MarketshareofEthereum-basedtokensgrowsto91%https://medium.com/@amincad/market-share-of-ethereum-based-tokens-grows-to-91-fdefadfd9f6eAdisastrousvulnerabilityfoundinsmartcontractsofBeautyChain(BEC)https://medium.com/secbit-media/a-disastrous-vulnerability-found-in-smart-contracts-of-beautychain-bec-dbf24ddbc30e,Apr23,2018.UnderstandingTheDAOHackforJournalistshttps://medium.com/@pullnews/understanding-the-dao-hack-for-journalists-2312dd43e993,Jun19,2016.SmartMeshAnnouncementonEthereumSmartContractOverflowVulnerabilityhttps://medium.com/smartmesh/smartmesh-announcement-on-ethereum-smart-contract-overflow-vulnerability-f1ded8777720,Apr25,2018.SECBIT:智能合约红色预警:四个Token惊爆逻辑漏洞,归零风险或源于代码复制https://mp.weixin.qq.com/s/lf9vXcUxdB2fGY2YVTauRQ,May24,2018.ERC20智能合约整数溢出系列漏洞披露https://www.secrss.com/articles/3289,Jun12,2018.数千份以太坊Token合约不兼容问题浮出水面,恐严重影响DAPP生态https://mp.weixin.qq.com/s/1MB-t_yZYsJDTPRazD1zAA,Jun8,2018.ERC20智能合约的approve千万别这样写https://mp.weixin.qq.com/s/hYE4nu7FCD_nJH5WMRrXMA,Jun15,2018.Whatwelearnedfromauditingthetop20ERC20tokencontractshttps://blog.cryptofin.io/what-we-learned-from-auditing-the-top-20-erc20-token-contracts-7526ef3b6fb1,Mar28,2018.
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。