name: code-maturity-assessor description: 使用Trail of Bits的9个类别框架进行系统性代码成熟度评估。分析代码库的算术安全、审计实践、访问控制、复杂性、去中心化、文档、MEV风险、低级代码和测试。生成专业的评分卡,基于证据的评分和可操作的推荐。
代码成熟度评估器
目的
使用Trail of Bits的9个类别框架系统地评估代码库成熟度。提供基于证据的评分和可操作的推荐。
框架: Building Secure Contracts - Code Maturity Evaluation v0.1.0
工作原理
阶段1: 发现
探索代码库以了解:
- 项目结构和平台
- 合同/模块文件
- 测试覆盖率
- 文档可用性
阶段2: 分析
对于每个9个类别,我将:
- 搜索代码查找相关模式
- 读取关键文件评估实现
- 呈现发现并提供文件引用
- 询问澄清问题关于在代码中看不到的过程
- 确定评分基于标准
阶段3: 报告
生成:
- 执行摘要
- 成熟度评分卡(所有9个类别的评分)
- 详细分析及证据
- 优先级排序的改进路线图
评分系统
- 缺失 (0): 不存在/未实现
- 弱 (1): 需要几个显著改进
- 中等 (2): 足够,可以改进
- 满意 (3): 高于平均,有小的改进空间
- 强 (4): 优秀,只有小的改进可能
评分逻辑:
- 任何“弱”标准 → 弱
- 没有“弱” + 一些“中等”未满足 → 中等
- 所有“中等” + 一些“满意”满足 → 满意
- 所有“满意” + 卓越实践 → 强
9个类别
我评估9个全面类别,涵盖代码成熟度的所有方面。详细标准、分析方法和评分阈值,请见ASSESSMENT_CRITERIA.md。
快速参考:
1. 算术
- 溢出保护机制
- 精度处理和舍入
- 公式规范
- 边缘情况测试
2. 审计
- 事件定义和覆盖
- 监控基础设施
- 事件响应规划
3. 认证/访问控制
- 权限管理
- 角色分离
- 访问控制测试
- 密钥泄露场景
4. 复杂性管理
- 函数范围和清晰度
- 圈复杂度
- 继承层次结构
- 代码重复
5. 去中心化
- 中心化风险
- 升级控制机制
- 用户选择退出路径
- 时间锁/多重签名模式
6. 文档
- 规范和架构
- 内联代码文档
- 用户故事
- 领域术语表
7. 交易排序风险
- MEV漏洞
- 前序保护
- 滑点控制
- 预言机安全
8. 低级操作
- 汇编使用
- 不安全代码部分
- 低级调用
- 理由和测试
9. 测试与验证
- 测试覆盖率
- 模糊测试和形式验证
- CI/CD集成
- 测试质量
完整评估标准包括我将分析的内容、我会问的问题以及详细评分阈值(弱/中等/满意/强),请见ASSESSMENT_CRITERIA.md。
示例输出
当评估完成时,您将收到一个全面的成熟度报告,包括:
- 执行摘要: 整体评分、前3个优点、前3个关键差距、优先级推荐
- 成熟度评分卡: 表格显示所有9个类别的评分和备注
- 详细分析: 逐类别细分及证据(文件:行引用)
- 改进路线图: 优先级排序的推荐(关键/高/中),并附有工作量估计
完整示例评估报告,请见EXAMPLE_REPORT.md。
评估过程
当调用时,我将:
- 探索代码库
- 找到合同/模块文件
- 识别测试文件
- 定位文档
- 分析每个类别
- 搜索相关代码模式
- 读取关键实现
- 根据标准评估
- 收集证据
- 交互式评估
- 呈现我的发现并提供文件引用
- 询问在代码中看不到的过程
- 讨论边界情况
- 一起确定评分
- 生成报告
- 执行摘要
- 成熟度评分卡表格
- 详细类别分析及证据
- 优先级排序的改进路线图
合理化(不要跳过)
| 合理化 | 为什么是错误的 | 必需的行动 |
|---|---|---|
| “找到一些发现,评估完成” | 评估需要评估所有9个类别 | 完成所有9个类别的评估,并为每个提供证据 |
| “我看到事件,审计类别看起来不错” | 事件本身不等于审计成熟度 | 检查日志完整性、测试、事件响应过程 |
| “代码看起来简单,复杂性低” | 视觉简单掩盖了组合复杂性 | 分析圈复杂度、依赖深度、状态机转换 |
| “不是DeFi协议,MEV类别不适用” | MEV超出DeFi(治理、NFT、游戏) | 在声明不适用之前,通过交易排序分析验证 |
| “没有找到汇编,低级类别不适用” | 低级风险包括外部调用、delegatecall、内联汇编 | 在跳过类别之前搜索所有低级模式 |
| “这花费太长时间了” | 全面评估需要每个类别的时间 | 完成所有9个类别,询问关于链下过程的澄清问题 |
| “我可以在没有证据的情况下评分” | 没有文件:行引用的评分=未经证实的声称 | 为每个类别评估收集具体代码证据 |
| “用户会知道如何改进” | 模糊指导=没有行动 | 提供优先级排序的路线图,包括具体改进和工作量估计 |
报告格式
详细报告结构和模板,请见REPORT_FORMAT.md。
结构:
- 执行摘要
- 项目名称和平台
- 整体成熟度(平均评分)
- 前3个优点
- 前3个关键差距
- 优先级推荐
- 成熟度评分卡
- 表格显示所有9个类别
- 评分和分数
- 关键发现备注
- 详细分析
- 按类别细分
- 证据及文件:行引用
- 差距和改进行动
- 改进路线图
- 关键(立即)
- 高(1-2个月)
- 中(2-4个月)
- 工作量估计和影响
准备开始
预计时间: 30-40分钟
我需要:
- 访问完整代码库
- 您对过程的了解(监控、事件响应、团队实践)
- 项目上下文(DeFi、NFT、基础设施等)
让我们开始评估这个代码库!