ghbuster

August 14, 2025 ยท View on GitHub

ghbuster is a tool to detect suspicious GitHub repositories and users using heuristics. It is designed to help identify potentially malicious or inauthentic accounts and repositories on GitHub.

ghbuster

Usage

Install uv if needed:

brew install astral-sh/uv/uv
# or see https://docs.astral.sh/uv/getting-started/installation/ for other platforms

You can then install ghbuster:

uv pip install "git+https://github.com/DataDog/ghbuster.git"

Then run it using:

export GITHUB_TOKEN=<your_github_token>
ghbuster

Heuristics

Repository heuristics

IDNameDescription
repo.commits_suspicious_unlinked_emailsRepository commits only from suspicious unlinked emailsDetects when a repository has commits with unlinked emails that also don't match the owner's username or full name.
repo.stargazers_joined_same_dayRepository has stargazers who joined the same dayDetects when a repository has a large proportion of its stargazers who joined GitHub on the same day, which may indicate a coordinated effort to boost the repository's popularity.
repo.starred_by_suspicious_usersRepository starred by suspicious usersDetects when a repository has over 80 % of stars from suspicious users matching heuristics they may be inauthentic.

GitHub user heuristics

IDNameDescription
user.commits_unlinked_emailsUser has only commits from unlinked emailsDetects when all of a user's commits are from emails not linked to their GitHub profiles. This may indicate a threat actor leveraging distinct inauthentic accounts.
user.forks_from_taken_down_reposUser has forks of taken-down repositoriesDetects when a user has forks from repositories that have been taken down. This may indicate that the user is being leveraged as part of a campaign to make inauthentic repositories appear legitimate.
user.just_joinedUser recently joined GitHubThe GitHub user joined the platform less than 7 days ago.
user.low_community_activityUser with low community activityDetects when a user has very low community activity. This may indicate that the user is inauthentic.
user.missing_common_fieldsUser has none of the common profile fields setDetects when a GitHub is missing a number of highly-common fields (name, company, bio, location) in their profile.
user.repos_only_forksUser has only forksDetects all of a user's repositories are forks. This may be an indication that the user is used solely to make other repositories appear legitimate.

Development

To run the local ghbuster version, use:

uv venv
export GITHUB_TOKEN=<your_github_token>
uv run python -m ghbuster

To run the tests, use:

uv run python -m unittest discover tests/heuristics

To generate the documentation, use:

uv run python -m scripts.generate_heuristics_docs README.md