Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
git-secrets — Verhindert, dass du Geheimnisse und Anmeldedaten in Git-Repositorys committest. | Kitploit
Tools/GitHubGitHub/awslabs/git-secrets
Code-AnalyseKonfigurationsprüfungDevSecOpsSecret-ErkennungTop in Secret-Erkennung Nr.4
GitHubawslabs/git-secrets

git-secrets

Verhindert, dass du Geheimnisse und Anmeldedaten in Git-Repositorys committest.

Repository anzeigen
13.4k1.3k110vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

=========== git-secrets


Verhindert, dass Passwörter und andere sensible Informationen in ein Git-Repository committet werden.

.. contents:: :depth: 2

Synopsis

::

git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [<files>...]
git secrets --scan-history
git secrets --install [-f|--force] [<target-directory>]
git secrets --list [--global]
git secrets --add [-a|--allowed] [-l|--literal] [--global] <pattern>
git secrets --add-provider [--global] <command> [arguments...]
git secrets --register-aws [--global]
git secrets --aws-provider [<credentials-file>]

Description

git-secrets scannt Commits, Commit-Nachrichten und --no-ff-Merges, um zu verhindern, dass Geheimnisse in Ihre Git-Repositories gelangen. Falls ein Commit, eine Commit-Nachricht oder ein beliebiger Commit in einer --no-ff-Merge-Historie einem Ihrer konfigurierten verbotenen regulären Ausdrucksmuster entspricht, wird der Commit abgelehnt.

Installing git-secrets

git-secrets muss irgendwo in Ihrem PATH liegen, damit es von git beim Ausführen von git secrets gefunden wird.

*nix (Linux/macOS)


Sie können das ``install``-Target des mitgelieferten Makefile verwenden, um ``git secrets`` und die Manpage zu installieren.
Sie können den Installationspfad mit den Variablen PREFIX und MANPREFIX anpassen.

::

    make install

Windows
~~~~~~~

Führen Sie das mitgelieferte PowerShell-Skript ``install.ps1`` aus. Dies kopiert die benötigten Dateien
in ein Installationsverzeichnis (standardmäßig ``%USERPROFILE%/.git-secrets``) und fügt
das Verzeichnis zum ``PATH`` des aktuellen Benutzers hinzu.

::

    PS > ./install.ps1

Homebrew (für macOS-Nutzer)

::

brew install git-secrets

.. warning::

**Sie sind noch nicht fertig! Sie MÜSSEN die Git-Hooks für jedes Repository installieren,
das Sie mit** ``git secrets --install`` **verwenden möchten.**

Hier ein kurzes Beispiel, wie Sie sicherstellen, dass ein Git-Repository bei jedem Commit auf Geheimnisse überprüft wird::

cd /path/to/my/repo
git secrets --install
git secrets --register-aws

Advanced configuration

Fügen Sie eine Konfigurationsvorlage hinzu, wenn Sie Hooks zu allen Repositorys hinzufügen möchten, die Sie in Zukunft initialisieren oder klonen.

::

git secrets --register-aws --global

Fügen Sie Hooks zu allen Ihren lokalen Repositorys hinzu.

::

git secrets --install ~/.git-templates/git-secrets
git config --global init.templateDir ~/.git-templates/git-secrets

Fügen Sie benutzerdefinierte Provider hinzu, um nach Sicherheitsanmeldeinformationen zu suchen.

::

git secrets --add-provider -- cat /path/to/secret/file/patterns

Before making public a repository

Mit git-secrets ist es auch möglich, ein Repository inklusive aller Revisionen zu scannen:

::

git secrets --scan-history

Options

Operation Modes


Jede dieser Optionen muss als erstes auf der Befehlszeile erscheinen.

``--install``
    Installiert Git-Hooks für ein Repository. Sobald die Hooks für ein Git-Repository installiert sind,
    werden Commits und Non-Fast-Forward-Merges für dieses Repository daran gehindert,
    Geheimnisse zu committen.

``--scan``
    Scannt eine oder mehrere Dateien auf Geheimnisse. Wenn eine Datei ein Geheimnis enthält,
    wird der übereinstimmende Text aus der gescannten Datei in die Standardausgabe geschrieben und das
    Skript beendet sich mit einem Nicht-Null-Statuscode. Jede übereinstimmende Zeile wird mit
    dem Namen der übereinstimmenden Datei, einem Doppelpunkt, der übereinstimmenden Zeilennummer,
    einem Doppelpunkt und dann der übereinstimmenden Textzeile ausgegeben. Wenn keine Dateien angegeben werden,
    werden alle von ``git ls-files`` zurückgegebenen Dateien gescannt.

``--scan-history``
    Scannt das Repository inklusive aller Revisionen. Wenn eine Datei ein Geheimnis enthält,
    wird der übereinstimmende Text aus der gescannten Datei in die Standardausgabe geschrieben und das
    Skript beendet sich mit einem Nicht-Null-Statuscode. Jede übereinstimmende Zeile wird mit
    dem Namen der übereinstimmenden Datei, einem Doppelpunkt, der übereinstimmenden Zeilennummer,
    einem Doppelpunkt und dann der übereinstimmenden Textzeile ausgegeben.

``--list``
    Listet die ``git-secrets``-Konfiguration für das aktuelle Repository oder in der globalen
    Git-Konfiguration auf.

``--add``
    Fügt ein verbotenes oder erlaubtes Muster hinzu.

``--add-provider``
    Registriert einen Geheimnis-Provider. Geheimnis-Provider sind ausführbare Dateien, die
    beim Aufruf verbotene Muster ausgeben, die ``git-secrets`` als verboten behandeln soll.

``--register-aws``
    Fügt gängige AWS-Muster zur Git-Konfiguration hinzu und stellt sicher, dass Schlüssel
    in ``~/.aws/credentials`` in keinem Commit gefunden werden. Die folgenden
    Prüfungen werden hinzugefügt:

    - AWS Access Key IDs via ``(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}``
    - Amazon Bedrock API keys. Long-lived via ``ABSK[A-Za-z0-9+/]{109,}=*`` and short-lived via ``bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29t``
    - AWS Secret Access Key assignments via ":" or "=" surrounded by optional
      quotes
    - AWS account ID assignments via ":" or "=" surrounded by optional quotes
    - Allowed patterns for example AWS keys (``AKIAIOSFODNN7EXAMPLE`` and
      ``wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY``)
    - Known credentials from ``~/.aws/credentials``

    .. note::

        While the patterns registered by this command should catch most
        instances of AWS credentials, these patterns are **not** guaranteed to
        catch them **all**. ``git-secrets`` should be used as an extra means of
        insurance -- you still need to do your due diligence to ensure that you
        do not commit credentials to a repository.

``--aws-provider``
    Secret provider that outputs credentials found in an INI file. You can
    optionally provide the path to an INI file.


Options for ``--install``

-f, --force Überschreibt vorhandene Hooks, falls vorhanden.

<target-directory> Wenn angegeben, installiert Git-Hooks in das angegebene Verzeichnis. Das aktuelle Verzeichnis wird angenommen, wenn <target-directory> nicht angegeben ist.

Wenn das angegebene ``<target-directory>`` nicht in einem Git-Repository liegt, wird
das Verzeichnis erstellt und die Hooks werden in ``<target-directory>/hooks`` abgelegt.
Dies kann nützlich sein, um Git-Vorlagenverzeichnisse zu erstellen, die mit
``git init --template <target-directory>`` verwendet werden.

Sie können ``git init`` in einem bereits initialisierten Repository ausführen.
Aus der `git init-Dokumentation <https://git-scm.com/docs/git-init>`_:

    From the git documentation: Running ``git init`` in an existing repository
    is safe. It will not overwrite things that are already there. The
    primary reason for rerunning ``git init`` is to pick up newly added
    templates (or to move the repository to another place if
    ``--separate-git-dir`` is given).

The following git hooks are installed:

1. ``pre-commit``: Used to check if any of the files changed in the commit
   use prohibited patterns.
2. ``commit-msg``: Used to determine if a commit message contains a
   prohibited patterns.
3. ``prepare-commit-msg``: Used to determine if a merge commit will
   introduce a history that contains a prohibited pattern at any point.
   Please note that this hook is only invoked for non fast-forward merges.
Tool herunterladen