À propos de l’secret scanning
Si votre projet communique avec un service externe, vous pouvez utiliser un jeton ou une clé privée pour l’authentification. Les jetons et les clés privées sont des exemples de secrets qu’un fournisseur de services peut émettre. Si vous archivez un secret dans un dépôt, toute personne disposant d’un accès en lecture au dépôt peut l’utiliser pour accéder au service externe avec vos privilèges. Nous vous recommandons de stocker les secrets dans un emplacement dédié et sécurisé en dehors du dépôt de votre projet.
Secret scanning recherche les secrets dans l’ensemble de votre historique Git sur toutes les branches présentes dans votre dépôt GitHub, même si le dépôt est archivé. Secret scanning recherche également les descriptions des problèmes et les commentaires pour les secrets.
De plus, secret scanning analyse également les titres, descriptions et commentaires dans les problèmes historiques ouverts et fermés, et signale les fuites de secrets en tant qu’alertes sur GitHub. Une notification est envoyée au partenaire approprié quand un modèle de partenaire historique est détecté.
L’Secret scanning est disponible sur GitHub.com sous deux formes :
-
Alertes d’analyse des secrets pour les partenaires. S’exécute automatiquement sur tous les dépôts publics et les packages npm publics. Les fournisseurs de services peuvent collaborer avec GitHub afin de fournir leurs formats de secret pour l’analyse (d’où le terme « collaborer »). Pour en savoir plus sur notre programme de partenariat, consultez « Programme de partenariat d’analyse des secrets ». Toutes les chaînes qui correspondent aux modèles fournis par les partenaires d’analyse des secrets sont signalées directement au partenaire approprié. Pour plus d’informations, consultez la section « À propos des alertes d’analyse des secrets pour les partenaires » ci-dessous.
-
Alertes d’analyse des secrets pour les utilisateurs. Vous pouvez activer et configurer une analyse supplémentaire pour les dépôts appartenant à des organisations qui utilisent GitHub Enterprise Cloud pour tous les dépôts publics (gratuitement) et pour les dépôts privés et internes lorsque vous disposez d’une licence pour GitHub Advanced Security.
Toutes les chaînes qui correspondent aux modèles fournis par les partenaires d’analyse des secrets, par d’autres fournisseurs de services ou définis par vous ou votre organisation sont signalées comme alertes sous l’onglet Sécurité des dépôts. Si une chaîne dans un dépôt public correspond à un modèle de partenaire, elle est également signalée au partenaire. Pour plus d’informations, consultez la section « À propos des alertes d’analyse des secrets pour les utilisateurs » ci-dessous.
Vous pouvez auditer les actions effectuées en réponse aux alertes secret scanning à l’aide des outils GitHub. Pour plus d’informations, consultez « Audit des alertes de sécurité ».
Vous pouvez également activer l’secret scanning en tant que protection des poussées (push) pour un dépôt ou une organisation. Quand vous activez cette fonctionnalité, l’secret scanning empêche les contributeurs de pousser du code comportant un secret détecté. Pour continuer, les contributeurs doivent supprimer le ou les secrets de l’envoi (push) ou si nécessaire contourner la protection. Les administrateurs peuvent également spécifier un lien personnalisé qui s’affiche au contributeur lorsqu’un envoi (push) est bloqué. Ce lien peut contenir des ressources spécifiques à l’organisation destinées à aider les contributeurs. Pour plus d’informations, consultez « Protection des poussées pour les référentiels et les organisations ».
Par ailleurs, vous pouvez activer la protection par émission de données pour vous-même afin d’être protégé, quel que soit le référentiel public vers lequel vous envoyez (push). Pour plus d’informations, consultez « Protection par émission de données pour les utilisateurs ».
Remarque : Lorsque vous dupliquez un dépôt avec secret scanning ou la protection push activée, ces fonctionnalités ne sont pas activées par défaut sur le dupliqué (fork). Vous pouvez activer secret scanning ou la protection push sur le dupliqué (fork) de la même manière que vous les activez sur un référentiel autonome.
À propos des alertes d’analyse des secrets pour les partenaires
Quand vous rendez un dépôt public ou que vous poussez des modifications vers un dépôt public, GitHub Enterprise Cloud analyse toujours le code à la recherche des secrets qui correspondent aux modèles de partenaires. Les packages publics du registre npm sont également analysés. Secret scanning recherche également les descriptions des problèmes et les commentaires pour les secrets. Si l’secret scanning détecte un secret potentiel, nous indiquons au fournisseur de services qui a émis le secret. Le fournisseur de services valide la chaîne, puis décide de révoquer ou non le secret, d’émettre un nouveau secret ou de vous contacter directement. Son action dépend des risques associés pour vous ou lui. Pour plus d’informations, consultez « Modèles d’analyse des secrets ».
Vous ne pouvez pas changer la configuration de l’secret scanning pour les modèles de partenaires sur les référentiels publics.
À propos des alertes d’analyse des secrets pour les utilisateurs
Les Alertes d’analyse des secrets pour les utilisateurs sont disponibles gratuitement sur tous les dépôts publics , et pour les dépôts privés et internes appartenant à des organisations utilisant GitHub Enterprise Cloud avec une licence pour GitHub Advanced Security. Lorsque vous activez l’secret scanning pour un dépôt, GitHub analyse le code à la recherche de modèles qui correspondent aux secrets utilisés par de nombreux fournisseurs de services. Une fois l’analyse terminée, GitHub envoie une alerte par e-mail aux propriétaires de l’entreprise et de l’organisation, même si aucun secret n’a été trouvé.
Secret scanning recherche également les descriptions des problèmes et les commentaires pour les secrets. Lorsqu’un secret pris en charge est divulgué, GitHub Enterprise Cloud génère une alerte secret scanning. GitHub exécute également régulièrement une analyse complète de l’historique Git du contenu existant dans les dépôts GitHub Advanced Security où l’secret scanning est activée, et envoie des notifications d’alerte selon les paramètres de notification d’alerte de l’secret scanning. Pour plus d’informations, consultez « Secrets pris en charge pour les alertes utilisateur ».
Si vous êtes administrateur de dépôt, vous pouvez activer l’alertes d’analyse des secrets pour les utilisateurs pour n’importe quel dépôt , y compris les dépôt archivés. Les propriétaires d’organisation peuvent également activer les alertes d’analyse des secrets pour les utilisateurs pour tous les dépôts ou pour tous les nouveaux dépôts au sein d’une organisation. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre dépôt » et « Gestion des paramètres de sécurité et d’analyse pour votre organisation ».
Vous pouvez également définir des modèles secret scanning pour un référentiel, une organisation ou une entreprise. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
GitHub stocke les secrets détectés en utilisant le chiffrement symétrique, à la fois en transit et au repos.
Accès aux Alertes d’analyse de secrets
Quand vous activez l’secret scanning pour un dépôt ou que vous poussez des commits sur un dépôt où l’secret scanning est activée, GitHub recherche dans le contenu des secrets qui correspondent aux modèles définis par les fournisseurs de services et à tous les modèles personnalisés définis dans votre entreprise, organisation ou dépôt. Secret scanning recherche également les descriptions des problèmes et les commentaires pour les secrets. GitHub also runs a scan of all historical code content in repositories with secret scanning enabled when a new partner pattern or custom pattern is added or updated.
Si l’secret scanning détecte un secret dans un commit, la description d’un problème, ou un commentaire, GitHub génère une alerte.
- GitHub envoie une alerte par e-mail aux administrateurs du dépôt et aux propriétaires de l’organisation. Vous recevrez une alerte si vous surveillez le référentiel , si vous avez activé les notifications pour les alertes de sécurité ou pour toutes les activités sur le référentiel , et si, dans vos paramètres de notification, vous avez choisi de recevoir des notifications par e-mail pour les référentiels que vous surveillez.
- Si la personne qui a introduit le secret dans le commit, la description du problème ou le commentaire n’ignore pas le référentiel, GitHub lui envoie également une alerte par e-mail. Les e-mails contiennent un lien vers l’alerte d’secret scanning associée. La personne qui a introduit le secret peut ensuite afficher l’alerte dans le référentiel et résoudre l’alerte.
- GitHub affiche une alerte sous l’onglet Sécurité du dépôt.
Pour plus d’informations sur l’affichage et la résolution des Alertes d’analyse de secrets, consultez « Gestion des alertes à partir de l’analyse des secrets ».
Pour plus d’informations sur la configuration des notifications pour Alertes d’analyse de secrets, consultez « Configuration des notifications pour les alertes d’analyse des secrets ».
Les administrateurs de référentiel et les propriétaires d’organisation peuvent accorder aux utilisateurs et aux équipes l’accès aux Alertes d’analyse de secrets. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre dépôt ».
Vous pouvez utiliser la vue d’ensemble de la sécurité pour voir au niveau de l’organisation les référentiels où l’secret scanning est activée et les alertes trouvées. Pour plus d’informations, consultez « À propos de la vue d’ensemble de la sécurité ».
Vous pouvez également utiliser l’API REST pour monitorer les résultats de l’secret scanning sur vos référentiels. Pour plus d’informations sur les points de terminaison d’API, consultez « Analyse de secrets ».
Pour aller plus loin
- « Sécurisation de votre dépôt »
- « Maintenir votre compte et vos données sécurisés »
- "Bonnes pratiques pour empêcher les fuites de données dans votre organisation"
- « Gestion des secrets pour vos codespaces »
- "Configuration de l’accès aux registres privés pour Dependabot"
- « Utilisation de secrets dans GitHub Actions »