论文标题
偶然犯下的:在源代码存储库中研究预防和补救策略,以防止秘密泄漏
Committed by Accident: Studying Prevention and Remediation Strategies Against Secret Leakage in Source Code Repositories
论文作者
论文摘要
源代码(例如GIT)的版本控制系统是现代软件开发环境中的关键工具。许多开发人员使用在线服务(例如GitHub或GitLab)进行协作软件开发。尽管软件项目通常需要代码秘密(例如API键或密码),但它们需要在项目中安全地处理。以前的研究和新闻文章已经说明,开发人员不小心地将代码秘密(例如私人加密密钥,密码或API键)归咎于公共源代码存储库。但是,公开提供秘密可能会带来灾难性的后果,例如离开系统容易受到攻击。在一项混合方法研究中,我们对109名开发人员进行了调查,并对过去经历过秘密泄漏的开发人员进行了14次深度半结构化访谈。我们发现过去30.3%的参与者过去遇到了秘密泄漏,并且开发人员在预防秘密泄漏和补救方面面临着一些挑战。根据我们的发现,我们讨论挑战,例如。 g。,估计泄漏秘密的风险以及开发人员在修复和预防代码秘密泄漏方面的需求,e。 g。,低采用要求。我们还为开发人员和源代码平台提供商提供建议,以降低秘密泄漏的风险。
Version control systems for source code, such as Git, are key tools in modern software development environments. Many developers use online services, such as GitHub or GitLab, for collaborative software development. While software projects often require code secrets to work, such as API keys or passwords, they need to be handled securely within the project. Previous research and news articles have illustrated that developers are blameworthy of committing code secrets, such as private encryption keys, passwords, or API keys, accidentally to public source code repositories. However, making secrets publicly available might have disastrous consequences, such as leaving systems vulnerable to attacks. In a mixed-methods study, we surveyed 109 developers and conducted 14 in-depth semi-structured interviews with developers which experienced secret leakage in the past. We find that 30.3% of our participants have encountered secret leakage in the past, and that developers are facing several challenges with secret leakage prevention and remediation. Based on our findings, we discuss challenges, e. g., estimating risks of leaked secrets, and needs of developers in remediating and preventing code secret leaks, e. g., low adoption requirements. We also give recommendations for developers and source code platform providers to reduce the risk of secret leakage.