Skip to main content

Find secrets in git repositories with TruffleHog & Gitleaks

Project description

git-secret-scanner

This tool aims to find secrets and credentials in git repositories owned by Organizations or Groups using the libraries TruffleHog & Gitleaks.

Warning

This tool is only designed for Linux and MacOS. The current version only supports GitLab and GitHub.

Why this tool?

Trufflehog and Gitleaks are already designed to find secrets in git repositories. So you may wonder "what is the purpose of a tool combining both scanners?"

These two tools have both their own strenghts and weaknesses:

  • TruffleHog is very effective at classifying different secrets, but cannot find them all. It relies on detectors that can easily detect specific types of secrets, but not general secrets or general API keys.
  • Gitleaks is able to find many more secrets, but is not as good as Trufflehog at classification. It contains fewer detectors and relies on string entropy to detect potential secrets that are not found by its detectors.

We designed this tool to combine the strenghts of both previous tools in order to find as many secrets as possible and to have an efficient classification of these secrets.

Requirements

git-secret-scanner requires the following tools to work:

You can easily check that all requirements are met with the commands below:

$ python --version
$ pip --version
$ git --version
$ trufflehog --version
$ gitleaks version

Installation

Using pip

The simplest way to install git-secret-scanner is with pip.

$ pip install git-secret-scanner

Then export your personal access token for (GitHub or GitLab):

# GitHub
$ export GITHUB_TOKEN="<token>"
# GitLab
$ export GITLAB_TOKEN="<token>"

From source

  1. Clone the repository
$ git clone https://github.com/padok-team/git-secret-scanner.git # using https
# or
$ git clone git@github.com:padok-team/git-secret-scanner.git # using ssh
$ cd git-secret-scanner
  1. Install the Python requirements to run the tool
$ pip install -r requirements.txt
  1. Add your personal access token (GitHub / GitLab) for your git SaaS in your environment variables:
# GitHub
$ export GITHUB_TOKEN="<token>"
# GitLab
$ export GITLAB_TOKEN="<token>"

GitHub tokens require the repo scope, GitLab tokens require both read_api and read_repository scopes.

Usage

To get detailed usage information about how to use this tool, run

$ git-secret-scanner --help

Examples

GitHub

Scan the repositories of the organization my-org and write the output in the file output.csv:

$ git-secret-scanner github -o <my-org>

GitLab

Scan the repositories of the group my-group and write the output in the file output.csv:

$ git-secret-scanner gitlab -o <my-org>

Questions?

Open an issue to contact us or to give us suggestions. We are open to collaboration!

License

License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git_secret_scanner-0.4.0.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_secret_scanner-0.4.0-py3-none-any.whl (38.6 kB view details)

Uploaded Python 3

File details

Details for the file git_secret_scanner-0.4.0.tar.gz.

File metadata

  • Download URL: git_secret_scanner-0.4.0.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for git_secret_scanner-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c6453ce20e9866de1745601e657f5428550daaa9cf51af13fb9883311d7b3090
MD5 738c5020d3a000620732baba367fedf0
BLAKE2b-256 39bce410bb520f0555947e597621c31500a3dc9d9a649d1a6b01cdeee0007f1f

See more details on using hashes here.

File details

Details for the file git_secret_scanner-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for git_secret_scanner-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bcacc5c9e44111b0c9b7bdd8bf77beb98d9a9ebead7e305c18bf3ad6e083f80
MD5 de319e75156ec0591ad6adb2ce93ce40
BLAKE2b-256 84208ba48e3e4476238300713167300cc255a4f8c43ab5f1a57e8332b181d8b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page