0%
Secrets, variables et environnements protégés

Secrets et environnements

Ce qui protège réellement un jeton, et ce qui le divulgue sans que vous le voyiez.

10-15 min

Un secret fuit rarement par une attaque. Il fuit parce qu'un développeur pressé a ajouté echo $API_KEY pour vérifier que la variable était bien transmise, que le journal d'exécution est resté six mois dans un dépôt public, et que personne ne s'en est souvenu. Il fuit aussi parce qu'un jeton a été passé en argument de ligne de commande — donc visible dans la liste des processus du runner — ou parce qu'une commande curl en mode verbeux a recopié l'en-tête d'autorisation dans sa sortie.

GitHub masque automatiquement les secrets dans les journaux, en remplaçant leur valeur exacte par des astérisques. Cette protection est réelle mais fragile par construction : elle fonctionne par comparaison de chaînes. Si le secret est encodé, découpé, ou affiché caractère par caractère, le masquage ne reconnaît plus rien et la valeur apparaît en clair. Comprendre où cette protection s'arrête est plus utile que de la considérer comme un filet de sécurité.

Secrets ou variables : la bonne distinction

GitHub propose deux stockages, dans les réglages du dépôt.

Les variables (vars) sont lisibles en clair dans l'interface et affichées dans les journaux. Elles servent à ce qui est de la configuration et non du droit d'accès : une URL d'API, un nom de région, un identifiant de projet, un niveau de journalisation.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !