Gitleaks: Installation und Nutzung

Überblick

Gitleaks ist ein Open-Source-Tool zur Erkennung von Geheimnissen wie API-Schlüsseln, Passwörtern und Tokens in Git-Repositories. Es unterstützt Entwickler und DevOps-Teams dabei, unbeabsichtigte Offenlegungen sensibler Informationen zu verhindern.

Installation

Voraussetzungen

  • Git muss installiert sein.
  • Je nach Installationsmethode: Go oder ein geeigneter Paketmanager.

Installation über vorkompilierte Binärdatei

  1. Neueste Version von der Gitleaks Release-Seite herunterladen.

  2. Die Binärdatei ausführbar machen:

    chmod +x gitleaks
  3. Die Datei in einen Verzeichnis im $PATH verschieben, z.B.:

    sudo mv gitleaks /usr/local/bin/

Installation mit Paketmanager

Homebrew (macOS)

brew install gitleaks

APT (Debian/Ubuntu)

echo "deb [trusted=yes] https://apt.fury.io/gitleaks/ /" | sudo tee /etc/apt/sources.list.d/gitleaks.list
sudo apt update
sudo apt install gitleaks

Scoop (Windows)

scoop install gitleaks

Installation mit Go

Voraussetzung: Go-Umgebung ist eingerichtet.

go install github.com/gitleaks/gitleaks/v8@latest

Nutzung

Basis-Scan eines lokalen Repositories

Um das aktuelle Repository auf Geheimnisse zu untersuchen:

gitleaks detect

Oder spezifisch ein Verzeichnis angeben:

gitleaks detect --source=/path/zum/repository

Scan eines Remote-Repositories

gitleaks detect --repo=https://github.com/benutzer/repository.git

Ausgabeoptionen

Die Ergebnisse können in verschiedenen Formaten ausgegeben werden:

  • JSON-Format

    gitleaks detect --report-format=json --report-path=bericht.json
  • SARIF-Format (für GitHub Code Scanning)

    gitleaks detect --report-format=sarif --report-path=code-scanning.sarif

Verwendung einer Konfigurationsdatei

Gitleaks kann mit einer benutzerdefinierten Konfigurationsdatei betrieben werden, um spezifische Regeln zu definieren oder auszuschließen.

gitleaks detect --config=/path/zur/gitleaks.toml

Beispiel: Nur bestimmte Commits scannen

gitleaks detect --source=. --commit=COMMIT_SHA

Integration in CI/CD-Pipelines

GitHub Actions

Erstellen Sie eine Workflow-Datei .github/workflows/gitleaks.yml:

name: Gitleaks
 
on: [push, pull_request]
 
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Gitleaks Scan
        uses: zricethezav/gitleaks-action@v1

GitLab CI/CD

Fügen Sie folgendes zu .gitlab-ci.yml hinzu:

gitleaks_scan:
  image: zricethezav/gitleaks:latest
  script:
    - gitleaks detect --source=. --exit-code=1

Konfiguration

Erstellung einer benutzerdefinierten gitleaks.toml

Eine Beispielkonfigurationsdatei könnte wie folgt aussehen:

title = "Benutzerdefinierte Gitleaks-Regeln"
 
[[rules]]
id = "custom-rule"
description = "Erkennung eines spezifischen Musters"
regex = '''your_regex_pattern'''
secretGroup = 1

Tipps und Best Practices

  • False Positives reduzieren durch Anpassung der Konfiguration.
  • Regelmäßige Scans in die Entwicklungszyklen einbetten.
  • Sensiblen Codeverlauf bereinigen mit Tools wie git filter-branch oder bfg.

Tags:gitleaksgitsicherheitgeheimnisseci-cdcodeanalyseinstallationnutzung

Gehacktes-Overview