Skip to main content

GitHub AE est actuellement en version limitée.

Définition de modèles personnalisés pour l’analyse des secrets

Vous pouvez étendre l’secret scanning pour détecter les secrets au-delà des modèles par défaut.

Secret scanning est disponible pour les référentiels appartenant à l’organisation dans GitHub AE. Il s’agit d’une fonctionnalité de GitHub Advanced Security (gratuite avec la version bêta).

À propos des modèles personnalisés pour secret scanning

Vous pouvez définir des modèles personnalisés pour identifier les secrets qui ne sont pas détectés par les modèles par défaut pris en charge par l’secret scanning. Par exemple, vous pouvez avoir un modèle secret interne à votre organisation. Pour plus d’informations sur les secrets et les fournisseurs de services pris en charge, consultez « Modèles d’analyse des secrets ».

Vous pouvez définir des modèles personnalisés pour votre entreprise, votre organisation ou votre dépôt. L’Secret scanning prend en charge jusqu’à 500 modèles personnalisés par organisation ou compte d’entreprise, et jusqu’à 100 modèles personnalisés par dépôt.

Syntaxe des expressions régulières pour les modèles personnalisés

Les modèles personnalisés d’secret scanning peuvent être spécifiés sous la forme d’une ou plusieurs expressions régulières.

  • Format du secret : expression qui décrit le format du secret lui-même.
  • Avant le secret : expression qui décrit les caractères situés avant le secret. Par défaut, cette expression est définie sur \A|[^0-9A-Za-z], ce qui signifie que le secret doit être au début d’une ligne ou être précédé d’un caractère non alphanumérique.
  • Après le secret : expression qui décrit les caractères situés après le secret. Par défaut, cette expression est définie sur \z|[^0-9A-Za-z], ce qui signifie que le secret doit être suivi d’une nouvelle ligne ou d’un caractère non alphanumérique.
  • Exigences de correspondance supplémentaires : une ou plusieurs expressions facultatives auxquelles le secret lui-même doit ou ne doit pas correspondre.

Pour les jetons simples, en règle générale, vous devez uniquement spécifier un format de secret. Les autres champs vous permettent de spécifier des secrets plus complexes sans créer d’expressions régulières complexes. Pour obtenir un exemple de modèle personnalisé, consultez « Exemple de modèle personnalisé spécifié avec des exigences supplémentaires » plus bas.

L’Secret scanning utilise la bibliothèque Hyperscan et prend uniquement en charge les constructions d’expression régulière Hyperscan, qui sont un sous-ensemble de la syntaxe PCRE. Les modificateurs d’option Hyperscan ne sont pas pris en charge. Pour plus d’informations sur les constructions de modèles Hyperscan, consultez « Prise en charge des modèles » dans la documentation Hyperscan.

Définition d’un modèle personnalisé pour un dépôt

Avant de définir un modèle personnalisé, vous devez vous assurer que l’secret scanning est activée sur votre dépôt. Pour plus d’informations, consultez « Configuration de l’analyse des secrets pour vos dépôts ».

  1. Dans votre entreprise, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres. Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  4. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  5. Sous « Secret scanning », sous « Modèles personnalisés », cliquez sur Nouveau modèle.

  6. Entrez les détails de votre nouveau modèle personnalisé. Vous devez au moins fournir le nom de votre modèle, ainsi qu’une expression régulière pour le format de votre modèle de secret.

    1. Dans le champ « Nom du modèle », tapez un nom pour votre modèle.
    2. Dans le champ « Format de secret », tapez une expression régulière pour le format de votre modèle de secret.
    3. Vous pouvez cliquer sur Autres options pour fournir tout autre contenu environnant ou des exigences de correspondance supplémentaires pour le format du secret.
    4. Fournissez un exemple de chaîne de test pour vérifier que votre configuration correspond aux modèles que vous attendez.

    Capture d’écran d’un formulaire de modèle d’secret scanning personnalisé rempli.

  7. Quand vous êtes prêt à tester votre nouveau modèle personnalisé, pour identifier les correspondances dans le dépôt sans créer d’alertes, cliquez sur Enregistrer et effectuer un test à blanc.

  8. Une fois le test à blanc terminé, vous voyez un échantillon de résultats (jusqu’à 1000). Passez en revue les résultats et identifiez les faux résultats positifs. Capture d’écran montrant les résultats d’un test à blanc.

  9. Modifiez le nouveau modèle personnalisé pour résoudre les problèmes liés aux résultats, puis cliquez sur Enregistrer et effectuer un test à blanc pour tester vos modifications.

    Remarque : La fonctionnalité d’exécution de test est actuellement en version bêta et susceptible de changer.

  10. Quand vous êtes satisfait de votre nouveau modèle personnalisé, cliquez sur Publier le modèle.

Une fois votre modèle créé, secret scanning recherche les secrets dans l’historique Git de toutes les branches présentes dans votre référentiel GitHub.. Pour plus d’informations sur l’affichage des Alertes d’analyse de secrets, consultez « Gestion des alertes à partir de l’analyse des secrets ».

Exemple de modèle personnalisé spécifié avec des exigences supplémentaires

Une entreprise a un jeton interne avec cinq caractéristiques. Elle utilise les différents champs pour spécifier comment identifier les jetons, comme suit :

CaractéristiqueChamp et expression régulière
Longueur comprise entre 5 et 10 caractèresFormat du secret : [$#%@AA-Za-z0-9]{5,10}
Ne se termine pas par .Après le secret : [^\.]
Contient des chiffres et des lettres majusculesExigences supplémentaires : le secret doit correspondre à [A-Z] et [0-9]
N’inclut pas plus d’une lettre minuscule dans une ligneExigences supplémentaires : le secret ne doit pas correspondre à [a-z]{2,}
Contient un caractère parmi $%@!Exigences supplémentaires : le secret doit correspondre à [$%@!]

Les jetons suivants correspondent au modèle personnalisé décrit ci-dessus :

a9@AAfT!         # Secret string match: a9@AAfT
ee95GG@ZA942@aa  # Secret string match: @ZA942@a
a9@AA!ee9        # Secret string match: a9@AA

Les chaînes suivantes ne correspondent pas au modèle personnalisé décrit ci-dessus :

a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9

Définition d’un modèle personnalisé pour une organisation

Avant de définir un modèle personnalisé, vous devez vous assurer que vous activez l’secret scanning pour les dépôts que vous souhaitez analyser dans votre organisation. Pour activer l’secret scanning sur tous les dépôts au sein de votre organisation, consultez « Gestion des paramètres de sécurité et d’analyse pour votre organisation ».

Remarque : Comme il n’existe aucune fonctionnalité de test à blanc, nous vous recommandons de tester vos modèles personnalisés dans un dépôt avant de les définir pour l’ensemble de votre organisation. Vous pouvez ainsi éviter la création d’un nombre excessif de fausses Alertes d’analyse de secrets.

  1. Dans l’angle supérieur droit de GitHub AE, cliquez sur votre photo de profil, puis sur Vos organisations.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Vos organisations » est présenté en orange foncé.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  4. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  5. Sous « Secret scanning », sous « Modèles personnalisés », cliquez sur Nouveau modèle.

  6. Entrez les détails de votre nouveau modèle personnalisé. Vous devez au moins fournir le nom de votre modèle, ainsi qu’une expression régulière pour le format de votre modèle de secret.

    1. Dans le champ « Nom du modèle », tapez un nom pour votre modèle.
    2. Dans le champ « Format de secret », tapez une expression régulière pour le format de votre modèle de secret.
    3. Vous pouvez cliquer sur Autres options pour fournir tout autre contenu environnant ou des exigences de correspondance supplémentaires pour le format du secret.
    4. Fournissez un exemple de chaîne de test pour vérifier que votre configuration correspond aux modèles que vous attendez.

    Capture d’écran d’un formulaire de modèle d’secret scanning personnalisé rempli.

  7. Quand vous êtes prêt à tester votre nouveau modèle personnalisé, pour identifier des correspondances dans certains dépôts sans créer d’alertes, cliquez sur Enregistrer et effectuer un test à blanc.

  8. Recherchez et sélectionnez jusqu’à 10 référentiels dans lesquels vous souhaitez effectuer le test.

  9. Lorsque vous êtes prêt à tester votre nouveau modèle personnalisé, cliquez sur Test.

  10. Une fois le test à blanc terminé, vous voyez un échantillon de résultats (jusqu’à 1000). Passez en revue les résultats et identifiez les faux résultats positifs. Capture d’écran montrant les résultats d’un test à blanc.

  11. Modifiez le nouveau modèle personnalisé pour résoudre les problèmes liés aux résultats, puis cliquez sur Enregistrer et effectuer un test à blanc pour tester vos modifications.

    Remarque : La fonctionnalité d’exécution de test est actuellement en version bêta et susceptible de changer.

  12. Quand vous êtes satisfait de votre nouveau modèle personnalisé, cliquez sur Publier le modèle.

Une fois votre modèle créé, l’secret scanning recherche tous les secrets dans les dépôts de votre organisation, y compris leur historique Git entier sur toutes les branches. Les propriétaires d’organisation et les administrateurs de dépôt sont avertis des secrets trouvés et peuvent passer en revue l’alerte dans le dépôt où se trouve le secret. Pour plus d’informations sur l’affichage des Alertes d’analyse de secrets, consultez « Gestion des alertes à partir de l’analyse des secrets ».

Définition d’un modèle personnalisé pour un compte d’entreprise

Remarques :

  • Au niveau de l’entreprise, seul le créateur d’un modèle personnalisé peut le modifier et l’utiliser dans un essai à blanc.
  • Vous pouvez uniquement effectuer un essai à blanc sur les dépôts auxquels vous bénéficiez d’un accès administrateur. Si un propriétaire d’entreprise souhaite pouvoir effectuer des essais à blanc sur n’importe quel dépôt d’une organisation, le rôle propriétaire d’organisation doit lui être attribué. Pour plus d’informations, consultez « Gestion de votre rôle dans une organisation appartenant à votre entreprise ».
  1. Dans le coin supérieur droit de GitHub AE, cliquez sur votre photo de profil, puis sur Paramètres d’entreprise.

    Capture d’écran du menu déroulant qui s’affiche lorsque vous cliquez sur la photo de profil sur GitHub Enterprise Server. L'option "Paramètres de l'entreprise" est mise en évidence par un contour orange foncé.

  2. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies.

  3. Sous Stratégies, cliquez sur Sécurité avancée.

  4. Sous « GitHub Advanced Security », cliquez sur l’onglet Fonctionnalités de sécurité.

  5. Sous « Modèles personnalisés d’analyse des secrets », cliquez sur Nouveau modèle.

  6. Entrez les détails de votre nouveau modèle personnalisé. Vous devez au moins fournir le nom de votre modèle, ainsi qu’une expression régulière pour le format de votre modèle de secret.

    1. Dans le champ « Nom du modèle », tapez un nom pour votre modèle.
    2. Dans le champ « Format de secret », tapez une expression régulière pour le format de votre modèle de secret.
    3. Vous pouvez cliquer sur Autres options pour fournir tout autre contenu environnant ou des exigences de correspondance supplémentaires pour le format du secret.
    4. Fournissez un exemple de chaîne de test pour vérifier que votre configuration correspond aux modèles que vous attendez.

    Capture d’écran d’un formulaire de modèle d’secret scanning personnalisé rempli.

  7. Quand vous êtes prêt à tester votre nouveau modèle personnalisé, pour identifier les correspondances dans l’entreprise sans créer d’alertes, cliquez sur Enregistrer et effectuer un test.

  8. Recherchez et sélectionnez jusqu’à 10 référentiels dans lesquels vous souhaitez effectuer le test.

  9. Lorsque vous êtes prêt à tester votre nouveau modèle personnalisé, cliquez sur Test.

  10. Une fois le test à blanc terminé, vous voyez un échantillon de résultats (jusqu’à 1000). Passez en revue les résultats et identifiez les faux résultats positifs. Capture d’écran montrant les résultats d’un test à blanc.

  11. Modifiez le nouveau modèle personnalisé pour résoudre les problèmes liés aux résultats, puis cliquez sur Enregistrer et effectuer un test à blanc pour tester vos modifications.

    Remarque : La fonctionnalité d’exécution de test est actuellement en version bêta et susceptible de changer.

  12. Quand vous êtes satisfait de votre nouveau modèle personnalisé, cliquez sur Publier le modèle.

Une fois votre modèle créé, l’secret scanning recherche tous les secrets dans les dépôts au sein des organisations de votre entreprise avec GitHub Advanced Security activé, y compris leur historique Git entier sur toutes les branches. Les propriétaires d’organisation et les administrateurs de dépôt sont avertis des secrets trouvés et peuvent passer en revue l’alerte dans le dépôt où se trouve le secret. Pour plus d’informations sur l’affichage des Alertes d’analyse de secrets, consultez « Gestion des alertes à partir de l’analyse des secrets ».

Modification d’un modèle personnalisé

Quand vous enregistrez une modification apportée à un modèle personnalisé, toutes les Alertes d’analyse de secrets créées avec la version précédente du modèle sont fermées.

  1. Accédez à l’emplacement où le modèle personnalisé a été créé. Un modèle personnalisé peut être créé dans un compte d’organisation ou d’entreprise ou dans un dépôt.
  2. Sous « Secret scanning », à droite du modèle personnalisé que vous souhaitez modifier, cliquez sur .
  3. Quand vous êtes prêt à tester votre modèle personnalisé modifié, pour identifier les correspondances sans créer d’alertes, cliquez sur Enregistrer et effectuer un test.
  4. Une fois que vous avez examiné et testé vos modifications, cliquez sur Publier les modifications.

Suppression d’un modèle personnalisé

  1. Accédez à l’emplacement où le modèle personnalisé a été créé. Un modèle personnalisé peut être créé dans un compte d’organisation ou d’entreprise ou dans un dépôt.
  2. À droite du modèle personnalisé que vous souhaitez supprimer, cliquez sur .
  3. Passez en revue la confirmation et sélectionnez une méthode pour gérer les alertes ouvertes relatives au modèle personnalisé.
  4. Cliquez sur Oui, supprimer ce modèle.