摘要
本发明公开了一种基于可变异快照的智能合约漏洞自动检测方法及系统,首先对目标合约进行编译,生成字节码,并将字节码与快照和交易一起传递到插桩处理的以太坊虚拟机EVM中;然后通过符号污点分析收集合约状态和区块链环境中的变异约束条件,并在执行分支处设置快照检查点;接着针对每个快照检查点,对合约执行状态和区块链环境进行变异,生成新的变异快照;将变异快照用于启动分叉进程,在不同的执行上下文中对合约进行测试;最后基于预定义的模糊测试判定方法,对主进程和分叉进程的执行轨迹进行分析,识别和报告潜在的合约漏洞。本发明采用定向测试,结合静态分析与模糊测试,实现了对于智能合约漏洞的快速准确检测。
技术关键词
智能合约漏洞
快照
自动检测方法
检查点
变异约束条件
种子
污点
判定方法
智能合约执行
进程
分支
自动检测系统
遗传算法
阶段
符号
存储结构
轨迹
处理器
程序