Skip to main content

Exclusion des dossiers et des fichiers de l’analyse des secrets

Vous pouvez personnaliser secret scanning pour exclure des répertoires ou des fichiers de l’analyse, en configurant un fichier secret_scanning.yml dans votre référentiel.

Qui peut utiliser cette fonctionnalité ?

Propriétaires de référentiels, propriétaire d’organisations, gestionnaires de sécurité et utilisateurs avec le rôle d’administrateur

À propos de l’secret scanning

Secret scanning détecte automatiquement les jetons ou les identifiants qui ont été archivés dans un référentiel. Vous pouvez afficher les alertes pour tous les secrets que GitHub trouve dans votre code, sous l’onglet Sécurité du référentiel, afin que vous connaissiez les jetons ou identifiants à traiter comme compromis.Pour plus d’informations, consultez « À propos des alertes d’analyse des secrets »

À propos de l’exclusion de répertoires de analyse des secrets

Vous pouvez avoir une raison de commiter un secret dans un référentiel, par exemple lorsque vous souhaitez fournir un faux secret dans la documentation ou dans un exemple d’application. Dans ces scénarios, vous pouvez rapidement ignorer l’alerte et documenter les raisons. Toutefois, il peut arriver que vous souhaitiez ignorer entièrement un répertoire pour éviter de créer des alertes fausses positives à grande échelle. Par exemple, vous pouvez avoir une application monolithique avec plusieurs intégrations contenant un fichier de clés factices qui pourrait désactiver de nombreuses fausses alertes pour le triage.

Vous pouvez configurer un fichier secret_scanning.yml pour exclure les répertoires de secret scanning, notamment quand vous utilisez la protection push.

Exclusion de répertoires de analyse des secrets

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Au-dessus de la liste des fichiers, sélectionnez le menu déroulantAjouter un fichier puis cliquez sur Créer un nouveau fichier.

    Vous pouvez également cliquer sur dans l’arborescence de fichiers à gauche.

    Capture d’écran de la page principale d’un référentiel. Au-dessus de la liste des fichiers, un bouton, intitulé « Ajouter un fichier », est indiqué en orange foncé. Dans l’arborescence de fichiers du référentiel, un bouton, avec une icône du signe plus, est également encadré en orange foncé.

  3. Dans le champ du nom de fichier, tapez « .github/secret_scanning.yml ».

  4. Sous Modifier le nouveau fichier, tapez paths-ignore: suivi des chemins que vous souhaitez exclure de l’secret scanning.

    YAML
    paths-ignore:
      - "docs/**"
    

    Cela indique à secret scanning d’ignorer tout dans le répertoire docs. Vous pouvez utiliser cet exemple de fichier comme modèle pour ajouter les fichiers et dossiers que vous souhaitez exclure de vos propres référentiels.

    Vous pouvez également utiliser des caractères spéciaux tels que * pour filtrer les chemins. Pour plus d’informations sur les modèles de filtre, consultez « Syntaxe de flux de travail pour GitHub Actions ».

    YAML
    paths-ignore:
      - "foo/bar/*.js"
    

    Note

    • S’il y a plus de 1 000 entrées dans paths-ignore, l’secret scanning n’exclut que les 1 000 premiers répertoires des analyses.
    • Si secret_scanning.yml est supérieure à 1 Mo, l’secret scanning ignore la totalité du fichier.

Vérification que le dossier est exclu de secret scanning

  1. Ouvrez un fichier dans un répertoire que vous avez exclu de l’analyse de secret
  2. Collez un secret pré-invalidé ou un secret de test.
  3. Validez la modification.
  4. Sur GitHub, accédez à la page principale du référentiel.
  5. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.
    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.
    Il ne doit pas y avoir de nouvelles alertes ouvertes pour le secret que vous venez d’introduire dans le fichier.

Bonnes pratiques

Voici les meilleures pratiques :

  • Réduire le nombre de répertoires exclus et être aussi précis que possible lors de la définition d’exclusions. Cela garantit que les instructions sont aussi claires que possible et que les exclusions fonctionnent comme prévu.
  • Expliquer pourquoi un fichier ou un dossier particulier est exclu dans un commentaire dans le fichier secret_scanning.yml. Comme avec le code normal, l’utilisation de commentaires précise votre intention, ce qui facilite la compréhension du comportement souhaité par d’autres utilisateurs.
  • Examen régulier du fichier secret_scanning.yml. Certaines exclusions peuvent ne plus s’appliquer avec le temps, et il est recommandé de conserver le fichier propre et actuel. L’utilisation de commentaires, comme indiqué ci-dessus, peut vous aider à cela.
  • Informez l’équipe de sécurité des fichiers et dossiers que vous avez exclus et pourquoi. Une bonne communication est essentielle pour s’assurer que tout le monde se trouve sur la même page et comprend pourquoi des dossiers ou des fichiers spécifiques sont exclus.