# README

OSINT tool to analyze GitHub user's commit history across repositories
Features ⢠Installation ⢠Usage ⢠Docs ⢠Contributing
A powerful command-line tool that analyzes GitHub user activity and highlights their contributions across repositories. Perfect for developers, maintainers, and anyone interested in understanding contribution patterns on GitHub.
# Quick install
go install github.com/gnomegl/gitslurp@latest
# Basic usage
gitslurp soxoj
Features
- š User-Centric Analysis: Search by GitHub username, email address or organization
- š Comprehensive Commit History: View all commits made by a user across public repositories
- šÆ Visual Highlighting: Easily identify target user's commits with color-coding and emojis
- š„ Multiple Identity Support: Detects and groups commits from different email addresses and names
- š½ Advanced Secret Detection: Powered by TruffleHog regex patterns for enterprise-grade secret detection
- ā Interesting Patterns: Find URLs, UUIDs, IPs, and other interesting patterns in commit messages
- š¦ Repository Context: Shows if commits are in user's own repositories or forks
- š¢ Organization Scanning: Scan entire organizations to identify employees and their commit patterns
Installation
go install github.com/gnomegl/gitslurp@latest
Usage
Basic usage:
gitslurp <username>
Search by email:
gitslurp [email protected]
With GitHub token (recommended for better rate limits):
gitslurp -t <github_token> <username>
Options
--token, -t
: GitHub personal access token (can also be set viaGITSLURP_GITHUB_TOKEN
environment variable)--details, -d
: Show detailed commit information--secrets, -s
: Enable TruffleHog-powered secret detection in commits š½--interesting, -i
: Show interesting findings like URLs, emails, and other patterns in commit messages--all, -a
: Show commits from all contributors in the target's repositories. This is useful for OSINT investigations to discover potential alternate accounts when users accidentally commit with different identities. Note: This flag is automatically enabled when scanning organizations.
Output Format
The tool provides a clear, color-coded output:
- š Target user's emails are marked and highlighted
- ā Target user's commits are highlighted
- š¤ Author information is clearly displayed
- š Repository names are organized and highlighted
Example output:
š [email protected] (Target User)
Names used: John, John Doe
Total Commits: 150
š Repo: example/project
ā Commit: abc123
š URL: https://github.com/example/project/commit/abc123
š¤ Author: John Doe <[email protected]>
Authentication
For better rate limits and access to private repositories, use a GitHub personal access token:
- Create a token at https://github.com/settings/tokens
- Use the
-t
flag or set theGITSLURP_GITHUB_TOKEN
environment variable
Development
Requirements:
- Go 1.21 or higher
- GitHub API access (token recommended)
Build from source:
git clone https://github.com/gnomegl/gitslurp.git
cd gitslurp
go build
License
MIT License - see LICENSE file for details