在 Solidity 智能合约中检测和分析细粒度的第三方库依赖关系
《ACM Transactions on Software Engineering and Methodology》:Detecting and Analyzing Fine-grained Third-party Library Dependencies in Solidity Smart Contracts
【字体:
大
中
小
】
时间:2025年11月08日
来源:ACM Transactions on Software Engineering and Methodology
编辑推荐:
本工作提出SPADE工具,通过分析5,242个Solidity项目依赖发现版本管理不足,安全漏洞影响8.87%仓库,并验证其有效性。
摘要
Solidity 是编写智能合约的主要编程语言。作为一种轻量级语言,Solidity 没有统一的方式来管理第三方库(TPL)的依赖关系。因此,人们通常采用复制粘贴的方式,或者使用 NPM 和 Git 子模块等依赖管理工具来处理这些依赖关系。然而,这些方法显著增加了使用第三方库的复杂性,并带来了安全风险。与其他编程语言生态系统类似,不正确的第三方库使用方式可能会影响合约的可靠性,甚至由于使用过时的版本而引入安全漏洞。因此,迫切需要了解和掌握 Solidity 中第三方库的依赖关系。
在这项研究中,我们对 Solidity 中第三方库的依赖使用情况进行了全面分析。为此,我们开发了 SPADE 工具,该工具利用额外的元数据(如包配置和重映射配置)来推断各种 Solidity 项目中第三方库的详细依赖关系及其版本信息。通过分析 5,242 个 Solidity 仓库,我们发现了许多有趣且重要的结果,这些发现对 Solidity 生态系统具有重要意义。具体来说,虽然第三方库在 Solidity 中被广泛使用,但其版本管理仍然存在不足;漏洞的传播情况较为严重,影响了 8.87% 的仓库。最后,我们利用链上合约验证了这些发现,并为未来关于 Solidity 第三方库依赖关系的研究和开发提供了建议。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号