《相关研究》006:模型安全
《Deep Smart Contract Intent Detection》
一、作者与所属单位
Youwei Huang:澳门科技大学;中国科学院苏州智能计算技术研究院
Sen Fang:美国北卡罗来纳州立大学
Jianwen Li:中国科学院苏州智能计算技术研究院;北京师范大学 - 香港浸会大学联合国际学院
Jiachun Tao:中国科学院苏州智能计算技术研究院;苏州城市大学
Bin Hu:中国科学院计算技术研究所
Tao Zhang(通讯作者):澳门科技大学
二、研究动机
智能合约安全风险的新痛点:现有研究多聚焦于检测智能合约的外部风险(如重入、整数溢出等代码漏洞,易被黑客利用),但由开发者恶意意图引入的内部风险(如预埋后门、随意修改交易规则、卷款跑路等)已造成巨额加密资产损失,却缺乏有效检测方法。
Web3 生态的固有特性放大风险:Web3 应用去中心化、以金融为导向,任何开发者均可部署智能合约并绑定加密资产,无良开发者可通过预埋恶意代码侵占用户资金(如 2022 年加密诈骗造成 78 亿美元损失,其中 28 亿来自开发者的 “卷款跑路”)。
传统检测方式的局限性:目前识别开发者意图依赖专家人工审计,耗时且成本高;现有自动化分析方法仅针对漏洞或诈骗,未针对开发者意图设计检测方案,同时开发者的代码克隆、第三方库复用也可能无意引入风险代码,亟需自动化意图检测工具。
现有技术的空白:尚无研究利用深度学习系统检测智能合约中的开发者意图,也缺乏标准化的意图分类数据集,成为 Web3 软件工程领域的关键研究缺口。
三、研究方法
提出SMARTINTENTNN(智能合约意图神经网络),是首个基于深度学习的智能合约开发者意图检测模型,为多标签分类模型,整体由智能合约嵌入、意图特征增强、BiLSTM 多标签分类三大核心模块构成,基于 TensorFlow.js 实现,可检测 10 类不安全开发者意图,核心设计如下:
- 数据预处理:构建智能合约代码树(CCTree)
从币安智能链(BSC)收集 4 万 + 真实智能合约,经合并多文件、清理冗余代码(移除 pragma、导入语句、注释)后,构建三层代码树:根层(整个合约)- 合约层(合约类)- 函数层(函数 / 事件 / 修饰器等代码片段),将函数片段作为模型输入基本单位。 - 智能合约嵌入:基于通用句子编码器(USE)的上下文表征
将智能合约的每个函数片段视为 “句子”,采用基于深度平均网络(DAN)的 USE 预训练模型生成上下文嵌入向量:
对函数文本进行分词、词嵌入,计算词嵌入的平均值得到初始特征;
经多层前馈神经网络增强特征,最终输出函数级嵌入向量;
拼接所有函数的嵌入向量,得到整个智能合约的矩阵表征,保留代码的语义上下文。 - 意图特征增强:基于 K-means 聚类的意图高亮模型
解决智能合约中多数函数无意图、少数函数承载核心意图的问题,放大强意图函数的特征:
基于函数嵌入向量的余弦距离训练 K-means 聚类模型,将高频通用函数(如公共库代码)聚为一类,其聚类中心代表无意图函数的特征;
以函数到聚类中心的距离量化意图强度:距离越远,函数的独特性越强,开发者意图越显著;
对距离超过阈值的强意图函数特征进行倍数缩放,生成增强后的特征矩阵,让模型更聚焦于意图相关特征。 - BiLSTM 多标签分类:检测 10 类不安全意图
将增强后的特征矩阵输入双向 LSTM(BiLSTM)网络完成多标签分类,核心步骤:
输入层对特征矩阵做补零对齐,同时设置掩码层忽略补零部分;
BiLSTM 层通过前向 + 后向 LSTM 捕捉函数序列的双向上下文依赖,拼接两层输出得到综合特征;
输出层采用sigmoid 激活函数做二分类,输出 10 维多热向量,每个维度代表对应意图的存在概率(≥0.5 判定为存在该意图)。
四、实验设计与结果
(一)实验设置
数据集:4 万 + BSC 智能合约,标注 10 类不安全意图(Reflect、Fee、MaxTX 等),训练集 / 测试集各 1 万条,其余预留作扩展实验;意图分布存在不平衡(Reflect 占 37.5%,MaxSell 仅 0.05%)。
对比基线:经典深度学习模型(LSTM、BiLSTM、CNN)、大语言模型(GPT-3.5-turbo、GPT-4o-mini);同时设计消融实验(移除意图高亮、替换为单 LSTM、调整缩放因子)。
超参数:批次大小 50,训练 100 轮,优化器 Adam,损失函数二元交叉熵;BiLSTM 设 128 个隐藏单元,LSTM 设 64 个;K-means 聚类最终聚为 16 类,距离阈值 0.21,强意图特征缩放因子 μ=16。
评价指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-score(核心指标,平衡精确率和召回率)。
(二)核心实验结果
整体性能:SMARTINTENTNN 取得准确率 0.9647、精确率 0.8873、召回率 0.8406、F1-score0.8633,显著优于所有基线模型:F1-score 较 LSTM 提升 28.14%、较 BiLSTM 提升 14.79%、较 CNN 提升 27.80%、较 GPT-3.5-turbo 提升 83.64%、较 GPT-4o-mini 提升 63.26%;大模型表现差的核心原因是未针对智能合约意图检测做领域微调,泛化能力无法适配特定场景。
消融实验:意图高亮模型的贡献:
加入意图高亮模型后,BiLSTM 版本 F1-score 从 0.8167 提升至 0.8633(μ=16),提升 5.71%;LSTM 版本提升 5.20%;
缩放因子越大,强意图特征越突出,模型性能越好;BiLSTM 较单 LSTM 更能捕捉双向上下文,性能提升 3.40%。
不同意图的检测效果:
对高频意图(Reflect、MaxTX、Fee)检测效果极佳,F1-score 分别达 0.98、0.88、0.87;
对低频意图(如 MaxSell,占比 0.05%)检测效果较差(F1-score0.57),原因是数据集不平衡导致训练不充分;
所有意图的检测准确率均超 90%,模型能有效区分 “有无意图”,仅在具体类别划分上受数据影响。
五、研究结论与局限性
(一)核心结论
首次提出基于深度学习的智能合约开发者意图检测模型SMARTINTENTNN,填补了 Web3 软件工程中智能合约意图检测的研究空白,能有效检测 10 类不安全开发者意图,整体性能显著优于经典深度学习模型和主流大语言模型。
构建了首个包含4 万 + 标注智能合约、10 类意图的标准化数据集,为后续智能合约意图检测研究提供了基础数据支撑,并开源了模型、代码、数据集(https://github.com/web3se-lab/web3-sekit)。
基于 K-means 的意图高亮模型能有效放大强意图函数的特征,显著提升模型检测性能,是 SMARTINTENTNN 的核心创新点;BiLSTM 的双向上下文捕捉能力比单 LSTM 更适配智能合约的代码语义分析。
模型能有效区分智能合约中的 “安全 / 不安全意图”,对高频不安全意图的检测精度极高,可大幅降低智能合约安全审计的时间和人力成本,同时帮助开发者规避无意引入的风险代码。
(二)研究局限性(威胁有效性)
内部有效性:数据集存在意图分布不平衡问题,低频意图(如 MaxSell)的检测效果较差;已通过过采样、欠采样、交叉验证缓解,且模型支持持续训练,补充低频意图数据后可提升性能。
外部有效性:模型目前仅基于Solidity 语言训练,未适配 Vyper、JavaScript 等其他智能合约开发语言;同时不支持纯字节码合约检测,但可通过反编译器将字节码转为源码后适配,模型的可扩展性使其能通过补充数据实现多语言支持。
(三)研究贡献
理论贡献:首次系统定义了智能合约中的 10 类不安全开发者意图,建立了深度学习检测意图的技术框架,丰富了 Web3 软件工程和智能合约安全的研究体系。
技术贡献:提出意图高亮模型,解决了智能合约中意图特征稀疏的问题;设计了智能合约代码树和基于 USE 的嵌入方法,实现了代码语义的有效表征。
工程贡献:开源了完整的模型、代码和数据集,为工业界提供了自动化的智能合约意图检测工具,可直接应用于智能合约安全审计。
该研究属于Web3 软件工程与智能合约安全交叉领域,聚焦智能合约开发者意图检测方向,以深度学习技术解决智能合约内部恶意意图识别的行业痛点;核心关键词为:智能合约、意图检测、深度学习、Web3 软件工程、内部风险、Universal Sentence Encoder、K-means 聚类、BiLSTM、多标签分类。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)