GitGot is a semi-automated, feedback-driven tool to empower users to rapidly search through troves of public data on GitHub for sensitive secrets.
How it Works
During search sessions, users will provide feedback to GitGot about search results to ignore, and GitGot prunes the set of results. Users can blacklist files by filename, repository name, username, or a fuzzy match of the file contents.
Blacklists generated from previous sessions can be saved and reused against similar queries (e.g., example.com
v.s. subdomain.example.com
v.s. Example Org
). Sessions can also be paused and resumed at any time.
Read more about the semi-automated, human-in-the-loop design here: https://know.bishopfox.com/blog/going-semi-automated-in-an-automated-world-using-human-in-the-loop-workflows-to-improve-our-security-tools
Also Read – Machinae : Machinae Security Intelligence Collector
ssdeep
dependency for fuzzy hashing.Ubuntu/Debian (or equivalent for your distro):
apt-get install libfuzzy-dev ssdeep
or, for Mac OSX:
brew install ssdeep
For Windows or *nix distributions without the ssdeep
package, please see the ssdeep installation instructions.
ssdeep
, install the Python dependencies using pip
:pip3 install -r requirements.txt
GitHub requires a token for rate-limiting purposes. 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. Set this token at the top of gitgot.py
as shown below:
ACCESS_TOKEN = “<NO-PERMISSION-GITHUB-TOKEN-HERE>”
After adding the token, you are ready to go:
–> Query for the string “example.com” using the default RegEx list and logfile location (/logs/.log)
./gitgot.py -q example.com
–> Using GitHub advanced search syntax
./gitgot.py -q “org:github cats”
–> Custom RegEx List and custom log files location
./gitgot.py -q example.com -f checks/default.list -o example1.log
–> Recovery from existing session
./gitgot.py -q example.com -r example.com.state
–> Using an existing session (w/blacklists) for a new query
./gitgot.py -q “Example Org” -r example.com.state
Query Syntax
GitGot queries are fed directly into the GitHub code search API, so check out GitHub’s documentation for more advanced query syntax.
/(secretToken)
)Kali Linux 2024.4, the final release of 2024, brings a wide range of updates and…
This Go program applies a lifetime patch to PowerShell to disable ETW (Event Tracing for…
GPOHunter is a comprehensive tool designed to analyze and identify security misconfigurations in Active Directory…
Across small-to-medium enterprises (SMEs) and managed service providers (MSPs), the top priority for cybersecurity leaders…
The free and open-source security platform SecHub, provides a central API to test software with…
Don't worry if there are any bugs in the tool, we will try to fix…