mcpField
S
solidity-auditor

solidity-auditor

github.com/schwepps安全17192 次安装41 周前更新
代码仓库

关于 solidity-auditor

solidity-auditor 是面向合约审查者的 Solidity 智能合约审计技能,涵盖安全、Gas、存储和架构检查,并提供按版本区分的检查项与结构化报告指导。

主要功能

  1. 01按请求选择审计范围
  2. 02按 Solidity 版本检查漏洞
  3. 03审查 Gas 与存储优化
  4. 04评估架构和攻击面
  5. 05整理分级审计发现

适用场景

  1. 01检查合约安全漏洞
  2. 02寻找 Gas 或存储优化空间
  3. 03评估 DeFi 协议架构

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/schwepps/skills --skill solidity-auditor

安装后在 Claude Code 中输入/solidity-auditor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
architecture-review.md
gas-optimization.md
report-template.md
security-checklist.md
storage-optimization.md
version-specific.md

详细介绍

Solidity 智能合约审计员

专业级智能合约审计技能,涵盖安全漏洞、Gas 优化、存储模式和代码架构,并针对 Solidity 版本的具体特性进行调整。

审计类型

根据用户请求确定审计类型:

用户请求审计类型主要参考资料
“全面审计”、“综合审查”全面审计所有参考资料
“安全审计”、“漏洞扫描”安全专项审计references/security-checklist.md
“Gas 优化”、“降低 Gas 成本”Gas 优化references/gas-optimization.md
“存储优化”、“存储模式”存储优化references/storage-optimization.md
“代码审查”、“架构审查”架构审查references/architecture-review.md
“DeFi 审计”、“协议审查”DeFi 协议审计安全与架构参考资料

核心审计工作流

阶段 1:准备
  1. 确定 Solidity 版本:检查 pragma 声明。阅读 references/version-specific.md,了解特定版本的注意事项:

    • 低于 0.8.0:检查是否使用 SafeMath,以及是否存在算术漏洞
    • 0.8.0 及以上:审查 unchecked 代码块,并检查自定义错误的使用情况
  2. 了解审计范围:

    • 列出所有合约、接口和库
    • 识别外部依赖项(OpenZeppelin 等)
    • 记录继承层级
    • 记录入口点(external/public 函数)
  3. 收集背景信息:如果用户未提供,请询问:

    • 协议用途和预期行为
    • 部署链
    • 预期的用户操作流程
    • 管理员角色和权限
阶段 2:静态分析
  1. 运用安全检查清单中的模式进行自动化检查:

    • 访问控制模式
    • 状态变更操作流程(检查-生效-交互)
    • 外部调用模式
    • 算术运算(尤其是 unchecked 代码块中的运算)
  2. 梳理攻击面:

    • External/public 函数
    • 处理 ETH/代币的函数
    • 受访问控制的函数
    • 升级机制
阶段 3:漏洞评估

阅读 references/security-checklist.md 并评估以下各类别:

严重优先级(优先检查):

  1. 访问控制漏洞(OWASP SC-01)——损失超过 9.53 亿美元
  2. 逻辑错误(OWASP SC-02)——损失超过 6,400 万美元
  3. 重入攻击(OWASP SC-03)——损失超过 3,600 万美元

高优先级: 4. 闪电贷攻击途径(OWASP SC-04) 5. 输入验证(OWASP SC-05) 6. 预言机操纵(OWASP SC-06) 7. 未检查的外部调用(OWASP SC-07)

中优先级: 8. 整数溢出/下溢(取决于版本) 9. 拒绝服务攻击途径 10. 抢先交易漏洞

阶段 4:优化分析(如有请求)

Gas 优化:阅读 references/gas-optimization.md 存储优化:阅读 references/storage-optimization.md

阶段 5:生成报告

使用 references/report-template.md 中的模板组织审计发现。

严重程度分类

严重程度判定标准处理措施
严重可能直接造成资金损失,无需用户交互必须立即修复,切勿部署
高在特定条件下可能造成资金损失,影响重大部署前必须修复
中影响有限、被利用的可能性较低,或涉及治理问题应予以修复并评估风险
低轻微问题,违反最佳实践建议修复
提示性代码质量、Gas 优化或改进建议可选改进

快速参考:主要攻击向量(2024-2025)

数据来源:OWASP Smart Contract Top 10(2025),包含实际损失:

  1. 访问控制($953.2M):缺少或错误的修饰符、暴露的管理员功能
  2. 逻辑错误($63.8M):有缺陷的业务逻辑、错误的计算
  3. 重入($35.7M):在外部调用后更新状态
  4. 闪电贷($33.8M):价格操纵、治理攻击
  5. 输入验证($14.6M):缺少范围检查、未检查的参数
  6. 预言机操纵($8.8M):TWAP 操纵、价格过时

输出指南

始终提供:

  1. 清晰的发现标题,注明严重程度
  2. 位置:合约名称、函数、行号
  3. 描述:问题所在
  4. 影响:潜在后果
  5. 概念验证:如何利用该问题(适用时)
  6. 建议:包含代码示例的具体修复方案

尽可能将建议写成可执行的代码更改。

参考文件

根据审计类型按需加载:

  • references/security-checklist.md - 完整的漏洞检查清单及检测模式
  • references/gas-optimization.md - Gas 优化技术和模式
  • references/storage-optimization.md - 存储布局和优化
  • references/architecture-review.md - 代码架构最佳实践
  • references/version-specific.md - Solidity 版本注意事项
  • references/report-template.md - 专业审计报告模板

评论

支持 Markdown