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

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Sharma, Anupam, Karmakar, Sreyashi, Kancherla, Gayatri Priyadarsini, Bichhawat, Abhishek
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916709305155584
author Sharma, Anupam
Karmakar, Sreyashi
Kancherla, Gayatri Priyadarsini
Bichhawat, Abhishek
author_facet Sharma, Anupam
Karmakar, Sreyashi
Kancherla, Gayatri Priyadarsini
Bichhawat, Abhishek
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2504_19215
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study
Sharma, Anupam
Karmakar, Sreyashi
Kancherla, Gayatri Priyadarsini
Bichhawat, Abhishek
Software Engineering
Cryptography and Security
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.
title On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study
topic Software Engineering
Cryptography and Security
url https://arxiv.org/abs/2504.19215