SuperAPI AI 工具集

review-sui-contracts

安全与审计

查看项目

更新于 10-16 03:11

技能介绍

用途:审查已存在的 Sui Move 代码如何集成 OpenZeppelin Contracts for Sui,判断是否按库自身模式与约定正确使用链上原语,并指出偏离示例、文档注释和已记录约定的地方。该技能只审查已有代码,不做构建或脚手架;集成开发用 develop-secure-contracts,项目搭建用 setup-sui-contracts。

建立参照:不能凭记忆判断对错,需先从库自身元数据中获取正确模式。按 develop-secure-contracts 定义的发现链,从 Move.lock 解析每个 OZ 依赖的固定 rev,读取该版本的原语 API、行为与文档注释;库级文档(llms.txt、catalogs、ARCHITECTURE.md、STYLEGUIDE.md)则从仓库当前 main 读取。每个原语的权威模式来源:包的 examples/,否则用模块头文档注释中的惯用法块;模块文档注释与生成的 API 参考;ARCHITECTURE.md 与 STYLEGUIDE.md。

审查内容:OZ 原语使用是否正确(是否传递组件定义的 capability/witness、参数是否正确、是否处理文档记录的 abort 条件);类型参数的选定者与正确性(调用方自选类型意味着调用方掌握权限,可信方应固定类型;用低权限角色 Auth 保护高权限操作属于提权缺陷);是否偏离参照模式;是否复制库源码而非通过 MVR 导入;是否维护 OZ 组件记录的不变量;测试是否覆盖 abort 与分支路径;能力处理、舍入、对象所有权、初始化等已知问题类别。

代码质量:将 OpenZeppelin Sui 约定作为一级审查维度,违规按 findings 报告。依据 STYLEGUIDE.md 与 .claude/commands/code-quality.md。Lint 不可跳过,使用项目的 --build-env 与 --lint,警告必须修复,不能用 #[allow(...)] 抑制;每条违规对应 STYLEGUIDE.md 章节。

报告前验证:对每条发现尝试反驳,引用确切行、确认是真实偏离而非有意记录的取舍、并能给出一行修复;不满足则丢弃,并保持较高严重度门槛。

输出:一份审查,findings 按严重度排序,格式为 file:line — 问题 → 修复 — 所偏离的 OZ 示例或文档注释;可含简短前言(范围/边界、构建/测试/lint 状态),干净集成可用一行“verified and cleared”。若项目能构建,先运行其检查(sui move build / test),构建失败与模式发现分开报告。

边界:只审查集成方代码如何使用库,不审查 OZ 库内部;不是安全审计,无完整威胁建模或完备性保证,生产代码建议正式审计。