GitGraber : Monitor GitHub To Search & Find Sensitive Data

GitGraber is a tool developed in Python3 to monitor GitHub to search and find sensitive data in real time for different online services such as: Google, Amazon, Paypal, Github, Mailgun, Facebook, Twitter, Heroku, Stripe.

How it work ?

It’s important to understand that gitGraber is not designed to check history of repositories, many tools can already do that great. gitGraber was originally developed to monitor and parse last indexed files on GitHub. If gitGraber find something interesting, you will receive a notification on your Slack channel. You can also use it to have results directly on the command line.

In our experience, we are convinced that leaks do not come only from the organizations themselves, but also from service providers and employees, who do not necessarily have a “profile” indicating that they work for a particular organization.

Regex are supposed to be the more precise than possible. Sometimes, maybe you will have false-positive, feel free to contribute to improve recon and add new regex for pattern detection.

We prefer to reduce false positive instead to send notification for every “standard” API keys which could found by gitGraber but irrelevant for your monitoring.

Also Read – Mondoo : Native Security & Vulnerability Risk Management

How to use gitGraber ?

usage: gitGraber.py [-h] [-k KEYWORDSFILE] [-q QUERY] [-s] [-w WORDLIST]
optional arguments:
-h, –help show this help message and exit
-k KEYWORDSFILE, –keyword KEYWORDSFILE
Specify a keywords file (-k keywordsfile.txt)
-q QUERY, –query QUERY
Specify your query (-q “apikey”)
-s, –slack Enable slack notifications
-w WORDLIST, –wordlist WORDLIST
Create a wordlist that fills dynamically with
discovered filenames on GitHub

Dependencies

gitGraber needs some dependencies, to install them on your environment:

pip3 install -r requirements.txt

Configuration

Before to start gitGraber you need to modify the configuration file config.py :

  • Add your own Github tokens : GITHUB_TOKENS = ['yourToken1Here','yourToken2Here']
  • Add your own Slack Webhook : SLACK_WEBHOOKURL = 'https://hooks.slack.com/services/TXXXX/BXXXX/XXXXXXX'

How to create Slack Webhook URL

To start and use gitGraber : python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s

We recommend creating a cron that will execute the script regulary:

*/15 * * * * cd /BugBounty/gitGraber/ && /usr/bin/python3 gitGraber.py -k wordlists/keywords.txt -q "uber" -s >/dev/null 2>&1

Credit: Reptou & Hisxo

R K

Recent Posts

How to List Users in Linux

Managing users is an essential part of Linux system administration. Knowing how to list all…

7 minutes ago

Nmap cheat sheet for beginners

Nmap (Network Mapper) is a free tool that helps you find devices on a network,…

2 days ago

Understanding the Model Context Protocol (MCP) and How It Works

Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…

1 week ago

The file Command – Quickly Identify File Contents in Linux

While file extensions in Linux are optional and often misleading, the file command helps decode what a…

1 week ago

How to Use the touch Command in Linux

The touch command is one of the quickest ways to create new empty files or update timestamps…

1 week ago

How to Search Files and Folders in Linux Using the find Command

Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…

1 week ago