|国家预印本平台
首页|On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study

On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study

On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study

来源:Arxiv_logoArxiv
英文摘要

GitHub is one of the most widely used public code development platform. However, the code hosted publicly on the platform is vulnerable to commit spoofing that allows an adversary to introduce malicious code or commits into the repository by spoofing the commit metadata to indicate that the code was added by a legitimate user. The only defense that GitHub employs is the process of commit signing, which indicates whether a commit is from a valid source or not based on the keys registered by the users. In this work, we perform an empirical analysis of how prevalent is the use of commit signing in commonly used GitHub repositories. To this end, we build a framework that allows us to extract the metadata of all prior commits of a GitHub repository, and identify what commits in the repository are verified. We analyzed 60 open-source repositories belonging to four different domains -- web development, databases, machine learning and security -- using our framework and study the presence of verified commits in each repositories over five years. Our analysis shows that only ~10% of all the commits in these 60 repositories are verified. Developers committing code to security-related repositories are much more vigilant when it comes to signing commits by users. We also analyzed different Git clients for the ease of commit signing, and found that GitKraken provides the most convenient way of commit signing whereas GitHub Web provides the most accessible way for verifying commits. During our analysis, we also identified an unexpected behavior in how GitHub handles unverified emails in user accounts preventing legitimate owner to use the email address. We believe that the low number of verified commits may be due to lack of awareness, difficulty in setup and key management. Finally, we propose ways to identify commit ownership based on GitHub's Events API addressing the issue of commit spoofing.

Anupam Sharma、Sreyashi Karmakar、Gayatri Priyadarsini Kancherla、Abhishek Bichhawat

计算技术、计算机技术

Anupam Sharma,Sreyashi Karmakar,Gayatri Priyadarsini Kancherla,Abhishek Bichhawat.On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study[EB/OL].(2025-04-27)[2025-05-23].https://arxiv.org/abs/2504.19215.点此复制

评论