secret-scanning

Par github · awesome-copilot

Guide de configuration et de gestion de l'analyse des secrets GitHub (secret scanning), de la protection push (push protection), des patterns personnalisés et de la remédiation des alertes de secrets. Pour l'analyse des secrets avant commit dans les agents de codage IA via le GitHub MCP Server, cette skill référence le plugin Advanced Security (`advanced-security@copilot-plugins`). Utilisez cette skill pour activer le secret scanning, configurer la push protection, définir des patterns personnalisés, trier les alertes, résoudre les pushs bloqués, ou lorsqu'un agent doit analyser du code à la recherche de secrets avant de committer.

npx skills add https://github.com/github/awesome-copilot --skill secret-scanning

Détection des secrets

Cette compétence fournit un guide procédural pour configurer la détection des secrets GitHub — détecter les identifiants compromis, empêcher les envois de secrets, définir des motifs personnalisés et gérer les alertes.

Quand utiliser cette compétence

Utilisez cette compétence lorsque la demande implique :

  • L'activation ou la configuration de la détection des secrets pour un dépôt ou une organisation
  • La mise en place de la protection contre les envois pour bloquer les secrets avant qu'ils n'atteignent le dépôt
  • La définition de motifs de secrets personnalisés avec des expressions régulières
  • La résolution d'un envoi bloqué depuis la ligne de commande
  • Le triage, le rejet ou la correction des alertes de détection des secrets
  • La configuration du contournement délégué pour la protection contre les envois
  • L'exclusion de répertoires de la détection des secrets via secret_scanning.yml
  • La compréhension des types d'alertes (utilisateur, partenaire, protection contre les envois)
  • L'activation de vérifications de validité ou de vérifications de métadonnées étendues
  • L'analyse des changements de code locaux pour les secrets avant la validation (via MCP / agent de codage IA) — voir la section Analyse pré-commit via les agents de codage IA ci-dessous pour le plugin recommandé

Fonctionnement de la détection des secrets

La détection des secrets détecte automatiquement les identifiants exposés dans :

  • L'historique Git complet sur toutes les branches
  • Les descriptions, commentaires et titres des issues (ouverts et fermés)
  • Les titres, descriptions et commentaires des demandes de tirage
  • Les titres, descriptions et commentaires des Discussions GitHub
  • Les wikis et les gists secrets

Disponibilité

Type de dépôt Disponibilité
Dépôts publics Automatique, gratuit
Privés/internes (appartenant à une organisation) Nécessite GitHub Secret Protection sur Team/Enterprise Cloud
Appartenant à un utilisateur Enterprise Cloud avec Enterprise Managed Users

Flux de travail principal — Activer la détection des secrets

Étape 1 : Activer la protection des secrets

  1. Accédez à Paramètres du dépôt → Advanced Security
  2. Cliquez sur Enable à côté de « Secret Protection »
  3. Confirmez en cliquant sur Enable Secret Protection

Pour les organisations, utilisez les configurations de sécurité pour activer à grande échelle :

  • Paramètres → Advanced Security → Global settings → Security configurations

Étape 2 : Activer la protection contre les envois

La protection contre les envois bloque les secrets pendant le processus d'envoi — avant qu'ils n'atteignent le dépôt.

  1. Accédez à Paramètres du dépôt → Advanced Security
  2. Activez « Push protection » sous Secret Protection

La protection contre les envois bloque les secrets dans :

  • Les envois depuis la ligne de commande
  • Les validations via l'interface GitHub
  • Les téléchargements de fichiers
  • Les requêtes REST API
  • Les points de terminaison de création de contenu REST API

Étape 3 : Configurer les exclusions (Optionnel)

Créez .github/secret_scanning.yml pour fermer automatiquement les alertes pour des répertoires spécifiques :

paths-ignore:
  - "docs/**"
  - "test/fixtures/**"
  - "**/*.example"

Limites :

  • Maximum 1 000 entrées dans paths-ignore
  • Le fichier doit faire moins de 1 MB
  • Les chemins exclus ignorent également les vérifications de protection contre les envois

Bonnes pratiques :

  • Soyez aussi spécifique que possible avec les chemins d'exclusion
  • Ajoutez des commentaires expliquant pourquoi chaque chemin est exclu
  • Examinez les exclusions périodiquement — supprimez les entrées obsolètes
  • Informez l'équipe de sécurité des exclusions

Étape 4 : Activer les fonctionnalités supplémentaires (Optionnel)

Motifs non-fournisseur — détecter les clés privées, les chaînes de connexion, les clés API génériques :

  • Paramètres → Advanced Security → activer « Scan for non-provider patterns »

Détection générique des secrets alimentée par l'IA — utilise Copilot pour détecter les secrets non structurés comme les mots de passe :

  • Paramètres → Advanced Security → activer « Use AI detection »

Vérifications de validité — vérifier si les secrets détectés sont toujours actifs :

  • Paramètres → Advanced Security → activer « Validity checks »
  • GitHub teste périodiquement les identifiants détectés par rapport aux API des fournisseurs
  • Statut affiché dans l'alerte : active, inactive ou unknown

Vérifications de métadonnées étendues — contexte supplémentaire sur qui possède un secret :

  • Nécessite d'abord l'activation des vérifications de validité
  • Aide à prioriser la correction et à identifier les équipes responsables

Flux de travail principal — Résoudre les envois bloqués

Lorsque la protection contre les envois bloque un envoi depuis la ligne de commande :

Option A : Supprimer le secret

Si le secret se trouve dans la dernière validation :

# Supprimer le secret du fichier
# Puis amender la validation
git commit --amend --all
git push

Si le secret se trouve dans une validation antérieure :

# Trouvez la première validation contenant le secret
git log

# Commencez un rebase interactif avant cette validation
git rebase -i <COMMIT-ID>~1

# Changez 'pick' en 'edit' pour la validation incriminée
# Supprimez le secret, puis :
git add .
git commit --amend
git rebase --continue
git push

Option B : Contourner la protection contre les envois

  1. Visitez l'URL retournée dans le message d'erreur d'envoi (en tant que l'utilisateur)
  2. Sélectionnez une raison de contournement :
    • C'est utilisé dans les tests — alerte créée et auto-fermée
    • C'est un faux positif — alerte créée et auto-fermée
    • Je la corrigerai plus tard — alerte ouverte créée
  3. Cliquez sur Allow me to push this secret
  4. Renvoyez dans les 3 heures

Option C : Demander des privilèges de contournement

Si le contournement délégué est activé et vous n'avez pas de privilèges de contournement :

  1. Visitez l'URL du message d'erreur d'envoi
  2. Ajoutez un commentaire expliquant pourquoi le secret est sûr
  3. Cliquez sur Submit request
  4. Attendez la notification par email d'approbation/refus
  5. Si approuvé, poussez la validation ; si refusé, supprimez le secret

Pour les flux de travail de contournement et contournement délégué détaillés, recherchez references/push-protection.md.

Motifs personnalisés

Définissez des motifs de secrets spécifiques à l'organisation à l'aide d'expressions régulières.

Configuration rapide

  1. Paramètres → Advanced Security → Custom patterns → New pattern
  2. Entrez le nom du motif et la regex pour le format du secret
  3. Ajoutez une chaîne de test exemple
  4. Cliquez sur Save and dry run pour tester (jusqu'à 1 000 résultats)
  5. Examinez les résultats pour les faux positifs
  6. Cliquez sur Publish pattern
  7. Activez optionnellement la protection contre les envois pour le motif

Portées

Les motifs personnalisés peuvent être définis à :

  • Niveau du dépôt — s'applique à ce dépôt uniquement
  • Niveau de l'organisation — s'applique à tous les dépôts avec détection des secrets activée
  • Niveau Enterprise — s'applique à toutes les organisations

Génération de motifs assistée par Copilot

Utilisez la détection de secrets Copilot pour générer une regex à partir d'une description textuelle du type de secret, incluant des chaînes d'exemple optionnelles.

Pour la configuration détaillée des motifs personnalisés, recherchez references/custom-patterns.md.

Gestion des alertes

Types d'alertes

Type Description Visibilité
Alertes utilisateur Secrets trouvés dans le dépôt Onglet Sécurité
Alertes de protection contre les envois Secrets envoyés via contournement Onglet Sécurité (filtre : bypassed: true)
Alertes partenaires Secrets signalés au fournisseur Non affichées dans le dépôt (fournisseur uniquement)

Listes d'alertes

  • Alertes par défaut — motifs de fournisseurs pris en charge et motifs personnalisés
  • Alertes génériques — motifs non-fournisseur et secrets détectés par l'IA (limités à 5 000 par dépôt)

Priorité de correction

  1. Rotation de l'identifiant immédiatement — c'est l'action critique
  2. Examinez l'alerte pour le contexte (localisation, commit, auteur)
  3. Vérifiez le statut de validité : active (urgent), inactive (priorité inférieure), unknown
  4. Supprimez de l'historique Git si nécessaire (intensif en temps, souvent inutile après la rotation)

Rejection des alertes

Rejet avec une raison documentée :

  • Faux positif — la chaîne détectée n'est pas un vrai secret
  • Révoqué — l'identifiant a déjà été révoqué
  • Utilisé dans les tests — le secret est uniquement dans le code de test

Pour les types d'alertes détaillés, les vérifications de validité et la REST API, recherchez references/alerts-and-remediation.md.

Analyse pré-commit via les agents de codage IA

Pour analyser les changements de code pour les secrets à l'intérieur d'un agent de codage IA avant la validation, installez le plugin Advanced Security qui fournit l'outil MCP run_secret_scanning et une compétence de scan dédiée.

GitHub Copilot CLI :

/plugin install advanced-security@copilot-plugins

Visual Studio Code :

  • Dans Copilot Chat, ouvrez Chat: Plugins (ou utilisez @agentPlugins) et installez le plugin advanced-security
  • Puis exécutez /secret-scanning dans Copilot Chat

Voir : Advanced Security Plugin — Secret Scanning Skill

Annoncé dans Secret scanning in AI coding agents via the GitHub MCP Server (Mars 2026)

Fichiers de référence

Pour la documentation détaillée, chargez les fichiers de référence suivants selon les besoins :

  • references/push-protection.md — Mécanique de la protection contre les envois, flux de contournement, contournement délégué, protection contre les envois utilisateur
    • Motifs de recherche : bypass, delegated, bypass request, command line, REST API, user push protection
  • references/custom-patterns.md — Création de motifs personnalisés, syntaxe regex, exécutions sèches, génération de regex Copilot, portées
    • Motifs de recherche : custom pattern, regex, dry run, publish, organization, enterprise, Copilot
  • references/alerts-and-remediation.md — Types d'alertes, vérifications de validité, métadonnées étendues, alertes génériques, suppression de secrets, REST API
    • Motifs de recherche : user alert, partner alert, validity, metadata, generic, remediation, git history, REST API

Skills similaires