摘要

本发明公开了一种基于路径剖析及代码插桩的智能合约威胁检测与防护方法,该方法通过正则方式预处理智能合约源代码;依据源代码静态分析得到的静态单赋值形式节点构建智能合约控制流图;根据控制流图是否存在循环,选择路径剖析算法对路径编码,得到探针语句与待插桩边;基于待插桩边的探针语句来对源代码插桩,并插入初始化定义代码及安全防护代码;将插桩后的源代码部署在以太坊模拟环境上,测试并获取安全路径集合,再将加入安全路径集合的源代码部署至以太主网;依据以太主网中智能合约日志记录的路径编码,结合控制流图与探针信息进行溯源;从而精准跟踪智能合约有环与无环执行路径,提升检测准确率,降低了执行Gas开销,溯源异常源代码。