Sui Auto Test

🛡️ Move合约测试覆盖率与安全审计

Sui Move智能合约测试覆盖率分析与安全审计工具,自动识别未测试代码、生成缺失测试用例,集成Python脚本解析覆盖率报告。

收藏
6.4k
安装
1.7k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Sui Coverage Skill 是一套专为 Sui 区块链 Move 语言智能合约设计的测试覆盖率分析与自动化改进工具。核心工作流包含三步:首先运行 sui move test --coverage --trace 生成原始覆盖数据,随后使用 analyze_source.py 解析并输出结构化报告(支持 Markdown/JSON 格式),最后根据报告中的未覆盖函数、未触发断言和未遍历分支编写针对性测试用例。

工具集包含三个 Python 脚本:analyze_source.py 为主工具,解析源码级覆盖信息;analyze.py 处理 LCOV 格式统计;parse_bytecode.py 提供字节码级底层分析。支持按模块过滤、路径筛选、仅显示问题文件等灵活配置。

显著优点

1. 自动化程度高:一键生成覆盖缺口清单,大幅降低人工审计成本
2. 安全驱动测试:将安全审计嵌入测试编写过程,主动识别访问控制、整数溢出、状态操控等漏洞模式

3. 完整测试模板:提供覆盖未调用函数、断言失败路径、分支覆盖的标准化代码模板

4. Move 生态原生:深度适配 Sui Move 的 #[test]#[expected_failure] 等测试属性

5. 持续集成友好:支持命令行批处理与 JSON 输出,便于 CI/CD 流水线集成

潜在缺点与局限性

  • 依赖 Sui CLI:需本地安装完整 Sui 工具链,版本兼容性可能影响功能
  • 覆盖率非绝对:100% 行覆盖不等于无漏洞,复杂业务逻辑仍需人工审计
  • Python 环境依赖:分析脚本需 Python 3 运行时,Windows 环境配置可能复杂
  • 错误码硬编码风险expected_failure 中的 abort_code 若模块重构后变更,测试可能失效

适合人群

  • Sui Move 智能合约开发者
  • 区块链安全审计工程师
  • 追求高测试覆盖率的 DeFi 协议团队
  • 需要将安全左移至开发阶段的工程团队

常规风险

  • 测试片面性风险:过度依赖工具生成的测试模板可能导致边缘场景遗漏
  • 安全误报/漏报:工具提示的"可疑模式"需结合业务逻辑判断,不可直接作为漏洞结论
  • 供应链风险:Python 脚本若引入第三方依赖,需验证其安全性
  • 性能损耗--trace 模式在大型合约集上可能显著增加测试执行时间

Sui Auto Test 内容

手动下载zip · 16.0 kB
analyze_source.pytext/plain
请选择文件