À 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
-
Sur GitHub, accédez à la page principale du référentiel.
-
Au-dessus de la liste de fichiers, sélectionnez le menu déroulant Ajouter un fichier , puis cliquez sur Créer un fichier.
Vous pouvez également cliquer sur dans l’arborescence de fichiers à gauche.
-
Dans le champ du nom de fichier, tapez « .github/secret_scanning.yml ».
-
Sous Modifier le nouveau fichier, tapez
paths-ignore:
suivi des chemins que vous souhaitez exclure de l’secret scanning.YAML paths-ignore: - "docs/**"
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 workflow pour GitHub Actions ».YAML paths-ignore: - "foo/bar/*.js"
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.
- S’il y a plus de 1 000 entrées dans
Vérification que le dossier est exclu de secret scanning
- Ouvrez un fichier dans un répertoire que vous avez exclu de l’analyse de secret
- Collez un secret pré-invalidé ou un secret de test.
- Validez la modification.
- Sur GitHub, accédez à la page principale du référentiel.
- 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é. 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.