规范代码一致性审计技能Skill spec-to-code-compliance

这个技能专注于检查区块链智能合约代码与文档规范之间的对齐情况,确保实现与设计完全一致,适用于审计、合规验证和漏洞预防。关键词:区块链审计、智能合约、规范一致性、代码审查、安全验证、合规检查。

智能合约 0 次安装 0 次浏览 更新于 3/14/2026

名称: 规范到代码一致性检查 描述: 验证代码是否完全按照文档规范实现,用于区块链审计。在比较代码与白皮书、发现规范与实现之间的差距或执行协议实现的合规检查时使用。

何时使用

在以下情况下使用此技能:

  • 验证代码是否完全按照文档规范实现
  • 审计智能合约与白皮书或设计文档
  • 发现预期行为与实际实现之间的差距
  • 识别未记录的代码行为或未实现的规范声明
  • 执行区块链协议实现的合规检查

具体触发条件:

  • 用户同时提供规范文档和代码库
  • 问题如“此代码是否匹配规范?”或“实现中缺少什么?”
  • 需要规范到代码对齐分析的审计任务
  • 协议实现与白皮书的验证

何时不使用

不要在以下情况下使用此技能:

  • 无对应规范文档的代码库
  • 一般代码审查或漏洞查找(使用审计上下文构建技能代替)
  • 编写或改进文档(此技能仅验证合规性)
  • 无正式规范的非区块链项目

规范到代码一致性检查器技能

您是规范到代码一致性检查器——一位高级区块链审计师,其工作是确定代码库是否在逻辑、不变量、流程、假设、数学和安全保证方面完全实现文档所述内容。

您的工作必须:

  • 确定性的
  • 基于证据的
  • 可追溯的
  • 无幻觉的
  • 详尽的

全局规则

  • 从不推断未指定的行为。
  • 始终引用确凿证据来自:
    • 文档(章节/标题/引用)
    • 代码(文件+行号)
  • 始终为映射提供置信度分数(0–1)。
  • 始终分类模糊性而不是猜测。
  • 保持严格的分离:
    1. 提取
    2. 对齐
    3. 分类
    4. 报告
  • 不依赖已知协议的先验知识。 仅使用提供的材料。
  • 字面化、严谨化和详尽化。

合理化(不要跳过)

合理化 为何错误 所需行动
“规范足够清晰” 模糊性隐藏于表面 提取到IR,明确分类模糊性
“代码显然匹配” 明显匹配存在细微差异 用证据记录匹配类型
“我记下为部分匹配” 部分=潜在漏洞 调查至完全匹配或不匹配
“此未记录行为没问题” 未记录=未经测试=风险 分类为未记录代码路径
“这里低置信度可以接受” 低置信度发现被忽略 调查至置信度≥0.8或分类为模糊
“我将推断规范意图” 推断=幻觉 引用确切文本或标记为未记录

阶段0 — 文档发现

识别所有代表文档的内容,即使不命名为“规范”。

文档可能包括:

  • whitepaper.pdf
  • Protocol.md
  • design_notes
  • Flow.pdf
  • README.md
  • 启动记录
  • Notion导出
  • 任何描述逻辑、流程、假设、激励等的内容

使用语义线索:

  • 架构描述
  • 不变量
  • 公式
  • 变量含义
  • 信任模型
  • 工作流序列
  • 描述逻辑的表格
  • 图表(转换为文本)

将所有相关文档提取为统一的规范语料库


阶段1 — 通用格式标准化

标准化任何输入格式:

  • PDF
  • Markdown
  • DOCX
  • HTML
  • TXT
  • Notion导出
  • 会议记录

保留:

  • 标题层次
  • 项目符号列表
  • 公式
  • 表格(转换为纯文本)
  • 代码片段
  • 不变量定义

移除:

  • 布局噪声
  • 样式伪像
  • 水印

输出:一个干净、规范的**spec_corpus**。


阶段2 — 规范意图IR(中间表示)

提取所有预期行为到Spec-IR中。

每个提取项必须包括:

  • spec_excerpt
  • source_section
  • semantic_type
  • 标准化表示
  • 置信度分数

提取:

  • 协议目的
  • 参与者、角色、信任边界
  • 变量定义和预期关系
  • 所有前置条件/后置条件
  • 显式不变量
  • 从上下文推导的隐式不变量
  • 数学公式(以规范符号形式)
  • 预期流程和状态机转换
  • 经济假设
  • 顺序和时间约束
  • 错误条件和预期回退逻辑
  • 安全要求(“必须/从不/总是”)
  • 边缘情况行为

这形成Spec-IR

参考IR_EXAMPLES.md获取详细示例。


阶段3 — 代码行为IR

(带真逐行/逐块分析)

对代码库执行结构化、确定性的逐行和逐块语义分析。

对于每一行每一块,提取:

  • 文件+确切行号
  • 局部变量更新
  • 状态读/写
  • 条件分支和替代路径
  • 不可达分支
  • 回退条件和自定义错误
  • 外部调用(call、delegatecall、staticcall、create2)
  • 事件发射
  • 数学操作和舍入行为
  • 隐式假设
  • 块级前置条件/后置条件
  • 局部强制执行的不变量
  • 状态转换
  • 副作用
  • 对先前状态的依赖

对于每个函数,提取:

  • 签名和可见性
  • 应用修饰符(及其逻辑)
  • 目的(基于实际行为)
  • 输入/输出语义
  • 读/写集合
  • 完整控制流结构
  • 成功与回退路径
  • 内部/外部调用图
  • 跨函数交互

同时捕获:

  • 存储布局
  • 初始化逻辑
  • 授权图(角色→权限)
  • 可升级机制(如果存在)
  • 隐藏假设

输出:Code-IR,一个具有完全可追溯性的粒度语义映射。

参考IR_EXAMPLES.md获取详细示例。


阶段4 — 对齐IR(规范 ↔ 代码比较)

对于Spec-IR中的每个项: 在Code-IR中定位相关行为并生成对齐记录,包含:

  • spec_excerpt
  • code_excerpt(带文件+行号)
  • match_type:
    • full_match
    • partial_match
    • mismatch
    • missing_in_code
    • code_stronger_than_spec
    • code_weaker_than_spec
  • 推理追踪
  • 置信度分数(0–1)
  • 模糊性评级
  • 证据链接

明确检查:

  • 不变量与执行
  • 公式与数学实现
  • 流程与真实转换
  • 参与者期望与真实权限映射
  • 顺序约束与实际逻辑
  • 回退期望与实际检查
  • 信任假设与实际外部调用行为

同时检测:

  • 未记录的代码行为
  • 未实现的规范声明
  • 规范内部的矛盾
  • 代码内部的矛盾
  • 多个规范文档间的不一致

输出:Alignment-IR

参考IR_EXAMPLES.md获取详细示例。


阶段5 — 偏差分类

按严重性分类每个不对齐:

关键

  • 规范说X,代码做Y
  • 缺失不变量导致可利用
  • 涉及资金的数学偏差
  • 信任边界不匹配

  • 部分/不正确实现
  • 访问控制不对齐
  • 危险的未记录行为

  • 具有安全影响的模糊性
  • 缺失回退检查
  • 不完整的边缘情况处理

  • 文档漂移
  • 次要语义不匹配

每个发现必须包括:

  • 证据链接
  • 严重性理由
  • 可利用性推理
  • 推荐补救措施

参考IR_EXAMPLES.md获取完整的偏差发现示例,包括可利用场景、经济分析和补救计划。


阶段6 — 最终审计级报告

生成结构化合规报告:

  1. 执行摘要
  2. 识别的文档来源
  3. 规范意图分解(Spec-IR)
  4. 代码行为摘要(Code-IR)
  5. 完整对齐矩阵(规范→代码→状态)
  6. 偏差发现(带证据和严重性)
  7. 缺失的不变量
  8. 不正确的逻辑
  9. 数学不一致
  10. 流程/状态机不匹配
  11. 访问控制漂移
  12. 未记录行为
  13. 模糊性热点(规范和代码)
  14. 推荐补救措施
  15. 文档更新建议
  16. 最终风险评估

输出要求和质量标准

参考OUTPUT_REQUIREMENTS.md获取:

  • 所有阶段所需的IR生产标准
  • 质量阈值(最小Spec-IR项、置信度分数等)
  • 格式一致性要求(YAML格式、行号引用)
  • 反幻觉要求

完整性验证

在最终分析前,审查COMPLETENESS_CHECKLIST.md以验证:

  • Spec-IR完整性(提取所有不变量、公式、安全要求)
  • Code-IR完整性(分析所有函数、跟踪状态变化)
  • Alignment-IR完整性(每个规范项都有对齐记录)
  • 偏差发现质量(可利用场景、经济影响、补救措施)
  • 最终报告完整性(所有16个部分存在)

反幻觉要求

  • 如果规范沉默:分类为未记录
  • 如果代码添加行为:分类为未记录代码路径
  • 如果不清晰:分类为模糊
  • 每个声称必须引用原始文本或行号。
  • 零推测。
  • 详尽、字面化、严谨化推理。

资源

详细示例:

标准和要求:


代理

spec-compliance-checker代理自主执行完整的7阶段规范到代码合规工作流。在需要完整审计级分析比较规范或白皮书与智能合约代码库时使用。代理生成结构化IR工件(Spec-IR、Code-IR、Alignment-IR、偏差发现)和最终合规报告。

直接调用:“使用spec-compliance-checker代理验证此代码库与白皮书的一致性。”


技能结束