https://github.com/soxoj/gitcolombo
🧬 Extract and analyze contributors info from git repos
https://github.com/soxoj/gitcolombo
authors bitbucket committer committers emails git gitlab osint
Last synced: 4 months ago
JSON representation
🧬 Extract and analyze contributors info from git repos
- Host: GitHub
- URL: https://github.com/soxoj/gitcolombo
- Owner: soxoj
- Created: 2020-02-29T23:19:43.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-27T18:54:06.000Z (over 1 year ago)
- Last Synced: 2025-01-19T23:59:21.132Z (4 months ago)
- Topics: authors, bitbucket, committer, committers, emails, git, gitlab, osint
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 76
- Watchers: 3
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gitcolombo

### Description
OSINT tool to extract info about persons from git repositories: common names, emails, matches between different (as it may seems) accounts.
### Using
1. **Install git**
2. Run:
# from any git url
./gitcolombo.py -u https://github.com/Kalanchyovskaia16/newlps# from directory, recursively
./gitcolombo.py -d ./newlps -r# from all GitHub personal/org repos by nickname
./gitcolombo.py --nickname LubyRuffyFor batch cloning from Gitlab and Bitbucket group repos you can use [ghorg](https://github.com/gabrie30/ghorg).
Output:
- verbose persons info
- name
- number of appearences as author/committer
- other persons that person can be- emails used for the same name
- different names for the same person
- general statistics### Details
[RUS] https://telegra.ph/Gitcolombo---OSINT-v-GitHub-03-02
### What's the difference between git author and committer?
TL;DR
- author wrote the code (make the patch)
- commiter commit it to the repo (rewrite history, make pull/merge requests...)Nice explanation: https://stackoverflow.com/questions/18750808/difference-between-author-and-committer-in-git
Very often developers make inaccurate commits with the one name/email (e.g. work account), then change to the right (e.g. personal account) and make `git commit --amend`, but forget to change the author of the commit.
This way we can use it for OSINT as match of names/emails from git history.### TODO
- [x] Total statistics for repos in a directory
- [ ] Check different names for every email
- [x] GitHub support: clone all repos from account/group
- [ ] GitHub support: api pagination
- [x] GitHub support: extract links to accounts from commit info
- [ ] Exclude "system" accounts (e.g. [email protected])
- [ ] Probabilistic graph links based on same names/emails and Levenshtein distance
- [ ] Other popular git platforms: Gitlab, Bitbucket and also