Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

智能合约安全基础模型

本章梳理以太坊智能合约开发中的经典漏洞模型、底层触发机理与基础防护模式。

在以太坊虚拟机(EVM)与 Solidity 开发早期,大多数严重安全事件源于代码层面的边界校验疏漏、不安全的外部调用以及基本的算术假设失效。本部分重点解构 8 类经典漏洞的单点复现与通用防御:

  • 重入攻击:单函数内状态更新滞后于底层 call 调用,通过递归回调抽干合约资金。
  • 权限控制:未配置访问控制修饰器、函数修饰器执行流反转或特权密钥泄露。
  • DoS 攻击:无界循环耗尽 Gas、外部转账失败阻断关键业务流转(Push 模式缺陷)。
  • 整数溢出:Solidity 0.8 之前的算术回绕模型及 SafeMath 的防护边界。
  • 授权竞争:ERC-20 approve 接口在广播修改额度时的内存池前置抢跑利用。
  • 预言机操纵与闪电贷:依赖 DEX 瞬时现货储备作为定价依据,遭闪电贷大额 Swap 破坏抵押品估值。
  • 签名滥用与重放:缺少 Nonce、缺失 ChainId 隔离、椭圆曲线签名延展性(Malleability)利用。
  • 可升级代理漏洞:实现合约与代理合约存储槽位直接重叠、未受保护的公开初始化函数。

更深层次的跨合约中间态暴露、EIP-1153 瞬态存储鉴权、ERC-4626 金库通胀与编译器底层缺陷,参见 进阶机制与复合风险。