Golang 生态系统中漏洞生命周期的实证分析
软件工程
2024-01-18 v2
摘要
开源软件 (OSS) 极大地便利了开发人员的程序开发。然而,开源软件中大量的漏洞是一个主要关切点,包括在相对较新的编程语言 Golang 中。与其他常用的 OSS 包管理器相比,Golang 呈现出一个独特的特征,即在集成到官方发布版本之前,普遍使用 commits 作为依赖版本。这一属性对用户有利,因为可以在发布之前及时实施补丁 commits。然而,Golang 采用去中心化机制来管理依赖,即依赖项在单独的仓库中维护和分发。这种方法可能导致补丁传播的延迟和未解决的漏洞。为了解决上述问题,本研究对 Golang 中漏洞的生命周期进行了全面调查,从其引入开始直至修复。为此,我们建立了一个框架,从不同来源收集数据,并通过算法系统地整合这些数据以计算漏洞补丁的滞后时间。结果显示,Golang 生态系统中 66.10% 的模块受到漏洞影响。在漏洞生命周期中,我们发现了两种阻碍漏洞修复传播的滞后类型。通过分析非滞后和滞后漏洞背后的原因,及时发布和索引补丁版本可以显著增强生态系统的安全性。
引用
@article{arxiv.2401.00515,
title = {Empirical Analysis of Vulnerabilities Life Cycle in Golang Ecosystem},
author = {Jinchang Hu and Lyuye Zhang and Chengwei Liu and Sen Yang and Song Huang and Yang Liu},
journal= {arXiv preprint arXiv:2401.00515},
year = {2024}
}
备注
12 pages, 10 figures, 2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE '24)