Aller au contenu

Injection de script (workflow)

Injection de script (dans un workflow) : exécution de code choisi par un tiers parce qu'une expression ${{ }} est remplacée dans le texte d'un script avant que le shell ne l'interprète. Un titre de demande de fusion, un nom de branche ou un commentaire contenant $(commande) devient alors une commande exécutée avec le jeton et les secrets du job.

La parade : ne jamais placer d'expression contrôlée par un tiers dans run:, et passer la valeur par une variable d'environnement (env:), que le shell lit comme une donnée. actionlint et zizmor détectent ce motif.

Dans les cours

Voir aussi