GitHub Considered Harmful? Analyzing Open-Source Projects for the Automatic Generation of Cryptographic API Call Sequences

被引:0
|
作者
Tony, Catherine [1 ]
Ferreyra, Nicolas E. Diaz [1 ]
Scandariato, Riccardo [1 ]
机构
[1] Hamburg Univ Technol, Inst Software Secur, Hamburg, Germany
关键词
Cryptography; APIs; JCA; security; API misuses; IMPACT;
D O I
10.1109/QRS57517.2022.00094
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
GitHub is a popular data repository for code examples. It is being continuously used to train several AI-based tools to automatically generate code. However, the effectiveness of such tools in correctly demonstrating the usage of cryptographic APIs has not been thoroughly assessed. In this paper, we investigate the extent and severity of misuses, specifically caused by incorrect cryptographic API call sequences in GitHub. We also analyze the suitability of GitHub data to train a learning-based model to generate correct cryptographic API call sequences. For this, we manually extracted and analyzed the call sequences from GitHub. Using this data, we augmented an existing learning-based model called DeepAPI to create two security-specific models that generate cryptographic API call sequences for a given natural language (NL) description. Our results indicate that it is imperative to not neglect the misuses in API call sequences while using data sources like GitHub, to train models that generate code.
引用
收藏
页码:896 / 906
页数:11
相关论文
共 16 条
  • [1] Automatic Generation of API Documentations for Open-Source Projects
    Peng, Xin
    Zhao, Yifan
    Liu, Mingwei
    Zhan, Fengyi
    Liu, Yang
    Wang, Xin
    Xing, Zhenchang
    [J]. 2018 IEEE THIRD INTERNATIONAL WORKSHOP ON DYNAMIC SOFTWARE DOCUMENTATION (DYSDOC3), 2018, : 7 - 8
  • [2] Evolution Model of Open-Source Software Projects in GitHub
    Wang, Hongbing
    Ji, Haoran
    [J]. 2022 2ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND ARTIFICIAL INTELLIGENCE (SEAI 2022), 2022, : 135 - 145
  • [3] GitHub Projects. Quality Analysis of Open-Source Software
    Jarczyk, Oskar
    Gruszka, Blazej
    Jaroszewicz, Szymon
    Bukowski, Leszek
    Wierzbicki, Adam
    [J]. SOCIAL INFORMATICS, SOCINFO 2014, 2014, 8851 : 80 - 94
  • [4] Semi-supervised Heterogeneous Defect Prediction with Open-source Projects on GitHub
    Sun, Ying
    Jing, Xiao-Yuan
    Wu, Fei
    Dong, Xiwei
    Sun, Yanfei
    Wang, Ruchuan
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2021, 31 (06) : 889 - 916
  • [5] Is this GitHub project maintained? Measuring the level of maintenance activity of open-source projects
    Coelho, Jailton
    Valente, Marco Tulio
    Milen, Luciano
    Silva, Luciana L.
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2020, 122
  • [6] Analyzing Developer Use of ChatGPT Generated Code in Open Source GitHub Projects
    Grewal, Balreet
    Lu, Wentao
    Nadi, Sarah
    Bezemer, Cor-Paul
    [J]. 2024 IEEE/ACM 21ST INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2024, : 157 - 161
  • [7] Analyzing Conflict Predictors in Open-Source Java']Java Projects
    Accioly, Paola
    Borba, Paulo
    Silva, Leuson
    Cavalcanti, Guilherme
    [J]. 2018 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2018, : 576 - 586
  • [8] Qualitatively Analyzing PR Rejection Reasons from Conversations in Open-Source Projects
    Gottigundala, Tanay
    Sereesathien, Siriwan
    da Silva, Bruno
    [J]. 2021 IEEE/ACM 13TH INTERNATIONAL WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE 2021), 2021, : 109 - 112
  • [9] Open-Source Memory Compiler for Automatic RRAM Generation and Verification
    Antoniadis, Dimitrios
    Feng, Peilong
    Mifsud, Andrea
    Constandinou, Timothy G.
    [J]. 2021 IEEE INTERNATIONAL MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS (MWSCAS), 2021, : 97 - 100
  • [10] Automatic Categorization with Deep Neural Network for Open-Source Java']Java Projects
    Anh Tuan Nguyen
    Nguyen, Tien N.
    [J]. PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 164 - 166