Mode 1:定向扫描
Mode 1 面向“目标明确”的审计式扫描:用 Prompt 模板(.tmpl)驱动分析,可选叠加漏洞特征(.toml),最终产出结构化结果与 Markdown 报告。
什么时候用
- 你已经知道要扫哪些合约(单个地址 / 地址列表 / DB 目标)
- 你希望输出稳定的结构化结果(用于报告与后处理)
最常用命令
单地址:
go run src/main.go -m mode1 -ai deepseek -t 0xYourAddress -s dao_governance -i dao_governance
从 DB 扫描(不传 -t 默认就是 DB 目标;可用 -t start-end 按 createblock 过滤):
go run src/main.go -m mode1 -ai deepseek -s dao_governance -i dao_governance
go run src/main.go -m mode1 -ai deepseek -t 20000000-20001000 -s dao_governance -i dao_governance
从文件扫描:
go run src/main.go -m mode1 -ai deepseek -t ./targets.txt -s dao_governance -i dao_governance -c eth -proxy http://127.0.0.1:7897
完整参数与 -t 的智能解析规则请看 CLI 参数。
两个可调入口
- 模板
-s:对应strategy/prompts/mode1/<name>.tmpl(不带扩展名)-s为空或default:回退为generic_scan- 例如
generic_scan/callgraph_enhanced可不依赖 TOML 直接运行
- 特征
-i(可选):对应strategy/exp_libs/mode1/下的.toml- 扫描单个特征:
-i hourglassvul.toml - 扫描目录全部特征:
-i all
- 扫描单个特征:
go run src/main.go -m mode1 -ai deepseek -t 0xYourAddress -s generic_scan -i hourglassvul
go run src/main.go -m mode1 -ai deepseek -s generic_scan -i all
模板输出约束请参考 模型输出 JSON 格式指南(Mode 1 的 AnalysisResult)。
输出
- 报告默认在
reports/(可用-r指定) - 详细日志在
logs/更多输出说明见 报告与日志。