SuperAPI AI 工具集

smart-contract-security

安全与审计

查看项目

更新于 10-15 14:26

技能介绍

Smart Contract Security 是一个专注于智能合约安全的技能,旨在帮助使用者掌握漏洞检测、审计方法论与事件响应流程。

用途 该技能用于智能合约的安全分析与审计工作,覆盖从漏洞识别、系统化审计到安全事件响应的完整流程。可通过调用方式触发安全分析,例如:Skill("smart-contract-security", topic="vulnerabilities", severity="high")。

主要能力

  1. 常见漏洞识别与防范:包括重入(CEI 模式违规)、访问控制(缺少修饰符)、预言机操纵(闪电贷攻击)、整数问题(精度损失)。
  2. 审计方法论:提供系统化审查流程,涵盖人工逐行审查、静态分析自动化工具、基于属性的模糊测试、数学证明的形式化验证。
  3. 安全工具:介绍 Slither(快速静态分析)、Mythril(符号执行)、Foundry(模糊测试、不变量测试)、Certora(形式化验证)。
  4. 事件响应:处理安全事件,包括分级(评估严重性)、缓解(紧急操作)、复盘(根因分析)、披露(负责任报告)。

漏洞速查示例 技能中给出多类漏洞的易受攻击与修复代码对照,包括:

  • 严重:重入。易受攻击写法在调用后才扣减余额,修复采用 CEI 模式,先扣减再调用。
  • 高危:缺少访问控制。setAdmin 未加 onlyOwner 修饰符,修复为添加 onlyOwner。
  • 高危:未检查返回值。直接调用 transfer 忽略返回值,修复为使用 SafeERC20 的 safeTransfer。
  • 中危:精度损失。先除后乘导致精度丢失,修复为先乘后除。

审计清单 技能提供审计清单,分为:

  • 审计前:代码无警告编译、测试通过且覆盖良好、文档已审查。
  • 核心安全:遵循 CEI 模式、存在重入防护、管理函数有访问控制、输入验证完整。
  • DeFi 专项:预言机陈旧检查、滑点保护、闪电贷抗性、防三明治攻击。

安全工具用法

  • 静态分析:Slither 命令 slither . --exclude-dependencies;Mythril 命令 myth analyze src/Contract.sol;Semgrep 命令 semgrep --config "p/smart-contracts" .
  • 模糊测试:提供 Foundry 模糊测试示例,使用 bound 限定输入范围并断言余额变化。
  • 不变量测试:提供 invariant_BalancesMatchTotalSupply 示例,校验余额总和与总供应量一致。

严重性分级 技能给出分级参考:严重(直接资金损失,如重入、未保护初始化)、高危(重大损害,如访问控制、预言机操纵)、中危(条件性影响,如精度损失、时序问题)、低危(次要问题,如缺少事件、命名)。

事件响应流程

  1. 检测:使用 cast logs 监控可疑活动。
  2. 缓解:提供紧急暂停函数示例,仅限所有者调用。
  3. 恢复:评估损害范围、协调披露、部署经审计的修复。

常见陷阱 技能列出常见陷阱及预防:仅测试正常路径(应模糊测试边界)、忽略集成(应审查所有依赖)、信任 block.timestamp(仅用于长时间范围)。

适用场景 适用于 Solidity 智能合约开发、DeFi 协议安全审计、安全事件响应等场景。

限制 该技能为安全分析与审计辅助,不替代专业审计;具体工具版本、平台支持、收费与价格等信息暂未提供。