一句话:通过分析 Stack Exchange 问题,归纳开发者管理检入机密的 27 项挑战与 13 项解决方案。
2021 年公开 GitHub 仓库中泄露的机密数量较 2020 年翻倍,但开发者避免检入机密所面临的挑战尚缺乏系统刻画。本文从 Stack Exchange 提取 779 个与检入机密相关的问题,并通过定性分析归纳挑战及他人给出的解决方案。研究识别出 27 个挑战和 13 个解决方案:最常见的挑战依次为部署阶段机密的存储/版本管理、源码中机密的存储/版本管理、源码中机密的忽略/隐藏以及清理 VCS 历史;最常见的方案为将机密移出源码和版本控制并使用模板配置文件、在部署时进行机密管理以及使用本地环境变量。研究还发现同一方案可缓解多个挑战,且缺少被接受答案的问题呈上升趋势,表明该领域仍需未来研究与工具自动化。
Throughout 2021, GitGuardian's monitoring of public GitHub repositories revealed a two-fold increase in the number of secrets (database credentials, API keys, and other credentials) exposed compared to 2020, accumulating more than six million secrets. To our knowledge, the challenges developers face to avoid checked-in secrets are not yet characterized. The goal of our paper is to aid researchers and tool developers in understanding and prioritizing opportunities for future research and tool automation for mitigating checked-in secrets through an empirical investigation of challenges and solutions related to checked-in secrets. We extract 779 questions related to checked-in secrets on Stack Exchange and apply qualitative analysis to determine the challenges and the solutions posed by others for each of the challenges. We identify 27 challenges and 13 solutions. The four most common challenges, in ranked order, are: (i) store/version of secrets during deployment; (ii) store/version of secrets in source code; (iii) ignore/hide of secrets in source code; and (iv) sanitize VCS history. The three most common solutions, in ranked order, are: (i) move secrets out of source code/version control and use template config file; (ii) secret management in deployment; and (iii) use local environment variables. Our findings indicate that the same solution has been mentioned to mitigate multiple challenges. However, our findings also identify an increasing trend in questions lacking accepted solutions substantiating the need for future research and tool automation on managing secrets.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2301-12377,
title = {What Challenges Do Developers Face About Checked-in Secrets in Software Artifacts?},
author = {Setu Kumar Basak and Lorenzo Neil and Bradley Reaves and Laurie Williams},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse48619.2023.00141}
}