Identify Github accounts associated with email addresses
# Clone the repo
$ git clone https://github.com/h51un6/email2github.git
# Change the working directory
$ cd email2github
# Create and activate a virtual environment (optional step)
$ python3 -m venv venv
$ . venv/bin/activate
# Install the requirements
$ pip install -r requirements.txt
This tool uses the Github API. Please create a personal access token by following this documentation. The scope of the token must include "repo" and "delete_repo", as the tool will create and delete fake private repositories.
$ python email2github search --help
Usage: python -m email2github search [OPTIONS] EMAILS
Search email addresses on Github
This command try to resolve email addresses to Github accounts with various
techniques, from the most simple to the most intrusive.
Email addresses could be set from a file or from a comma-separated list.
Options:
-o, --output PATH Save the results as CSV in a file
-q, --quiet Suppress helping messages
--help Show this message and exit.
Description | Command |
---|---|
Search a single email | python email2github search EMAIL |
Search from a file | python email2github search FILEPATH |
Search a list of emails | python email2github search EMAIL1,EMAIL2 |
Technique | Description | Scope |
---|---|---|
Search in emails | Use the Github's users search endpoint to search account by email | Public email |
Create fake commits | Create fake commits with arbitrary email. GitHub automatically resolves the emails to a GitHub accounts associated with them. | Public, private, primary and secondary email |
Thanks to the antnks' enumerate Github users POC.