Aller au contenu principal

Règles d'exclusion

Exclusions par chemin de fichier

En analysant tout l'historique git, ou simplement du fait de votre activité de développement, vous pouvez avoir de nombreux incidents sur le tableau de bord GitGuardian. Réduire le nombre d'incidents et ne vous concentrer que sur ceux qui comptent est donc essentiel. Cette fonctionnalité ne s'applique qu'aux incidents de secrets.

Description

Dans les paramètres de votre espace de travail, section Secrets detection, vous pouvez configurer les chemins de fichiers à exclure de la détection des secrets. Vous pouvez associer des dépôts spécifiques à ces chemins exclus, afin que l'exclusion ne s'applique qu'à ces dépôts.

Lorsqu'un secret apparaît sur un chemin exclu :

  • vous ne recevez aucune notification ;
  • aucun incident n'est créé dans votre tableau de bord.

Notez que les nouvelles exclusions par chemin s'appliquent aussi aux incidents de secrets existants, qui seront alors retirés du tableau des incidents secrets.

Filepath exclusion

Vous pouvez tester un chemin de fichier par rapport à votre liste d'exclusions pour vérifier la configuration.

Format des chemins

Le format est un sous-ensemble du motif de style glob. Il utilise le caractère « / » pour séparer chaque élément du chemin (norme POSIX) et autorise le caractère spécial « * » comme joker. La séquence « ** » permet de faire correspondre récursivement un nombre quelconque de répertoires.

MOTIFREGEX ÉQUIVALENTECORRESPOND ÀNE CORRESPOND PAS À
test.pytest\.py$src/tests/test.pysrc/test/file.py
src/test.py/README
tests/*.pytests/([^/]+)\.py$src/tests/test.py
src/tests/file.py
src/test.py
src/test.txt
/tests/*.py^tests/([^/]+)\.py$tests/test.pysrc/tests/test.py
/*/test.py^([^/]+)/test\.py$src/test.pytest.py
src/tests/test.py
src/**/test.pysrc/([^/]+/)*test\.py$src/test.py
src/dir1/dir2/dir3/test.py
dir1/src/test.py
dir1/dir2/dir3/test.py
/src/**/test.py^src/([^/]+/)*test\.py$src/test.py
src/dir1/dir2/dir3/test.py
dir1/src/test.py
**/templates/templates/templates/file.html
src/templates/file.html
src/file.html

En cas d'usage incorrect du motif glob, GitGuardian corrige automatiquement votre saisie. Par exemple :

  • src/**/**/**/tests/ sera corrigé en src/**/test
  • **/src/** sera corrigé en src/

Suggestions de chemins

Pour vous concentrer sur les secrets les plus pertinents, voici des exemples d'exclusions de chemins :

Documentation et contenu statique

Les fichiers de documentation contiennent rarement des secrets :

  • **/docs/** — Répertoires de documentation
  • **/README* — Fichiers README
  • **/*.md — Fichiers Markdown
  • **/*.rst — Fichiers reStructuredText
  • **/CHANGELOG* — Fichiers de changelog
  • **/LICENSE* — Fichiers de licence

Données de test et mocks

Les fichiers de test peuvent contenir de faux secrets qui ne devraient pas déclencher d'alertes :

  • **/test/** — Répertoires de tests
  • **/tests/** — Variante des répertoires de tests
  • **/*test* — Fichiers dont le nom contient « test »
  • **/mock/** — Répertoires de données mock
  • **/*.test.* — Fichiers de test
  • **/*.spec.* — Fichiers de spécification / test

Fichiers de gestionnaires de paquets

Les fichiers de dépendances ne contiennent en général pas de secrets :

  • **/package-lock.json — Verrou npm
  • **/yarn.lock — Verrou Yarn
  • **/Pipfile.lock — Verrou Pipfile Python
  • **/poetry.lock — Verrou Poetry Python
  • **/Gemfile.lock — Verrou Gemfile Ruby
  • **/go.sum — Sommes de contrôle des modules Go
Révisez vos exclusions

Révisez régulièrement vos exclusions pour vérifier qu'elles restent alignées avec la structure du projet et vos exigences de sécurité.

Exclusion par motif de secret

Description

Dans les paramètres de votre espace de travail, section Secrets detection, vous pouvez configurer le motif de secret à exclure de la détection. Vous pouvez associer des dépôts spécifiques à ces motifs exclus, pour que l'exclusion ne s'applique qu'à ces dépôts. Le motif doit utiliser la syntaxe d'expression régulière.

Lorsqu'un motif de secret est déclenché :

  • vous ne recevez aucune notification ;
  • aucun incident n'est créé dans votre tableau de bord.

Notez que les nouvelles exclusions par motif s'appliquent aussi aux incidents existants, qui seront retirés du tableau des incidents.

Secret Pattern Exclusion

Vous pouvez tester la couverture d'un motif de secret.