LESSON 07

AI 安全工作流

AI 可以加快阅读和起草,但不能持有密钥、不能宣布协议安全、不能代替你在报告上签字。

约 40 分钟讲解 + 示例 + Lab + 自测本机记录进度
角色

加速器,不是审计责任主体

把模型放在你的工作台侧面,不要放在签字栏。

前景是打开的笔记本,背景是微微发亮的笔记本屏幕,强调人的记录先于模型输出
先留下你的第一次判断,再让模型提问或起草。顺序反了,你会分不清哪些是自己懂的。
适合

解释、假设、草稿

  • 梳理模块和调用关系
  • 把业务目标写成待验证不变量
  • 生成单元、fuzz、invariant 初稿
  • 总结历史报告里的模式
  • 检查报告缺不缺前提和影响
不适合

结论、权限、利用

  • 单凭片段宣布安全
  • 没有完整上下文就定严重度
  • 持有密钥或发主网交易
  • 扫描未授权目标
  • 代替你向客户签字

人定义范围,测试验收,人签字

  1. 人工定范围

    版本、信任假设、排除项先写下来。

  2. AI 做架构摘要

    只根据你提供的源码,不确定就标 unknown。

  3. 人工核对源码

    摘要里的每一项都要回到文件和函数。

  4. AI 提假设和测试

    假设不是 finding。

  5. 确定性验证

    单元、fuzz、invariant 或固定区块 fork。

  6. 人工评估影响

    可达性、前提、量化、修复副作用。

  7. AI 润色报告

    不能新增你没验证过的句子。

  8. 人工最终签字

    你必须能脱稿解释。

提示词要限制模型的权力

架构

仅根据提供的完整源码列出角色、资产入口出口、外部依赖和升级方式。无法确认则 unknown,不要给安全结论。

不变量

写出属性、涉及状态、可能破坏它的操作序列和 handler。不要把实现代码改写成断言。

反驳

让它扮演复核者:路径是否可达、前提是否现实、影响是否重复计算。

trace

按时间列出外部调用和状态/资产变化,区分根因与放大器,不确定处明确标记。

你是代码阅读助手。仅根据我提供的完整源码,列出角色、
资产入口、资产出口、外部依赖、升级方式和关键状态。
对无法确认的信息标记 unknown,不要推测安全结论。
每一项引用具体文件和函数。

能公开的才能喂给外部模型

允许

已经暴露在公共面的材料

  • 公开源码
  • 脱敏 trace
  • 公开审计报告
禁止

一旦出去就无法收回的东西

  • 助记词、私钥、API Key
  • 客户私有源码(除非授权明确允许)
  • 未披露漏洞
  • 带凭据的 RPC 与日志
本地模型也要管日志

缓存、shell history、对话导出同样会留下密钥和个人路径。发布前删掉。

验收

六道闸门全开,才能进报告

交互实验

AI 结论进报告前的六道闸门

全部勾上之前,它只是假设。模型说“高置信”不能代替任何一项。

还差 6 项。缺一项就停在假设区。

完成证据

用公开练习合约走完一遍:自己先写假设,再让 AI 提测试初稿,本地跑通后写下哪几句是模型的、哪几句是你验证过的。

课中测验 1 / 3

AI 在安全研究里适合做什么?

课末自测

为什么三个模型给出相同结论,仍不能直接写进正式报告?

信心
下一课量化基础 →