SWC Registry是以太坊安全人员和开发人员的必备知识库。它是SmartContractSecurity提供的以太坊智能合约安全漏洞分类及测试用例集,其中包含了37种以太坊Solidity智能合约开发中常见的安全问题的描述及后果,例如重入、溢出等,同时也给出了CWE漏洞分类、解决方案和作为示例的合约程序代码。
用自己熟悉的语言学习 以太坊DApp开发 :Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart
SWC以太坊智能合约漏洞库清单如下:
- SWC-100:未声明函数可见性
- SWC-101:整数溢出
- SWC-102:使用过时的编译器
- SWC-103:未锁定的pragma声明
- SWC-104:未检查的调用范围值
- SWC-105:无保护的以太币提款
- SWC-106:无保护的SELFDESTRUCT指令
- SWC-107:重入漏洞
- SWC-108:未声明状态变量可见性
- SWC-109:未初始化的存储指针
- SWC-110:触发assert断言
- SWC-111:使用过时的solidity函数
- SWC-112:委托调用非可信合约
- SWC-113:失败调用引发的DoS攻击
- SWC-114:交易顺序依赖
- SWC-115:利用tx.origin授权
- SWC-116:使用区块值作为时间计量
- SWC-117:签名的非唯一性
- SWC-118:错误的构造函数名
- SWC-119:影子状态变量
- SWC-120:基于链属性的弱随机性
- SWC-121:未保护签名重放攻击
- SWC-122:缺乏适当的签名验证
- SWC-123:违反require要求
- SWC-124:写入任意存储位置
- SWC-125:不正确的继承顺序
- SWC-126:gas不足
- SWC-127:函数类型变量任意跳转
- SWC-128:利用区块gas限制的DoS攻击
- SWC-129:笔误
- SWC-130:使用反向控制字符
- SWC-131:存在未使用的变量
- SWC-132:依赖于以太币余额的逻辑
- SWC-133:变长参数导致的哈希冲突
- SWC-134:硬编码gas用量的消息调用
- SWC-135:无效代码
- SWC-136:未加密的链上私人数据
-- 原文链接:SWC智能合约漏洞库 — 汇智网