加速器,不是审计责任主体
把模型放在你的工作台侧面,不要放在签字栏。

解释、假设、草稿
- 梳理模块和调用关系
- 把业务目标写成待验证不变量
- 生成单元、fuzz、invariant 初稿
- 总结历史报告里的模式
- 检查报告缺不缺前提和影响
结论、权限、利用
- 单凭片段宣布安全
- 没有完整上下文就定严重度
- 持有密钥或发主网交易
- 扫描未授权目标
- 代替你向客户签字
人定义范围,测试验收,人签字
- 人工定范围
版本、信任假设、排除项先写下来。
- AI 做架构摘要
只根据你提供的源码,不确定就标 unknown。
- 人工核对源码
摘要里的每一项都要回到文件和函数。
- AI 提假设和测试
假设不是 finding。
- 确定性验证
单元、fuzz、invariant 或固定区块 fork。
- 人工评估影响
可达性、前提、量化、修复副作用。
- AI 润色报告
不能新增你没验证过的句子。
- 人工最终签字
你必须能脱稿解释。
提示词要限制模型的权力
架构仅根据提供的完整源码列出角色、资产入口出口、外部依赖和升级方式。无法确认则 unknown,不要给安全结论。
不变量写出属性、涉及状态、可能破坏它的操作序列和 handler。不要把实现代码改写成断言。
反驳让它扮演复核者:路径是否可达、前提是否现实、影响是否重复计算。
trace按时间列出外部调用和状态/资产变化,区分根因与放大器,不确定处明确标记。
你是代码阅读助手。仅根据我提供的完整源码,列出角色、
资产入口、资产出口、外部依赖、升级方式和关键状态。
对无法确认的信息标记 unknown,不要推测安全结论。
每一项引用具体文件和函数。能公开的才能喂给外部模型
已经暴露在公共面的材料
- 公开源码
- 脱敏 trace
- 公开审计报告
一旦出去就无法收回的东西
- 助记词、私钥、API Key
- 客户私有源码(除非授权明确允许)
- 未披露漏洞
- 带凭据的 RPC 与日志
本地模型也要管日志
缓存、shell history、对话导出同样会留下密钥和个人路径。发布前删掉。
六道闸门全开,才能进报告
完成证据
用公开练习合约走完一遍:自己先写假设,再让 AI 提测试初稿,本地跑通后写下哪几句是模型的、哪几句是你验证过的。
课末自测
为什么三个模型给出相同结论,仍不能直接写进正式报告?
信心