Retour à la leçonMission
Mission : une fuite de secrets via une pull request externe
Identifier et corriger la combinaison dangereuse pull_request_target + checkout du fork + secrets dans un workflow public.
Contexte
Un dépôt open source utilise pull_request_target pour commenter automatiquement chaque pull request externe avec les résultats d'un linter. Le job checkoute github.event.pull_request.head.sha (le code proposé par le fork) et utilise secrets.NPM_TOKEN pour installer certains outils dans ce même job. Le workflow utilise aussi actions/checkout@v4, un tag mutable, sur l'ensemble de ses jobs, avec les permissions par défaut, relativement larges, du workflow.