Empirical Analysis of Security Vulnerabilities in Python']Python Packages

被引:43
作者
Alfadel, Mahmoud [1 ]
Costa, Diego Elias [1 ]
Shihab, Emad [1 ]
机构
[1] Concordia Univ, Data Driven Anal Software DAS Lab, Montreal, PQ, Canada
来源
2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2021) | 2021年
关键词
!text type='python']python[!/text; pypi; packages; vulnerabilities; empirical studies;
D O I
10.1109/SANER50967.2021.00048
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software ecosystems play an important role in modern software development, providing an open platform of reusable packages that speed up and facilitate development tasks. However, this level of code reusability supported by software ecosystems also makes the discovery of security vulnerabilities much more difficult, as software systems depend on an increasingly high number of packages. Recently, security vulnerabilities in the npm ecosystem, the ecosystem of Node.js packages, have been studied in the literature. As different software ecosystems embodied different programming languages and particularities, we argue that it is also important to study other popular programming languages to build stronger empirical evidence about vulnerabilities in software ecosystems. In this paper, we present an empirical study of 550 vulnerability reports affecting 252 Python packages in the Python ecosystem (PyPi). In particular, we study the propagation and life span of security vulnerabilities, accounting for how long they take to be discovered and fixed. Our findings show that the discovered vulnerabilities in Python packages are increasing over time, and they take more than 3 years to be discovered. The majority of these vulnerabilities (50.55%) are only fixed after being publicly announced, giving ample time for attackers exploitation. We find similarities in some characteristics of vulnerabilities in PyPi and npm and divergences that can be attributed to specific PyPi policies. By leveraging our findings, we provide a series of implications that can help the security of software ecosystems by improving the process of discovering, fixing and managing package vulnerabilities.
引用
收藏
页码:446 / 457
页数:12
相关论文
共 44 条
  • [1] Aalen 0., 2008, SURVIVAL EVENT HIST
  • [2] Alfadel E. S. M., 2020, DATASET EMPIRICAL AN
  • [3] Comparing Vulnerability Severity and Exploits Using Case-Control Studies
    Allodi, Luca
    Massacci, Fabio
    [J]. ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2014, 17 (01)
  • [4] [Anonymous], 2012, Proceedings of the 19th ACM Conference on Computer and Communications Security, DOI DOI 10.1145/2382196.2382223
  • [5] Statistics review 12: Survival analysis
    Bewick, V
    Cheek, L
    Ball, J
    [J]. CRITICAL CARE, 2004, 8 (05): : 389 - 394
  • [6] How to Break an API: Cost Negotiation and Community Values in Three Software Ecosystems
    Bogart, Christopher
    Kastner, Christian
    Herbsleb, James
    Thung, Ferdian
    [J]. FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 109 - 120
  • [7] When it breaks, it breaks How ecosystem developers reason about the stability of dependencies
    Bogart, Christopher
    Kaestner, Christian
    Herbsleb, James
    [J]. 2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING WORKSHOP (ASEW), 2015, : 86 - 89
  • [8] Chinthanet B., 2019, LAGS RELEASE ADOPTIO
  • [9] SUSApp: A Mobile App for Measuring and Comparing Questionnaire-Based Usability Assessments
    de Castro, Alba
    Macias, Jose A.
    [J]. PROCEEDINGS OF THE XVII INTERNATIONAL CONFERENCE ON HUMAN COMPUTER INTERACTION INTERACCION 2016, 2016,
  • [10] Decan A, 2019, IEEE T SOFTWARE ENG