SuperAPI AI 工具集

web3-audit

安全与审计

查看项目

更新于 10-15 13:50

技能介绍

用途

web3-audit 是一个面向 Web3 智能合约安全审计的技能,来源为 elementalsouls/claude-bughunter。它把 DeFi 审计中常见的漏洞归纳为 10 个大类,并提供从目标筛选到漏洞复现的一整套工作方法,用于在代码审计或漏洞赏金场景中系统地定位问题。

主要能力

1. 审计前的目标筛选(Pre-dive kill signals) 技能要求在阅读任何代码之前先判断目标是否值得投入,给出量化信号:

  • TVL 低于 500K 时,最高赏金相对投入过低;
  • 简单协议若已有 2 个以上顶级审计(Halborn、ToB、Cyfrin、OpenZeppelin),漏洞可能已被发现;
  • 协议少于 500 行、只有单一 A→B→C 流程时,攻击面极小;
  • 计算公式:max_realistic_payout = min(10% × TVL, program_cap),若低于 10K 则跳过;
  • 软性淘汰条件:当前版本已由 OZ/ToB/Cyfrin 审计且代码库超过 500K 行;
  • 目标评分达到 6/10 才继续(TVL > $10M +2、Immunefi 严重级 >= $50K +2、当前版本无顶级审计 +2、部署不足 30 天 +1、曾审计过该协议 +1、有源码与 natspec 注释 +1、可升级代理 +1)。

2. 十类 DeFi 漏洞的成因与检索

  • 会计状态不同步:两个应保持同步的状态变量,某条路径更新了 A 却漏掉 B,包括幻影收益、快速路径跳过状态更新、更新顺序错误三种变体。
  • 访问控制:同级函数缺少修饰符、存在性检查与所有权检查混淆、使用 if 而非 require 的“静默修饰符”、未初始化的代理。
  • 不完整代码路径:通过“函数族对比测试”,检查 deposit/withdraw 等函数是否互为逆操作,是否遗漏退款或校验。
  • Off-by-one 与边界条件:逐项检查比较符(> 与 >=)、周期边界、时间锁、循环 break、数组下标、金额与精度边界。
  • 预言机与价格操纵:缺少过期检查、缺少置信区间检查、TWAP 过短、单一价格源,并给出对应的正确写法。
  • ERC4626 金库攻击:首个存款人攻击、汇率操纵,以及 shares 转移但不转移锁仓记录导致的冻结。
  • 重入:单函数、跨函数、跨合约、只读重入等变体,并说明 CEI 模式。
  • 闪电贷攻击:通过闪电贷操纵现货价格使协议接受不足额抵押。
  • 签名重放:缺少 nonce 或缺少 chainId 导致签名被重复使用或跨链使用。
  • 代理与升级问题:存储槽冲突、未初始化的实现合约、delegatecall 到用户可控地址。

每一类漏洞都配有真实付费案例(如 Wormhole $10M 未初始化代理、Parity $150M 冻结、VeChain 退出后奖励耗尽等)以及可直接执行的 grep 检索模式,便于在代码库中快速定位可疑位置。

使用方式

该技能以审计流程的形式使用:先按准入信号筛选目标,再依据十类漏洞逐一进行代码审查并使用附带的 grep 命令定位疑点,最后用提供的 Foundry PoC 模板编写复现测试。

PoC 模板包含:

  • vm.createSelectFork("mainnet", BLOCK_NUMBER) 分叉主网;
  • makeAddr 创建攻击者与受害者地址;
  • deal 设置代币余额;
  • vm.startPrank / vm.stopPrank 模拟调用者;
  • 通过 assertGt 验证攻击前后余额变化。

常用 cheatcode 还包括 vm.prank、vm.deal、vm.warp 等。

适用场景

适用于 DeFi 协议智能合约的安全审计与漏洞赏金研究,尤其针对带 TVL 的借贷、金库、跨链桥、质押类合约。

限制

技能中的赏金公式、评分阈值和案例金额均为资料中给出的示例与经验规则,不构成对任何具体项目收益或漏洞存在的保证。具体的收费方式、平台支持范围和集成方式,资料中暂未提供。

安装

资料中暂未提供安装命令。技能页面地址为 https://www.skills.sh/elementalsouls/claude-bughunter/web3-audit 。