深度上下文构建技能Skill audit-context-building

该技能用于在代码审计中,通过超细粒度的逐行代码分析,构建深度系统上下文,确保在漏洞发现前有全面和准确的理解。适用于安全审计、架构审查和威胁建模阶段,专注于上下文构建而非漏洞识别。关键词:代码审计、上下文构建、逐行分析、安全审计、架构理解、威胁建模、深度分析、第一性原理、5个为什么、5个如何。

安全审计 0 次安装 0 次浏览 更新于 3/14/2026

名称: 审计上下文构建 描述: 在漏洞或错误发现之前,启用超细粒度、逐行代码分析以构建深度架构上下文。

深度上下文构建技能(超细粒度纯上下文模式)

1. 目的

该技能控制在审计的上下文构建阶段 Claude 如何思考

当激活时,Claude 将:

  • 默认执行 逐行/逐块 代码分析。
  • 在微观尺度上应用 第一性原理5个为什么5个如何
  • 持续链接洞察 → 函数 → 模块 → 整个系统。
  • 维护一个稳定、明确的心智模型,随新证据演化。
  • 识别不变量、假设、流和推理风险。

该技能定义了结构化分析格式(见下文示例:函数微观分析),并在 漏洞狩猎阶段之前 运行。


2. 何时使用此技能

使用当:

  • 在错误或漏洞发现前需要深度理解。
  • 希望自底向上理解而不是高层级猜测。
  • 减少幻觉、矛盾和环境丢失至关重要。
  • 准备安全审计、架构审查或威胁建模。

不要 用于:

  • 漏洞发现
  • 修复建议
  • 利用推理
  • 严重性/影响评级

3. 此技能的行为方式

当激活时,Claude 将:

  • 默认对每个块和行进行 超细粒度分析
  • 应用微观层级的第一性原理、5个为什么和5个如何。
  • 构建和精炼持久的全局心智模型。
  • 当假设被矛盾时更新早期假设(“之前我以为 X;现在 Y。”)。
  • 定期锚定摘要以维持稳定上下文。
  • 避免推测;需要时明确表达不确定性。

目标:深度、准确的理解,而非结论。


合理化(不要跳过)

合理化 为什么错误 必需行动
“我理解了大意” 大意级理解会错过边缘情况 需要逐行分析
“这个函数简单” 简单函数组合成复杂错误 无论如何应用5个为什么
“我会记住这个不变量” 你不会。环境会退化。 明确写下来
“外部调用可能没问题” 外部 = 对抗性,直到证明否则 跳入代码或建模为敌对
“我可以跳过这个助手” 助手包含传播的假设 跟踪完整调用链
“这太耗时了” 仓促的环境 = 后来的幻觉漏洞 慢即是快

4. 阶段 1 — 初始定位(自底向上扫描)

在深度分析前,Claude 执行最小映射:

  1. 识别主要模块/文件/合约。
  2. 注意明显的公共/外部入口点。
  3. 识别可能的参与者(用户、所有者、中继者、预言机、其他合约)。
  4. 识别重要存储变量、字典、状态结构或单元格。
  5. 构建初步结构而不假设行为。

这为详细分析建立锚点。


5. 阶段 2 — 超细粒度函数分析(默认模式)

每个非平凡函数接受完整的微观分析。

5.1 每函数微观结构清单

对于每个函数:

  1. 目的

    • 为什么函数存在及其在系统中的角色。
  2. 输入与假设

    • 参数和隐含输入(状态、发送者、环境)。
    • 前置条件和约束。
  3. 输出与效果

    • 返回值。
    • 状态/存储写入。
    • 事件/消息。
    • 外部交互。
  4. 逐块/逐行分析 对于每个逻辑块:

    • 它做什么。
    • 为什么出现在这里(排序逻辑)。
    • 依赖什么假设。
    • 建立或维护什么不变量。
    • 后来逻辑依赖什么。

    应用每块:

    • 第一性原理
    • 5个为什么
    • 5个如何

5.2 跨函数与外部流分析

(全面集成跳入外部代码规则)

遇到调用时,继续跨边界的相同微观优先分析。

内部调用

  • 立即跳入被调用者。
  • 执行相关代码的逐块分析。
  • 跟踪数据、假设和不变量的流动: 调用者 → 被调用者 → 返回 → 调用者。
  • 注意被调用者逻辑在此特定调用环境中是否行为不同。

外部调用 — 两种情况

情况 A — 外部调用到代码库中存在的合约 视为内部调用:

  • 跳入目标合约/函数。
  • 继续逐块微观分析。
  • 无缝传播不变量和假设。
  • 基于 实际 代码考虑边缘情况,而非黑盒猜测。

情况 B — 外部调用无可用代码(真正外部/黑盒) 分析为对抗性:

  • 描述发送的有效载荷/值/气体或参数。
  • 识别关于目标的假设。
  • 考虑所有结果:
    • 回滚
    • 不正确/奇怪返回值
    • 意外状态变化
    • 不良行为
    • 重入(如适用)

连续性规则

将整个调用链视为 一个连续执行流。 绝不重置上下文。 所有不变量、假设和数据依赖必须跨调用传播。


5.3 完整分析示例

函数微观分析示例.md 完整演示:

  • DEX 交换函数的完整微观分析
  • 应用第一性原理、5个为什么和5个如何
  • 带不变量和假设的逐块分析
  • 跨函数依赖映射
  • 外部交互的风险分析

此示例演示所有分析函数所需的深度和结构水平。


5.4 输出要求

执行超细粒度分析时,Claude 必须按照 输出要求.md 中定义的格式结构化输出。

关键要求:

  • 目的(至少2-3句)
  • 输入与假设(所有参数、前置条件、信任假设)
  • 输出与效果(返回、状态写入、外部调用、事件、后置条件)
  • 逐块分析(什么、为什么在这里、假设、第一性原理/5个为什么/5个如何)
  • 跨函数依赖(内部调用、带风险分析的外部调用、共享状态)

质量阈值:

  • 每函数至少3个不变量
  • 至少5个假设文档化
  • 外部交互至少3个风险考虑
  • 至少1个第一性原理应用
  • 至少3个5个为什么/5个如何应用组合

5.5 完整性清单

结束函数的微观分析前,对照 完整性清单.md 验证:

  • 结构完整性:所有必需部分存在(目的、输入、输出、逐块、依赖)
  • 内容深度:满足最小阈值(不变量、假设、风险分析、第一性原理)
  • 连续性与集成:交叉引用、传播假设、不变量耦合
  • 抗幻觉:行号引用、无模糊陈述、基于证据的声明

当所有清单项满足且无未解决的“不清楚”项时,分析完成。


6. 阶段 3 — 全局系统理解

足够微观分析后:

  1. 状态与不变量重建

    • 映射每个状态变量的读/写。
    • 推导多函数和多模块不变量。
  2. 工作流重建

    • 识别端到端流(存款、取款、生命周期、升级)。
    • 跟踪状态如何跨这些流转换。
    • 记录跨步骤持续的假设。
  3. 信任边界映射

    • 参与者 → 入口点 → 行为。
    • 识别不受信任输入路径。
    • 特权变化和隐含角色期望。
  4. 复杂性与脆弱性聚类

    • 带许多假设的函数。
    • 高分支逻辑。
    • 多步依赖。
    • 跨模块耦合状态变化。

这些聚类帮助指导漏洞狩猎阶段。


7. 稳定性与一致性规则

(抗幻觉、抗矛盾)

Claude 必须:

  • 绝不重塑证据以适应早期假设。 当矛盾时:

    • 更新模型。
    • 明确陈述更正。
  • 定期锚定关键事实 总结核心:

    • 不变量
    • 状态关系
    • 参与者角色
    • 工作流
  • 避免模糊猜测 使用:

    • “不清楚;需要检查 X。” 代替:
    • “可能…”
  • 不断交叉引用 连接新洞察到先前状态、流和不变量以维持全局一致性。


8. 子代理使用

Claude 可能为以下生成子代理:

  • 密集或复杂函数。
  • 长数据流或控制流链。
  • 加密/数学逻辑。
  • 复杂状态机。
  • 多模块工作流重建。

使用 函数分析器 代理进行每函数深度分析。 它遵循此技能中定义的完整微观结构清单、跨函数流规则和质量阈值,并强制执行纯上下文构建约束。

子代理必须:

  • 遵循相同微观优先规则。
  • 返回Claude集成到其全局模型的摘要。

9. 与其他阶段的关系

此技能在 之前 运行:

  • 漏洞发现
  • 分类/分类
  • 报告写作
  • 影响建模
  • 利用推理

它仅存在以构建:

  • 深度理解
  • 稳定上下文
  • 系统级清晰度

10. 非目标

当激活时,Claude 不应:

  • 识别漏洞
  • 提议修复
  • 生成概念证明
  • 模型利用
  • 分配严重性或影响

这是 纯上下文构建 仅此。