À propos de l’secret scanning
Secret scanning est une fonctionnalité de sécurité qui permet de détecter et d’empêcher l’inclusion accidentelle dans votre référentiel d’informations sensibles telles que des clés API, des mots de passe, des jetons ou tout autre secret. Lorsque cette option est activée, secret scanning analyse les validations dans les référentiels pour les types connus de secrets et d’administrateurs de référentiel d’alertes lors de la détection.
Secret scanning recherche les secrets dans l’historique Git de toutes les branches présentes dans votre référentiel GitHub, même si le référentiel est archivé. GitHub exécutera également périodiquement une analyse complète de l’historique Git pour les nouveaux types de secrets dans le contenu existant dans les référentiels publics dans lesquels secret scanning est activé lorsque de nouveaux types de secrets pris en charge sont ajoutés.
De plus, secret scanning analyse :
- Descriptions et commentaires dans les problèmes
- Titres, descriptions et commentaires, dans les problèmes historiques ouverts et fermés. Une notification est envoyée au partenaire approprié quand un modèle de partenaire historique est détecté.
- Titres, descriptions et commentaires dans les demandes de tirage
- Titres, descriptions et commentaires dans GitHub Discussions
- Wikis
- Idées secrètes. Une notification est envoyée au partenaire concerné lorsqu’un modèle partenaire est détecté dans un gist secret.
Conseil
Quel que soit le statut d'activation des fonctionnalités Advanced Security, les organisations utilisant GitHub Team et GitHub Enterprise peuvent générer un rapport gratuit afin d'analyser le code de l'organisation à la recherche de fuites de secrets.
Pour générer un rapport, ouvrez l'onglet ** Sécurité ** de votre organisation, affichez la page ** Évaluations **, puis cliquez sur Analyser votre organisation.
Lorsqu’un secret pris en charge est divulgué, GitHub génère une alerte secret scanning. Les alertes sont signalées dans l’onglet Sécurité des référentiels sur GitHub, où vous pouvez afficher, évaluer et résoudre ces données. Pour plus d’informations, consultez « Gérer les alertes d’analyse des secrets ».
Les fournisseurs de services peuvent collaborer avec GitHub afin de fournir leurs formats de secret pour l’analyse. Nous exécutons automatiquement secret scanning pour les modèles partenaires sur tous les dépôts publics et tous les packages npm publics. 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 de secrets sont signalées directement au partenaire approprié et ne sont pas affichées sur GitHub. Pour plus d’informations sur les modèles de partenaires, consultez À propos des alertes d’analyse des secrets.
Pour plus d’informations sur les secrets et les fournisseurs de services pris en charge par secret scanning, consultez Modèles de détection de secrets pris en charge.
Vous pouvez utiliser l’API REST pour monitorer les résultats de l’secret scanning sur vos référentiels ou votre organisation. Pour plus d’informations sur les points de terminaison d’API, consultez Points de terminaison d’API REST pour l’analyse de secrets.
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 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é ».
Flux d’secret scanning
Vous trouverez ci-dessous un flux de travail classique qui explique comment fonctionne secret scanning :
-
**Détection :** Secret scanning analyse automatiquement le contenu de votre référentiel pour les données sensibles, telles que les clés API, les mots de passe, les jetons et d’autres secrets. Il recherche des modèles et des heuristiques qui correspondent aux types connus de secrets. -
**Alertes :** lorsqu’un secret potentiel est détecté, GitHub génère une alerte et avertit les administrateurs et utilisateurs du référentiel appropriés. Cette notification inclut des détails sur le secret détecté, par exemple son emplacement dans le référentiel. Pour plus d’informations sur les types d’alertes et les détails de l’alerte, consultez « [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts) ». -
**Révision :** lorsqu’un secret est détecté, vous devez passer en revue les détails de l’alerte fournis. -
**Correction :** vous devez ensuite prendre les mesures appropriées pour corriger l’exposition. Ces mesures doivent toujours inclure la rotation des informations d’identification affectées afin de s’assurer qu’elles ne sont plus utilisables. Vous pouvez également supprimer le secret de l’historique du référentiel (à l’aide d’outils tels que `git-filter-repo` ; consultez [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository) pour plus de détails), bien que cela implique probablement un coût élevé en termes de temps et d’efforts, et est généralement inutile si les informations d’identification ont été révoquées. -
**Surveillance :** il est recommandé d’auditer et de surveiller régulièrement vos référentiels pour vous assurer qu’aucun autre secret n’est exposé. -
**Intégration avec des partenaires :** GitHub fonctionne avec différents fournisseurs de services pour valider les secrets. Lorsqu’un secret partenaire est détecté, GitHub avertit le fournisseur afin qu’il puisse prendre les mesures appropriées, telles que la révocation des informations d’identification. Pour plus d’informations sur le programme de partenariat, consultez [AUTOTITLE](/code-security/secret-scanning/secret-scanning-partnership-program/secret-scanning-partner-program).
À propos des avantages des secret scanning
-
**Sécurité renforcée :** Secret scanning analyse vos référentiels pour obtenir des informations sensibles telles que des clés API, des mots de passe, des jetons ou tout autre secret. En détectant tôt ces risques, vous pouvez atténuer les risques de sécurité potentiels avant qu’ils ne soient exploités par des acteurs malveillants. -
**Détection automatisée :** la fonctionnalité analyse automatiquement votre base de code, y compris les validations, les problèmes et les demandes de tirage, ce qui garantit une protection continue sans intervention manuelle. Cette automatisation permet de maintenir la sécurité même à mesure que votre référentiel évolue. -
**Alertes en temps réel :** lorsqu’un secret est détecté, secret scanning fournit des alertes en temps réel aux administrateurs et contributeurs du référentiel. Ces commentaires immédiats permettent d’effectuer des actions de correction rapides. -
**Intégration avec les fournisseurs de services :** GitHub s’associe à divers fournisseurs de services pour valider les secrets détectés. Lorsqu’un secret est identifié, GitHub informe le fournisseur de services correspondant de prendre les mesures appropriées, telles que la révocation des informations d’identification exposées. Pour plus d’informations, consultez « [AUTOTITLE](/code-security/secret-scanning/secret-scanning-partnership-program/secret-scanning-partner-program) ». -
**Prise en charge des modèles personnalisés :** les organisations peuvent définir des modèles personnalisés pour détecter des types de secrets propriétaires ou uniques qui peuvent ne pas être couverts par des modèles par défaut. Cette flexibilité permet des mesures de sécurité personnalisées spécifiques à votre environnement. -
**Possibilité de détecter des modèles non fournisseurs :** vous pouvez développer la détection pour inclure des modèles non fournisseurs tels que des chaînes de connexion, des en-têtes d’authentification et des clés privées, pour votre référentiel ou votre organisation.
Personnalisation de l’secret scanning
Une fois que l'secret scanning est activée, vous pouvez le personnaliser ultérieurement :
Détection des modèles non fournisseurs
Recherchez et détectez les secrets qui ne sont pas spécifiques à un fournisseur de services, tels que les clés privées et les clés API génériques. Pour plus d’informations, consultez « Activation de l’analyse du secret pour les modèles non fournisseurs ».
Exécution de vérifications de validité
Les contrôles de validité vous aident à classer par ordre de priorité les alertes en vous indiquant quels secrets sont active ou inactive. Pour plus d’informations, consultez Activer les vérifications de validité pour votre référentiel et Évaluation des alertes à partir de l’analyse des secrets.
Définition de modèles personnalisés
Définissez vos propres modèles pour les secrets utilisés par votre organisation que l'secret scanning peut rechercher et détecter. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
Analyse des secrets Copilot
-
**Détection de secrets génériques :** tirez parti des fonctionnalités d’IA de secret scanning pour détecter les secrets non structurés, tels que les mots de passe, dans votre référentiel. Pour plus d’informations, consultez [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets). -
**Générateur d’expressions régulières :** tirez parti des fonctionnalités d’IA de l'secret scanning pour générer des expressions régulières qui recouvrent tous vos modèles personnalisés. Pour plus d’informations, consultez [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-regex-generator).
Lectures complémentaires
-
[AUTOTITLE](/code-security/secret-scanning/enabling-secret-scanning-features/enabling-secret-scanning-for-your-repository) -
[AUTOTITLE](/code-security/secret-scanning/introduction/about-push-protection) -
[AUTOTITLE](/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization) -
[AUTOTITLE](/code-security/getting-started/securing-your-repository) -
[AUTOTITLE](/authentication/keeping-your-account-and-data-secure)