Skip to main content

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

Vous pouvez définir vos propres modèles personnalisés pour étendre les fonctionnalités de secret scanning en générant une ou plusieurs expressions régulières.

Qui peut utiliser cette fonctionnalité ?

Propriétaires du référentiel, propriétaires de l'organisation, responsables de la sécurité, administrateurs de l'entreprise et utilisateurs ayant le rôle d'administrateur

Les modèles personnalisés pour secret scanning sont disponibles pour les référentiels suivants :

  • Dépôts publics, privés et internes dans les organisations utilisant GitHub Enterprise Cloud avec GitHub Advanced Security activé

À 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 de secrets pris en charge ».

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.

Vous pouvez également activer la protection des envois (push) pour les modèles personnalisés. Pour plus d’informations sur la protection push, consultez « À propos de la protection push ».

À propos de l’utilisation d’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.

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.

Les expressions régulières peuvent être entrées manuellement ou générées à l’aide du générateur d’expressions régulières.

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

La section Plus d’options dans l’IU vous aide à écrire manuellement des 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.

Utilisation du générateur d’expressions régulières

Le générateur utilise un modèle IA génératif dans lequel vous entrez une description textuelle du type de modèle que vous souhaitez détecter, avec des exemples de chaînes qui doivent être détectées (facultatif). Le modèle retourne jusqu’à trois expressions régulières pour vous permettre de les vérifier et de faire votre choix. Pour plus d’informations, consultez « Utilisation responsable de l’IA pour définir des expressions régulières » et « Génération d’expressions régulières pour les modèles personnalisés avec l’IA ».

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 « Activation de l’analyse des secrets pour votre référentiel ».

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

  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, saisissez un nom pour votre modèle.
    2. Dans le champ Format secret, saisissez une expression régulière pour le format de votre modèle secret. Vous pouvez également utiliser le générateur pour générer une expression régulière pour vous. Pour plus d’informations, consultez « Génération d’expressions régulières pour les modèles personnalisés avec l’IA ».
    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.

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

  11. Vous pouvez éventuellement activer la protection des poussées (push) pour votre modèle personnalisé, en cliquant sur Activer.

    Note

    Le bouton « Activer » n’est disponible que si l’essai à blanc a réussi et que vous avez publié le modèle.

    Pour plus d’informations sur la protection push, consultez « À propos de la protection push ».

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. Vous pouvez utiliser security configurations pour activer secret scanning sur tous les référentiels de votre organisation en utilisant GitHub-recommended security configuration, ou vous pouvez créer une custom security configuration. Pour plus d'informations, voir « Application de la configuration de sécurité recommandée par GitHub dans votre organisation » et « Creating a custom security configuration ».

  1. Dans le coin supérieur droit de GitHub, sélectionnez votre photo de profil, puis cliquez sur Vos organisations.

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

  3. Dans la section « Sécurité » de la barre latérale, sélectionnez le menu déroulant Sécurité du code, puis cliquez sur Global settings.

  4. Sous « Modèles personnalisés », cliquez sur Nouveau modèle.

  5. 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, saisissez un nom pour votre modèle.
    2. Dans le champ Format secret, saisissez une expression régulière pour le format de votre modèle secret. Vous pouvez également utiliser le générateur pour générer une expression régulière pour vous. Pour plus d’informations, consultez « Génération d’expressions régulières pour les modèles personnalisés avec l’IA ».
    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.

  6. 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.

  7. Sélectionnez les référentiels dans lesquels vous souhaitez effectuer le test.

    • Pour effectuer le test dans l’ensemble de l’organisation, sélectionnez Tous les référentiels de l’organisation.
    • Pour spécifier les référentiels dans lesquels vous souhaitez effectuer le test, sélectionnez Référentiels sélectionnés, puis recherchez et sélectionnez jusqu’à 10 référentiels.
  8. Lorsque vous êtes prêt à tester votre nouveau modèle personnalisé, cliquez sur Exécuter.

  9. 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.

  10. 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.

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

  12. Si vous souhaitez activer la protection des envois (push) pour votre modèle personnalisé (facultatif), cliquez sur Activer. Pour plus d’informations, consultez « À propos de la protection push ».

    Note

    • L'option permettant d'activer la protection push n'est visible que pour les modèles publiés.
    • La protection des envois (push) pour les modèles personnalisés s’applique uniquement aux référentiels de l’organisation sur lesquels l’secret scanning est activée comme protection des envois (push). Pour plus d’informations, consultez « À propos de la protection push ».
    • L’activation de la protection des envois (push) pour les modèles personnalisés courants peut entraîner des perturbations pour les contributeurs.

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

Avant de définir un modèle personnalisé, vous devez vous assurer que vous activez l’analyse des secrets pour votre compte d’entreprise. Pour plus d’informations, consultez « Activation de GitHub Advanced Security pour votre entreprise ».

Note

  • 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, cliquez sur votre photo de profil.

  2. En fonction de votre environnement, cliquez sur Votre entreprise ou sur Vos entreprises, puis cliquez sur l'entreprise que vous souhaitez consulter.

  3. Sur le côté gauche de la page, dans la barre latérale du compte d’entreprise, cliquez sur Stratégies. 1. Sous Stratégies, cliquez sur Sécurité et analyse du code.

  4. Sous « Sécurité et analyse du code », cliquez sur 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, saisissez un nom pour votre modèle.
    2. Dans le champ Format secret, saisissez une expression régulière pour le format de votre modèle secret. Vous pouvez également utiliser le générateur pour générer une expression régulière pour vous. Pour plus d’informations, consultez « Génération d’expressions régulières pour les modèles personnalisés avec l’IA ».
    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 Exécuter.

  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.

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

  13. Si vous souhaitez activer la protection des envois (push) pour votre modèle personnalisé (facultatif), cliquez sur Activer. Pour plus d’informations, consultez « À propos de la protection push ».

    Note

    • Pour rendre possible la protection des envois (push) dans le cadre des modèles personnalisés, l’secret scanning doit être activée comme protection des envois (push) au niveau de l’entreprise. Pour plus d’informations, consultez « À propos de la protection push ».
    • L’activation de la protection des envois (push) pour les modèles personnalisés courants peut entraîner des perturbations pour les contributeurs.

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 ».

Pour aller plus loin