关于 solidity-auditor
solidity-auditor 是面向合约审查者的 Solidity 智能合约审计技能,涵盖安全、Gas、存储和架构检查,并提供按版本区分的检查项与结构化报告指导。
主要功能
- 01按请求选择审计范围
- 02按 Solidity 版本检查漏洞
- 03审查 Gas 与存储优化
- 04评估架构和攻击面
- 05整理分级审计发现
适用场景
- 01检查合约安全漏洞
- 02寻找 Gas 或存储优化空间
- 03评估 DeFi 协议架构
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ schwepps/ skills --skill solidity-auditor安装后在 Claude Code 中输入/solidity-auditor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/architecture-review.mdgas-optimization.mdreport-template.mdsecurity-checklist.mdstorage-optimization.mdversion-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:准备
-
确定 Solidity 版本:检查 pragma 声明。阅读
references/version-specific.md,了解特定版本的注意事项:- 低于 0.8.0:检查是否使用 SafeMath,以及是否存在算术漏洞
- 0.8.0 及以上:审查
unchecked代码块,并检查自定义错误的使用情况
-
了解审计范围:
- 列出所有合约、接口和库
- 识别外部依赖项(OpenZeppelin 等)
- 记录继承层级
- 记录入口点(external/public 函数)
-
收集背景信息:如果用户未提供,请询问:
- 协议用途和预期行为
- 部署链
- 预期的用户操作流程
- 管理员角色和权限
阶段 2:静态分析
-
运用安全检查清单中的模式进行自动化检查:
- 访问控制模式
- 状态变更操作流程(检查-生效-交互)
- 外部调用模式
- 算术运算(尤其是
unchecked代码块中的运算)
-
梳理攻击面:
- External/public 函数
- 处理 ETH/代币的函数
- 受访问控制的函数
- 升级机制
阶段 3:漏洞评估
阅读 references/security-checklist.md 并评估以下各类别:
严重优先级(优先检查):
- 访问控制漏洞(OWASP SC-01)——损失超过 9.53 亿美元
- 逻辑错误(OWASP SC-02)——损失超过 6,400 万美元
- 重入攻击(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),包含实际损失:
- 访问控制($953.2M):缺少或错误的修饰符、暴露的管理员功能
- 逻辑错误($63.8M):有缺陷的业务逻辑、错误的计算
- 重入($35.7M):在外部调用后更新状态
- 闪电贷($33.8M):价格操纵、治理攻击
- 输入验证($14.6M):缺少范围检查、未检查的参数
- 预言机操纵($8.8M):TWAP 操纵、价格过时
输出指南
始终提供:
- 清晰的发现标题,注明严重程度
- 位置:合约名称、函数、行号
- 描述:问题所在
- 影响:潜在后果
- 概念验证:如何利用该问题(适用时)
- 建议:包含代码示例的具体修复方案
尽可能将建议写成可执行的代码更改。
参考文件
根据审计类型按需加载:
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- 专业审计报告模板