“我不确定这是否确实是一种安全风险”:面向开源 npm 软件包 GitHub 仓库的用户安全问题报告的数据驱动理解
摘要
npm(Node Package Manager)生态系统是 JavaScript 开发最重要的包管理器,拥有数百万用户。因此,已有大量研究探讨了如何促进此类生态系统中漏洞报告、补丁传播以及一般性的安全问题检测与解决。然而,对 npm 生态系统中由用户(以及机器人)进行的与安全相关问题报告的真实情况以及其所面临的挑战进行大规模了解仍相对有限。本文通过收集 45,466 个多样化的 npm 软件包在 GitHub 仓库中报告的 10,907,467 个问题来弥合这一差距。我们发现,这些问题的标签仅指示存在 0.13% 的安全相关问题。然而,我们的方法通过手动分析并开发高精度机器学习模型,识别出 1,617,738 个未被标记为安全相关的安全问题(占所有问题的 14.8%),以及 4,461,934 条关于这些问题的评论。我们发现,当前广泛使用的机器人可能在检测或提供帮助方面并不足够。此外,我们对用户开发者交互数据的分析暗示,许多用户报告的安全问题可能不会被开发者处理——它们未被标记为安全相关问题,可能会被无正当理由地关闭。进一步的相关性分析表明,开发者会快速处理已知解决方案的安全问题(例如对应于 CVE)。然而,即使具有可复现代码的安全问题(缺乏此类已知解决方案)可能也不会得到解决。我们的发现为改进开源生态系统的安全管理提供了可操作的见解,强调了需要更智能的工具和更好的协作。本作品的数据和代码可在 https://doi.org/10.5281/zenodo.15614029 获取
引用
@article{arxiv.2506.07728,
title = {"I wasn't sure if this is indeed a security risk": Data-driven Understanding of Security Issue Reporting in GitHub Repositories of Open Source npm Packages},
author = {Rajdeep Ghosh and Shiladitya De and Mainack Mondal},
journal= {arXiv preprint arXiv:2506.07728},
year = {2025}
}
备注
This extended version of our USENIX Security '25 paper on Security issue reporting in NPM packages includes appendices for interested readers