How to install gitleaks on Windows 10?

Gitleaks Features
Some of the cool features of Gitleaks include:

Support for private repository scans as well as repositories that require key-based authentication
Support for Gitlab bulk organization and repository owner (user) repository scans, and pull request scanning for use in common CI workflows.
You can output the scan results in JSON and CSV and formats for consumption in other reporting tools and frameworks.
Externalised configuration for environment specific customisation including regex rules
repository name, file type, commit ID, regex whitelisting to reduce false positives
High performance through the use of src-d’s go-git framework
How to Install Gitleaks
Gitleaks is written in Go and the binary file is available for many popular platforms and OS types from the releases page.

Step 1: Download Gitleaks
Check the latest release and save it to a variable like below.

export VER="1.24.0"
Then download the binary file to your OS.
For Linux Users

wget https://github.com/zricethezav/gitleaks/releases/download/v$VER/gitleaks-linux-amd64
For macOS user:

wget https://github.com/zricethezav/gitleaks/releases/download/v$VER/gitleaks-darwin-amd64
If you’re a Windows user, download and install gitleaks-windows-amd64.exe.

Step 2: Install Gitleaks
Once the file is downloaded, give it executable bot and put it inside /usr/local/bin.

mv gitleaks-linux-amd64 gitleaks
chmod +x gitleaks
sudo mv gitleaks /usr/local/bin/
For macOS:

mv gitleaks-darwin-amd64 /usr/local/bin/gitleaks
Confirm that you can call the gitleaks command.

$ gitleaks --version

1.24.0
How to Use Gitleaks to Audit Git repositories
Gitleaks has lots of tunables that you don’t actually need for basic usage. The default mode should work against a single repo without any tweaks.

$ gitleaks --repo=https://github.com/jmutai/dotfiles
 INFO[2019-02-13T15:55:43+03:00] cloning https://github.com/jmutai/dotfiles
 Enumerating objects: 42, done.
 Counting objects: 100% (42/42), done.
 Compressing objects: 100% (34/34), done.
 Total 2255 (delta 10), reused 26 (delta 8), pack-reused 2213
 INFO[2019-02-13T15:55:57+03:00] 0 leaks detected. 159 commits inspected in 13 seconds 389 milliseconds
To view the output of the audit as gitleaks processes the repository, use the -v or --verbose flags which turns on verbose mode.
gitleaks --repo=https://github.com/gitleakstest/gronit -v
 INFO[2019-02-13T16:06:08+03:00] cloning https://github.com/gitleakstest/gronit 
 Enumerating objects: 135, done.
 Total 135 (delta 0), reused 0 (delta 0), pack-reused 135
 {
    "line": "const AWS_KEY = \"AKIALALEMEL33243OLIAE\"",
    "commit": "eaeffdc65b4c73ccb67e75d96bd8743be2c85973",
    "offender": "AKIALALEMEL33243OLIA",
    "reason": "AWS",
    "commitMsg": "remove fake key",
    "author": "Zachary Rice \u003czricethezav@users.noreply.github.com\u003e",
    "file": "main.go",
    "repo": "gronit",
    "date": "2018-02-04T19:43:28-06:00"
 }
 {
    "line": "const AWS_KEY = \"AKIALALEMEL33243OLIAE\"",
    "commit": "cb5599aeed261b2c038aa4729e2d53ca050a4988",
    "offender": "AKIALALEMEL33243OLIA",
    "reason": "AWS",
    "commitMsg": "fake key",
    "author": "Zachary Rice \u003czricethezav@users.noreply.github.com\u003e",
    "file": "main.go",
    "repo": "gronit",
    "date": "2018-02-04T19:10:58-06:00"
 }
 WARN[2019-02-13T16:06:11+03:00] 2 leaks detected. 33 commits inspected in 2 seconds 598 milliseconds 
To enable Threading, use the --threads option.

CPU=$(cat /proc/cpuinfo | grep -ic ^processor)
gitleaks --repo=https://github.com/jmutai/dotfiles --threads=$CPU
This option specifies the max number of threads spawned.

Running Gitleaks in Redact mode
The --redact will help show lines containing the secrets without logging the content.

$ gitleaks --repo=https://github.com/gitleakstest/gronit --redact
 INFO[2019-02-13T16:10:16+03:00] cloning https://github.com/gitleakstest/gronit 
 Enumerating objects: 135, done.
 Total 135 (delta 0), reused 0 (delta 0), pack-reused 135
 WARN[2019-02-13T16:10:20+03:00] 2 leaks detected. 33 commits inspected in 3 seconds 786 milliseconds
Saving Gitleaks audit results to file
You can also run an audit on a bunch of repositories and save reports for each repo in a file. For this, use the --report option.

$ gitleaks --repo=https://github.com/jmutai/dotfiles --report=gitleaks_results.csv
 INFO[2019-02-13T16:13:57+03:00] cloning https://github.com/jmutai/dotfiles   
 Enumerating objects: 42, done.
 Counting objects: 100% (42/42), done.
 Compressing objects: 100% (34/34), done.
 Total 2255 (delta 10), reused 26 (delta 8), pack-reused 2213
 INFO[2019-02-13T16:14:15+03:00] 0 leaks detected. 159 commits inspected in 17 seconds 685 milliseconds 
The report must end in .csv or .json.

Check the project Git documentation for more advanced configurations and examples.
Tags

Post a Comment

0Comments

Please Select Embedded Mode To show the Comment System.*

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !