强制发送以太币到智能合约
气体释放不足
重入
整数上溢和下溢
时间戳依赖
通过 tx.origin 授权
浮动编译指示
功能默认可见性
过时的编译器版本
未经检查的调用返回值
无保护的以太币提取
无保护自毁指令
状态变量默认可见性
未初始化的存储指针
断言违规
使用已弃用的函数
将呼叫委托给不受信任的被叫方
签名延展性
错误的构造函数名称
隐藏状态变量
来自链属性的弱随机性来源
缺少针对签名重放攻击的保护
需求验证
写入任意存储位置
不正确的继承顺序
函数类型变量任意跳转
未使用变量的存在
意外的以太币余额
未加密的秘密
错误合约检测
畅通无阻的区块链依赖
不遵守标准
不受保护的回调
从代码大小断言 EOA
交易顺序依赖
具有区块气体限制的 DoS
具有(意外)还原的 DoS
https://github.com/ethereum/wiki/wiki/Safety
https://swcregistry.io/
https://eprint.iacr.org/2016/1007.pdf
https://www.dasp.co/
https://consensys.github.io/smart-contract-best-practices/
https://github.com/sigp/solidity-security-blog
https://solidity.readthedocs.io/en/latest/bugs.html
点击阅读原文即可跳转-(项目地址):
https://github.com/kadenzipfel/smart-contract-vulnerabilities