Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
git-secrets — Vous empêche de valider des secrets et des identifiants dans les dépôts git | Kitploit
Outils/GitHubGitHub/awslabs/git-secrets
Analyse de CodeAudit de ConfigurationDevSecOpsDétection de SecretsTop en Détection de Secrets n°4
GitHubawslabs/git-secrets

git-secrets

Vous empêche de valider des secrets et des identifiants dans les dépôts git

Voir le dépôt
13.4k1.3k110il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

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


Vous empêche de commiter des mots de passe et autres informations sensibles dans un dépôt git.

.. 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 analyse les commits, les messages de commit, et les fusions --no-ff afin d'empêcher l'ajout de secrets dans vos dépôts git. Si un commit, un message de commit, ou tout commit dans un historique de fusion --no-ff correspond à l'un de vos motifs d'expression régulière interdits configurés, alors le commit est rejeté.

Installation de git-secrets

git-secrets doit être placé quelque part dans votre PATH pour qu'il soit détecté par git lors de l'exécution de git secrets.

*nix (Linux/macOS)


Vous pouvez utiliser la cible ``install`` du Makefile fourni pour installer ``git secrets`` et la page de manuel.
Vous pouvez personnaliser le chemin d'installation en utilisant les variables PREFIX et MANPREFIX.

::

    make install

Windows
~~~~~~~

Exécutez le script powershell ``install.ps1`` fourni. Cela copiera les fichiers nécessaires dans un répertoire d'installation (``%USERPROFILE%/.git-secrets`` par défaut) et ajoutera le répertoire au ``PATH`` de l'utilisateur courant.

::

    PS > ./install.ps1

Homebrew (pour les utilisateurs macOS)

::

brew install git-secrets

.. attention::

**Vous n'avez pas encore terminé ! Vous DEVEZ installer les hooks git pour chaque dépôt avec lequel vous souhaitez utiliser** ``git secrets --install``.

Voici un exemple rapide de la façon de garantir qu'un dépôt git est scanné pour les secrets à chaque commit ::

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

Configuration avancée

Ajoutez un modèle de configuration si vous souhaitez ajouter des hooks à tous les dépôts que vous initialiserez ou clônerez à l'avenir.

::

git secrets --register-aws --global

Ajoutez des hooks à tous vos dépôts locaux.

::

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

Ajoutez des fournisseurs personnalisés pour détecter les informations d'identification de sécurité.

::

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

Avant de rendre un dépôt public

Avec git-secrets, il est également possible de scanner un dépôt en incluant toutes les révisions :

::

git secrets --scan-history

Options

Modes de fonctionnement


Chacune de ces options doit apparaître en premier sur la ligne de commande.

``--install``
    Installe les hooks git pour un dépôt. Une fois les hooks installés pour un dépôt git, les commits et les fusions non fast-forward pour ce dépôt seront empêchés de commiter des secrets.

``--scan``
    Scanne un ou plusieurs fichiers à la recherche de secrets. Lorsqu'un fichier contient un secret, le texte correspondant du fichier scanné sera écrit sur stdout et le script se terminera avec un code de sortie non nul. Chaque ligne correspondante sera écrite avec le nom du fichier qui a correspond, deux-points, le numéro de ligne correspondant, deux-points, puis la ligne de texte correspondante. Si aucun fichier n'est fourni, tous les fichiers retournés par ``git ls-files`` sont scannés.

``--scan-history``
    Scanne le dépôt en incluant toutes les révisions. Lorsqu'un fichier contient un secret, le texte correspondant du fichier scanné sera écrit sur stdout et le script se terminera avec un code de sortie non nul. Chaque ligne correspondante sera écrite avec le nom du fichier qui a correspond, deux-points, le numéro de ligne correspondant, deux-points, puis la ligne de texte correspondante.

``--list``
    Liste la configuration ``git-secrets`` pour le dépôt courant ou dans la config git globale.

``--add``
    Ajoute un motif interdit ou autorisé.

``--add-provider``
    Enregistre un fournisseur de secrets. Les fournisseurs de secrets sont des exécutables qui, lorsqu'ils sont invoqués, produisent des motifs interdits que ``git-secrets`` doit traiter comme interdits.

``--register-aws``
    Ajoute les motifs AWS courants à la config git et s'assure que les clés présentes dans ``~/.aws/credentials`` ne se trouvent dans aucun commit. Les vérifications suivantes sont ajoutées :

    - Identifiants de clé d'accès AWS via ``(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}``
    - Clés API Amazon Bedrock. Longue durée via ``ABSK[A-Za-z0-9+/]{109,}=*`` et courte durée via ``bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29t``
    - Assignations de clé secrète d'accès AWS via ":" ou "=" entourées de guillemets optionnels
    - Assignations d'ID de compte AWS via ":" ou "=" entourées de guillemets optionnels
    - Motifs autorisés pour les exemples de clés AWS (``AKIAIOSFODNN7EXAMPLE`` et ``wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY``)
    - Informations d'identification connues de ``~/.aws/credentials``

    .. note::

        Bien que les motifs enregistrés par cette commande devraient détecter la plupart des instances d'informations d'identification AWS, ces motifs ne garantissent pas de tous les détecter. ``git-secrets`` doit être utilisé comme un moyen supplémentaire d'assurance — vous devez toujours faire votre diligence raisonnable pour vous assurer de ne pas commiter d'informations d'identification dans un dépôt.

``--aws-provider``
    Fournisseur de secrets qui produit les informations d'identification trouvées dans un fichier INI. Vous pouvez éventuellement fournir le chemin vers un fichier INI.


Options pour ``--install``

-f, --force Écrase les hooks existants s'ils sont présents.

<target-directory> Lorsqu'il est fourni, installe les hooks git dans le répertoire donné. Le répertoire courant est supposé si <target-directory> n'est pas fourni.

Si le ``<target-directory>`` fourni n'est pas dans un dépôt git, le répertoire sera créé et les hooks seront placés dans ``<target-directory>/hooks``. Cela peut être utile pour créer des répertoires de modèles git à utiliser avec ``git init --template <target-directory>``.

Vous pouvez exécuter ``git init`` sur un dépôt qui a déjà été initialisé. D'après la documentation `git init <https://git-scm.com/docs/git-init>`_ :

    D'après la documentation git : Exécuter ``git init`` dans un dépôt existant est sûr. Cela n'écrasera pas ce qui est déjà présent. La principale raison de réexécuter ``git init`` est d'incorporer les modèles nouvellement ajoutés (ou de déplacer le dépôt à un autre endroit si ``--separate-git-dir`` est donné).

Les hooks git suivants sont installés :

1. ``pre-commit`` : Utilisé pour vérifier si l'un des fichiers modifiés dans le commit utilise des motifs interdits.
2. ``commit-msg`` : Utilisé pour déterminer si un message de commit contient un motif interdit.
3. ``prepare-commit-msg`` : Utilisé pour déterminer si un commit de fusion introduira un historique contenant un motif interdit à un moment donné. Veuillez noter que ce hook n'est invoqué que pour les fusions non fast-forward.

.. note::
Télécharger l’outil