Partez du modèle d’accès, pas de l’étiquette
Un gist secret est souvent perçu comme « privé ». Il ne l’est pas. La distinction est importante car un lien de gist peut circuler : collé dans une conversation, intégré dans une note, transféré par e-mail ou enregistré dans l’historique d’un navigateur. Si le contenu est sensible, la question n’est pas de savoir si le gist apparaît dans les résultats de recherche, mais qui détient le lien.
Un gist secret GitHub est exclu des recherches publiques, mais toute personne disposant de son lien peut le consulter. Source
Ce simple fait change la donne pour l’audit. Vous ne cherchez pas seulement des secrets divulgués dans des listes publiques ; vous cherchez tout gist dont vous avez partagé le lien ou dont vous ne pouvez pas rendre compte. Un gist public et un gist secret diffèrent par leur découvrabilité, pas par leur accès via un lien.
Étape 1 : Inventoriez les gists que vous possédez
Ouvrez votre compte GitHub et listez vos gists. Travaillez depuis le compte qui les possède, pas depuis un moteur de recherche. Vous avez besoin de l’ensemble complet que vous contrôlez, car un moteur de recherche ne montre que ce qu’il a indexé.
Établissez un inventaire de travail avec quatre colonnes :
| Colonne | Ce qu’il faut noter |
|---|---|
| Identifiant du gist | L’URL ou l’ID court du gist |
| Visibilité | Public ou secret, tel qu’affiché dans votre compte |
| Classe de contenu | Exemple de code, configuration, notes, texte proche d’un identifiant |
| Exposition du lien | Où le lien a été collé, intégré ou envoyé |
Ne collez pas de vrais secrets dans cet inventaire. Notez la classification, pas la valeur. Si un gist contient un jeton ou un mot de passe, marquez-le comme proche d’un identifiant et considérez la valeur comme compromise jusqu’à ce que vous l’ayez renouvelée.
Étape 2 : Classez chaque gist selon qui a besoin d’y accéder
Le tableau de décision ci-dessous transforme l’audit en modèle d’accès. Il n’utilise que la distinction prise en charge par la plateforme : gists publics, gists secrets et dépôts privés.
| Besoin | Modèle adapté | Raison |
|---|---|---|
| Le contenu est destiné à être trouvé et réutilisé | Gist public | Public par conception ; découvrable |
| Le contenu est partageable mais ne doit pas être listé dans les recherches | Gist secret | Exclu des recherches publiques, mais accessible par lien |
| Le contenu nécessite un contrôle d’accès privé | Dépôt privé | Recommandation de GitHub pour les contenus privés |
| Le contenu contient des identifiants ou des données personnelles | Dépôt privé, puis renouvellement | Un lien de gist n’est pas un contrôle d’accès |
Deux limites méritent d’être clairement énoncées. Un gist public ne peut pas être converti en gist secret ; un gist public qui n’aurait pas dû l’être doit donc être traité comme une décision de suppression et de recréation, et non comme un simple basculement.
Un gist public ne peut pas être converti en gist secret. Source
Et un gist secret ne remplace pas un dépôt privé lorsque le contenu nécessite véritablement un accès privé.
GitHub recommande un dépôt privé pour les contenus nécessitant un accès privé. Source
Étape 3 : Retracez le parcours de chaque lien de gist
Pour chaque gist secret, posez une question plus précise : qui détient l’URL ? Recherchez l’URL du gist dans vos propres messages envoyés, commentaires d’issues, descriptions de pull requests, brouillons de documentation et notes partagées. Vérifiez si le lien apparaît sur une page publique que vous maintenez.
C’est ici qu’un état d’esprit de recherche de nom d’utilisateur (username lookup) aide. Les liens de gists sont souvent partagés avec un pseudonyme ; examiner les pseudonymes publics que vous utilisez peut donc révéler où vous avez publié des liens. Si vous avez utilisé plusieurs pseudonymes au fil du temps, commencez par un examen de vos pseudonymes publics connus, puis vérifiez chaque profil pour y trouver des URL de gists. TraceSeek peut vérifier un nom d’utilisateur sur plus de 3 000 plateformes en 20–30 secondes, et le premier scan est gratuit ; il montre où un pseudonyme apparaît publiquement, pas ce que contient un gist ni si un lien a été partagé en privé. Utilisez-le pour trouver des profils publics susceptibles de contenir des liens, pas comme un registre des partages privés.
Pour une méthode structurée afin de reconstituer cette liste d’anciens comptes, voir /guides/find-forgotten-online-accounts/. Pour la page de recherche spécifique à la plateforme, voir /find/github/.
Étape 4 : Décidez, puis agissez
Utilisez la classification pour choisir une action par gist :
- Conservez-le comme gist public uniquement si le contenu est destiné à une réutilisation publique.
- Conservez-le comme gist secret uniquement si l’accès par lien est acceptable pour toutes les personnes susceptibles de recevoir le lien.
- Déplacez les contenus proches d’identifiants ou personnels vers un dépôt privé, puis renouvelez toute valeur exposée.
- Pour un gist public qui n’aurait pas dû l’être, supprimez-le et recréez le contenu sous le bon modèle ; ne supposez pas qu’un interrupteur de visibilité existe.
Supprimer un gist supprime votre copie. Cela ne supprime pas les copies que d’autres ont pu faire, les caches des moteurs de recherche ou les liens déjà collés ailleurs. Anticipez : renouvelez d’abord les secrets, puis nettoyez le gist.
Erreurs courantes
- Confondre « secret » et « privé ». Un gist secret est exclu des recherches publiques, mais toute personne disposant de son lien peut le consulter. Toute la différence est là.
- Supposer qu’un gist public peut devenir secret plus tard. Un gist public ne peut pas être converti en gist secret ; la décision doit donc être prise avant la publication.
- Stocker des jetons dans un gist par commodité. Un gist est une surface de partage. Les identifiants appartiennent à un dépôt privé ou à un gestionnaire de secrets, pas à une page accessible par lien.
- Auditer uniquement ce que montrent les moteurs de recherche. Les index de recherche sont incomplets et en retard. Auditez depuis votre propre compte, pas depuis une barre de recherche.
- Supprimer avant de renouveler. Si un identifiant se trouvait dans un gist, supprimer le gist n’invalide pas l’identifiant. Renouvelez d’abord.
- Confondre une correspondance de nom d’utilisateur avec la propriété. Un profil public qui mentionne l’URL d’un gist est une piste, pas la preuve que la personne contrôle le gist ou le compte.
Protégez votre propre empreinte
La solution durable est une règle par défaut plutôt qu’un nettoyage ponctuel. Décidez à l’avance quelle classe de contenu va vers quel modèle : gists publics pour les exemples que vous voulez voir trouvés, gists secrets pour les contenus partageables mais non listés, et dépôts privés pour tout ce qui nécessite un accès privé. En cas de doute, les propres recommandations de GitHub pointent vers un dépôt privé.
GitHub recommande un dépôt privé pour les contenus nécessitant un accès privé. Source
Ensuite, tenez l’inventaire à jour. Une courte revue trimestrielle de vos gists, de leur visibilité et des lieux où leurs liens ont été partagés permet de détecter les dérives avant qu’elles ne deviennent des expositions. Lorsque vous examinez des pseudonymes publics, rappelez-vous qu’une recherche de nom d’utilisateur est un générateur de pistes, pas un inventaire complet de comptes, et qu’elle ne peut pas voir les partages privés ni le contenu d’un gist.
Faits clés
Un gist secret GitHub est exclu des recherches publiques, mais toute personne disposant de son lien peut le consulter.
Un gist public ne peut pas être converti en gist secret.
GitHub recommande un dépôt privé pour les contenus nécessitant un accès privé.
TraceSeek vérifie un nom d’utilisateur sur plus de 3 000 plateformes en 20–30 secondes, et le premier scan est gratuit.