8000 GitHub - lowgun/gh-recon: Fetches and aggregates public OSINT data for a GitHub user, leveraging Go and the GitHub API.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fetches and aggregates public OSINT data for a GitHub user, leveraging Go and the GitHub API.

License

Notifications You must be signed in to change notification settings

lowgun/gh-recon

 
 

Repository files navigation


GH-Recon

Latest Release GoDoc GoReportCard

Project Overview

Fetches and aggregates public OSINT data for a GitHub user, leveraging Go and the GitHub API.

Features

  • Retrieve basic user profile information (username, ID, avatar, bio, creation dates)
  • List organizations and roles
  • Fetch SSH and GPG keys
  • Enumerate social accounts
  • Extract unique commit authors (name + email)
  • Find close friends
  • Find Github accounts using an email address
  • Export results to JSON
  • Deep scan option (clone repositories, regex search, analyze licenses, etc.)

Disclaimer

This tool is intended for educational purposes only. Use responsibly and ensure you have permission to access the data you are querying.

Prerequisites

  • Go 1.18+
  • GitHub Personal Access Token (recommended for higher rate limits): Create a GitHub API token with no permissions/no scope. This will be equivalent to public GitHub access, but it will allow access to use the GitHub Search API.

Installation

With Go

go get github.com/anotherhadi/gh-recon

With Nix/NixOS

Click to expand

From anywhere (using the repo URL):

nix run github:anotherhadi/gh-recon -- --username TARGET_USER [--token YOUR_TOKEN]

Permanent Installation:

# add the flake to your flake.nix
{
  inputs = {
    gh-recon.url = "github:anotherhadi/gh-recon";
  };
}

# then add it to your packages
environment.systemPackages = with pkgs; [ # or home.packages
  gh-recon
];

Usage

gh-recon --username TARGET_USER [--token YOUR_TOKEN]

Flags

  -d, --deep                  Enable deep scan (clone repos, regex search, analyse licenses, etc.)
  -e, --email string          Search accounts by email address
      --exclude-repo string   Exclude repos from deep scan (comma-separated list)
  -j, --json string           Write results to specified JSON file
      --max-size int          Limit the size of repositories to scan (in MB) (Only for deep scan) (default 150)
  -c, --only-commits          Display only commits with author info
  -r, --refresh               Refresh the cache (deep scan only)
  -s, --silent                Suppress all non-essential output
  -t, --token string          GitHub personal access token (e.g. ghp_...)
  -u, --username string       GitHub username to analyze

Example

gh-recon --username anotherhadi --token ghp_ABC123...
gh-recon --email myemail@gmail.com --token ghp_ABC123...
gh-recon --username anotherhadi --json output.json --deep

Cover your tracks

Understanding what information about you is publicly visible is the first step to managing your online presence. gh-recon can help you identify your own publicly available data on GitHub. Here’s how you can take steps to protect your privacy and security:

  • Review your public profile: Regularly check your GitHub profile and repositories to ensure that you are not unintentionally exposing sensitive information.
  • Manage email exposure: Use GitHub's settings to control which email addresses are visible on your profile and in commit history. You can also use a no-reply email address for commits. Delete/modify any sensitive information in your commit history.
  • Be Mindful of Repository Content: Avoid including sensitive information in your repositories, such as API keys, passwords, emails or personal data. Use .gitignore to exclude files that contain sensitive information.

You can also use a tool like TruffleHog to scan your repositories specifically for exposed secrets and tokens.

Useful links:

Contributing

Feel free to contribute! See CONTRIBUTING.md for details.

About

Fetches and aggregates public OSINT data for a GitHub user, leveraging Go and the GitHub API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.4%
  • Nix 3.6%
0