中文

开发团队更新其存在漏洞的依赖项有多快?

软件工程 2025-10-24 v3 密码学与安全

摘要

行业从业者日益关注包含直接和传递引入的存在漏洞版本的第三方依赖项的软件。为解决此问题,项目被鼓励(a)快速更新至依赖项的无漏洞版本,以及(b)留意其所选用依赖项的更新实践。为此,研究人员提出了衡量软件包开发团队在保持其依赖项更新方面响应速度的指标:平均更新时间(MTTU)和平均修复时间(MTTR)。MTTU 涵盖所有依赖项,而 MTTR 量化软件包更新其存在漏洞的依赖项所需的时间。然而,现有指标未能捕捉到重要的细微差别,例如考虑浮动版本和优先考虑近期更新,导致对开发团队更新实践的反映不准确。本研究的目标是帮助从业者理解软件包更新其依赖项的速度。我们提出了两个新颖的指标,即依赖项平均更新时间(MTTU)和存在漏洞的依赖项平均修复时间(MTTR),克服了现有指标的局限性。我们使用 npm(117,129 个)、PyPI(42,777 个)和 Cargo(3,301 个)中的 163,207 个软件包进行了实证研究,并描述了不同生态系统在 MTTU 和 MTTR 上的差异,以及哪些软件包特征会影响 MTTU 和 MTTR。我们发现大多数软件包具有相对快速的依赖项更新实践。我们进一步研究了当没有足够的漏洞数据时,MTTU 是否可以作为 MTTR 的代理指标。由于未找到足够的统计证据支持强代理关系,我们的发现表明,当漏洞数据不可用时,MTTU 仅能部分用作(可以使用但需谨慎)MTTR 的代理指标。

关键词

引用

@article{arxiv.2403.17382,
  title  = {How Quickly Do Development Teams Update Their Vulnerable Dependencies?},
  author = {Imranur Rahman and Ranindya Paramitha and William Enck and Laurie Williams},
  journal= {arXiv preprint arXiv:2403.17382},
  year   = {2025}
}

备注

under review