mcpField
C
code-maturity-assessor

code-maturity-assessor

github.com/trailofbits测试与质量7.9k7.2k 次安装今天更新
代码仓库

关于 code-maturity-assessor

Code Maturity Assessor 是依据 Trail of Bits 九类框架评估代码库成熟度的技能,面向需要基于证据审查安全与工程实践的团队。它逐类分析代码并结合提问补足代码外的信息,生成评分卡、详细依据和优先级改进路线图。

主要功能

  1. 01探索代码、测试和文档结构
  2. 02按九类框架逐项评估
  3. 03提供带文件引用的发现
  4. 04通过问题补充流程背景
  5. 05生成成熟度评分卡和改进路线图

适用场景

  1. 01评估智能合约或模块的代码成熟度
  2. 02审查测试、文档和访问控制实践
  3. 03整理有证据支撑的改进优先级

安装

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

$npx skills add https://github.com/trailofbits/skills --skill code-maturity-assessor

安装后在 Claude Code 中输入/code-maturity-assessor确认已加载。

包含的文件

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

agents/
openai.yaml
assets/
trail-of-bits-mark.svg
resources/
ASSESSMENT_CRITERIA.md
EXAMPLE_REPORT.md
REPORT_FORMAT.md

详细介绍

代码成熟度评估器

用途

使用 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。


评估流程

调用时,我将:

  1. 探索代码库

    • 查找合约/模块文件
    • 确定测试文件
    • 定位文档
  2. 分析各个类别

    • 搜索相关代码模式
    • 阅读关键实现
    • 根据标准进行评估
    • 收集证据
  3. 交互式评估

    • 展示我的发现及文件引用
    • 询问无法从代码中了解的流程
    • 讨论边界案例
    • 共同确定评级
  4. 生成报告

    • 执行摘要
    • 成熟度评分表
    • 基于证据的详细分类分析
    • 按优先级排序的改进路线图

常见借口(不可跳过)

借口为什么不对必须采取的行动
“找到了一些发现,评估完成了”评估要求审查全部 9 个类别使用每个类别的证据,完成全部 9 个类别的评估
“我看到有事件,审计类别看起来不错”仅有事件并不代表审计成熟度检查日志记录的完整性、测试和事件响应流程
“代码看起来简单,复杂度很低”表面上的简单会掩盖组合复杂性分析圈复杂度、依赖深度和状态机转换
“这不是 DeFi 协议,MEV 类别不适用”MEV 的范围不止 DeFi(治理、NFT、游戏等)在宣布不适用前,先通过交易排序分析进行验证
“没找到汇编,低级类别不适用”低级风险包括外部调用、delegatecall 和内联汇编跳过类别前,搜索所有低级模式
“这花的时间太长了”全面评估需要逐个类别投入时间完成全部 9 个类别,并询问链下流程的澄清问题
“我可以在没有证据的情况下评级”没有文件:行号引用的评级属于未经证实的断言为每个类别的评估收集具体的代码证据
“用户会知道该改进什么”含糊的指导无法转化为行动提供按优先级排序的路线图,列出具体改进和工作量估算

报告格式

详细的报告结构和模板请参阅 REPORT_FORMAT.md。

结构:
  1. 执行摘要

    • 项目名称和平台
    • 整体成熟度(平均评级)
    • 3 大优势
    • 3 大关键缺口
    • 优先级建议
  2. 成熟度评分表

    • 包含全部 9 个类别的表格
    • 评级和分数
    • 关键发现说明
  3. 详细分析

    • 各类别的分析
    • 带文件:行号引用的证据
    • 缺口和改进措施
  4. 改进路线图

    • CRITICAL(立即)
    • HIGH(1-2 个月)
    • MEDIUM(2-4 个月)
    • 工作量估算和影响

准备开始

预计耗时:30-40 分钟

我需要:

  • 访问完整代码库
  • 了解你的流程(监控、事件响应、团队实践)
  • 项目背景(DeFi、NFT、基础设施等)

让我们开始评估这个代码库吧!

评论

支持 Markdown