System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及智能合约检测,尤其涉及一种基于边失活图卷积网络的智能合约漏洞检测方法。
技术介绍
1、智能合约(smart contract)是一种基于区块链技术的可自动执行与管理的计算机程序,能够依托计算机在网络空间运行的合约。当合约条款被满足时,智能合约会被自动执行,而无需第三方介入。这些合约通常存储在区块链上,以确保其透明性和安全性。以数字形式定义了承诺,这些承诺包括合约参与方同意的权利和义务。
2、在传统的图神经网络中,节点特征通常通过邻接矩阵进行传递和聚合,但基于掩码的智能合约图节点特征增强方法会在智能合约图的传输过程中遮盖掉一部分节点特征,造成可用信息丢失,导致后续图卷积网络在学习过程中过度关注无效信息。
技术实现思路
1、为了解决现有的技术问题,本申请实施例提供了一种基于边失活图卷积网络的智能合约漏洞检测方法。所述技术方案如下:
2、第一方面,提供了一种基于边失活图卷积网络的智能合约漏洞检测方法,包括以下步骤:
3、根据智能合约构建智能合约图;
4、对所述智能合约图进行标准化,得到标准智能合约图;
5、将所述标准智能合约图进行向量化,得到向量化智能合约图;
6、将所述向量化智能合约图输入边失活图卷积网络模型,检测所述智能合约的漏洞。
7、进一步的,所述根据智能合约构建智能合约图,包括:
8、根据智能合约的程序元素创建对应智能合约图节点;
9、根据所述程序元素之间的语法
10、进一步的,所述根据智能合约的程序元素创建对应智能合约图节点,包括:
11、将可重入函数和时间戳函数作为一级节点;
12、将一级节点和fallback函数之外的函数作为二级节点;
13、将fallback函数作为fallback节点。
14、进一步的,所述对所述智能合约图进行标准化,得到标准智能合约图,包括:
15、删除所述智能合约图二级节点和fallback节点,并将特征传递给附近的一级节点;
16、将删除节点所连接智能合约图边的起点和终点改为一级节点;
17、将所述一级节点和所述删除节点的特征进行融合。
18、进一步的,所述将所述标准智能合约图进行向量化,包括:
19、将所述标准智能合约图节点的节点信息输入双向编码器表示算法模型,得到向量化智能合约图节点;
20、将所述标准智能合约图边的属性信息使用one-hot编码,得到向量化智能合约图边。
21、进一步的,所述将所述向量化智能合约图输入边失活图卷积网络模型,检测所述智能合约的漏洞,包括:
22、将所述向量化智能合约图输入所述边失活图卷积网络模型;
23、根据伯努利概率分布,为向量化智能合约图的边添加失活概率;
24、将所述向量化智能合约图与所述边失活概率相结合,生成失活智能合约图;
25、将所述失活智能合约图和所述向量化智能合约图同时输入无度图卷积网络模型dr-gcn中,进行多层卷积操作;
26、对卷积后的特征进行池化,减小特征维度;
27、将经过池化处理的特征传入全连接网络层中,获得最终的特征描述;
28、根据所述特征描述确定所述智能合约的漏洞。
29、进一步的,所述方法还包括:
30、利用kl散度和曼哈顿距离衡量检测结果的相似度,并将结果与交叉熵损失融合;
31、根据融合后的损失函数,对边失活图卷积网络模型的参数进行更新。
32、本申请实施例提供的技术方案带来的有益效果是:本申请根据智能合约构建智能合约图;对所述智能合约图进行标准化,得到标准智能合约图;将所述标准智能合约图进行向量化,得到向量化智能合约图;将所述向量化智能合约图输入边失活图卷积网络模型,检测所述智能合约的漏洞。本申请采用ed-gcn模型,能够有效地捕获代码中的信息传递和依赖关系,更好地识别潜在的漏洞,采用了边失活方式,使得模型能够学习到更加丰富和深入的特征表示,能够有效地防止过拟合,通过引入对比学习机制,增强了模型的鲁棒性和安全性。本申请在智能合约漏洞检测上具有更高的准确率、召回率和精确率。
本文档来自技高网...【技术保护点】
1.一种基于边失活图卷积网络的智能合约漏洞检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述根据智能合约构建智能合约图,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据智能合约的程序元素创建对应智能合约图节点,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述智能合约图进行标准化,得到标准智能合约图,包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述标准智能合约图进行向量化,包括:
6.根据权利要求1所述的方法,其特征在于,所述将所述向量化智能合约图输入边失活图卷积网络模型,检测所述智能合约的漏洞,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
【技术特征摘要】
1.一种基于边失活图卷积网络的智能合约漏洞检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述根据智能合约构建智能合约图,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据智能合约的程序元素创建对应智能合约图节点,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述智能...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。