GitHub Email Scanner for OSINT - Extract emails from repositories and user events
Project description
GitSniff
GitSniff is an MIT licensed OSINT tool designed to extract emails from metadata on GitHub accounts and repos. I built this because all the other similar tools were too limited or broke years ago.
Features
- Find emails in github repo metadata.
- Find emails from GitHub's user event feed
- Outputs results as a table or JSON
Install
git clone https://github.com/Reginald-Gillespie/GitSniff
cd GitSniff
pip install -r requirements.txt
Usage
# Scan a user.
python GitSniff.py -u <username>
# Scan a single repo.
python GitSniff.py -r <repo>
# Show full help pages.
python GitSniff.py -h
The email, reginaldgillespie@protonmail.com, is my email. The rest are the emails of other users found in my repositories because they contributed to them using their real emails.
Full Help Page
$ python .\GitSniff.py -h
usage: GitSniff.py [-h] (-u USERNAME | -r OWNER/REPO) [--no-repos] [--no-events] [-f] [--private] [--max-commits N] [--start-index N] [--max-repos N] [--max-events N] [-t TOKEN] [--token-file FILE] [-p URL] [-j]
GitSniff - GitHub Email Scanner for OSINT
options:
-h, --help Show this help message and exit
Target Selection (required):
-u, --user USERNAME Scan GitHub user or organization
-r, --repo OWNER/REPO
Scan single repository
Scanning Methods:
--no-repos Disable repository cloning scan
--no-events Disable public event API scan
Repository Options:
-f, --forks Include forked repositories
--private Include private repositories (requires token)
--max-commits N Max commits per repository (default: 1000)
--start-index N Start repo scan from index N (default: 0)
--max-repos N Maximum repositories to scan
Event Options:
--max-events N Max public events to scan (default: 1000)
Connection & Output:
-t, --token TOKEN GitHub personal access token
--token-file FILE Path to token file (default: pat.env)
-p, --proxy URL HTTP/SOCKS proxy URL
-j, --json Output in JSON format
Examples:
GitSniff.py -u username # Scan user's repositories and events
GitSniff.py -u username --no-events # Scan only repositories
GitSniff.py -u username --no-repos # Scan only public events
GitSniff.py -r owner/repo # Scan specific repository
GitSniff.py -u username -f --max-repos 5 # Include forks, limit to 5 repos
GitSniff.py -u username --private -t TOKEN # Include private repos with token
This project was inspired by similar, but more limited projects such as:
- GONZOsint/gitrecon - scans event feeds for information.
- chm0dx/gitSome - scans single repositories.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitsniff-1.0.0.tar.gz.
File metadata
- Download URL: gitsniff-1.0.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a4e916ed56e72a8168e3e990fe16951f162c205761abf39c82143fe8a8b66a4
|
|
| MD5 |
09ed21b49ab7b931ae378e43181e344a
|
|
| BLAKE2b-256 |
3224afd32781b47e069d587e28ef63440876d127fba4cced9795dd03fe248c2a
|
File details
Details for the file gitsniff-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gitsniff-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b7e10438cc4e59bab5b5c24e81f1b0318f12a6d7d0a23a0303e4f06463e3a4f
|
|
| MD5 |
566d09bf5d6774a34a7e83bb4c8a0123
|
|
| BLAKE2b-256 |
859a07f6299ba155afd81b11ce9640589d97c80223d2ce243f94754e8e558221
|