- 0
- 0
- 约3.42万字
- 约 23页
- 2026-03-17 发布于广东
- 举报
以太坊智能合约审计CheckList
作者:知道创宇404区块链安全研究团队
时间:2018.11.12
在以太坊合约审计checkList中,我将以太坊合约审计中遇到的问题分为5大种,包括编码规范问题、设计缺陷问题、编码安全问题、编码设计问题、编码问题隐患。其中涵盖了超过29种会出现以太坊智能合约审计过程中遇到的问题。帮助智能合约的开发者和安全工作者快速入门智能合约安全。
本CheckList在完成过程中参考并整理兼容了各大区块链安全研究团队的研究成果,CheckList中如有不完善/错误的地方也欢迎大家提issue.
由于本文的目的主要是CheckList,所以文中不会包含太详细的漏洞/隐患信息,大部分漏洞分析在扫描报告中会有所提及。
以太坊智能合约审计CheckList目录
以太坊智能合约审计CheckList
以太坊合约审计checkList
1、编码规范问题
(1)编译器版本
(2)构造函数书写问题
(3)返回标准
(4)事件标准
(5)假充值问题
2、设计缺陷问题
(1)approve授权函数条件竞争
(2)循环Dos问题
[1]循环消耗问题
真实世界事件
[2]循环安全问题
3、编码安全问题
(1)溢出问题
[1]算术溢出
真实世界事件
[2]铸币烧币溢出问题
真实世界事件
(2)重入漏洞
真实世界事件
(3)call注入
真实世界事件
(4)权限控制
真实世界事件
(5)重放攻击
4、编码设计问题
(1)地址初始化问题
(2)判断函数问题
(3)余额判断问题
(4)转账函数问题
(5)代码外部调用设计问题
(6)错误处理
(7)弱随机数问题
真实世界事件
(8)变量覆盖问题
5、编码问题隐患
(1)语法特性问题
(2)数据私密问题
(3)数据可靠性
(4)gas消耗优化
(5)合约用户
(6)日志记录
(7)回调函数
(8)Owner权限问题
(9)用户鉴权问题
(10)条件竞争问题
真实世界事件
(11)未初始化的储存指针
(12)「输入假名」问题
真实世界事件
以太坊合约审计checkList审计系列报告
REF
1、编码规范问题
(1)编译器版本
合约代码中,应指定编译器版本。建议使用最新的编译器版本
pragmasolidity^0.4.25;
老版本的编译器可能会导致各种已知的安全问题,例如/631/#44-dividenddistributor
v0.4.23更新了一个编译器漏洞,在这个版本中如果同时使用了两种构造函数,即
contracta{
functiona()public{
...
}
constructor()public{
...
}
}
会忽略其中的一个构造函数,该问题只影响v0.4.22
v0.4.25修复了下面提到的未初始化存储指针问题。
https://etherscan.io/solcbuginfo
(2)构造函数书写问题
对应不同编译器版本应使用正确的构造函数,否则可能导致合约所有者变更
在小于0.4.22版本的solidify编译器语法要求中,合约构造函数必须和合约名字相等,名字受到大小写影响。如:
contractOwned{
functionOwned()public{
}
在0.4.22版本以后,引入了constructor关键字作为构造函数声明,但不需要function
contractOwned{
constructor()public{
}
如果没有按照对应的写法,构造函数就会被编译成一个普通函数,可以被任意人调用,会导致owner权限被窃取等更严重的后果。
(3)返回标准
遵循ERC20规范,要求transfer、approve函数应返回bool值,需要添加返回值代码
functiontransfer(address_to,uint256_value)publicreturns(boolsuccess)
而transferFrom返回结果应该和transfer返回结果一致。
(4)事件标准
遵循ERC20规范,要求transfer、approve函数触发相应的事件
functionapprove(address_spender,uint256_value)publicreturns(boolsucces
您可能关注的文档
最近下载
- 人美版美术一年级下册《第一单元 春天的故事》大单元教学设计2026.docx VIP
- 公转私借款合同范本.docx VIP
- IATF16949:2016中文版本含ISO9001全文依据2025年11月SI更新(包括SI1-30).pdf
- 4.成人斯蒂尔病诊疗指南2025版.pptx
- 第一单元《春天的故事》大单元(教学设计)人美版2025美术一年级下册.docx VIP
- ISO42001-2023人工智能管理体系程序文件.docx VIP
- 一种火炬排放系统密封器.pdf VIP
- 提高住院患者大小便标本送检率PDCA.pptx VIP
- DB61_T 2093.5-2025 猕猴桃生产第5部分:花粉生产.docx VIP
- 无锡市轨道交通工程临时用电监理实施细则.doc VIP
原创力文档

文档评论(0)