用途:这是一份防御性 Solidity 安全资料,目标是帮助开发者与审计者规避 DeFi 中高频出现的安全漏洞。内容通常先给出错误写法,再给出修正写法,代码以 Solidity 0.8.20+ 为主(资料未提供更多版本约束)。
主要能力:涵盖代币精度与单位换算(如 USDC/USDT 为 6 位小数,应链上读取 decimals);定长整数与基点(bps)计算、WAD 数学替代浮点;重入防护的 Checks-Effects-Interactions 与 ReentrancyGuard;对非标准 ERC20 使用 SafeERC20 与 forceApprove;预言机操纵防护,采用 TWAP 或 Chainlink 并做时效与轮次校验;ERC4626 金库通胀攻击的虚拟偏移防护;最小化授权与用后重置;基于角色的访问控制与时间锁;输入校验与自定义错误;MEV 与三明治攻击的滑点、截止时间等缓解手段;UUPS 与透明代理对比、存储布局与存储间隙规则;EIP-712 类型化签名与 nonce 等。
使用方式:按章节对照自身合约逐项排查,用“错误—修正”对照改写实现,必要时引入 OpenZeppelin 的 ReentrancyGuard、SafeERC20、AccessControl、UUPSUpgradeable、EIP712 等组件;在升级前校验存储布局,并结合测试验证。
适用场景:DeFi 协议开发、合约审计准备、代理升级与签名相关实现评审。
限制:资料部分内容在文中被截断(例如 EIP-712 的 executeOrder 实现与部分命令未完整给出),此处不补写;未提供具体价格、收费、平台支持范围与效果数据,亦未给出完整安装命令。