Mot clé `shell` de GitHub Actions : flexibilité inattendue et implications en matière de sécurité

2025-04-08

Le mot clé `shell` dans GitHub Actions permet de spécifier le shell pour un bloc d'exécution donné. Cependant, cela est beaucoup plus flexible que ce que suggère la documentation. Il prend en charge non seulement les shells prédéfinis comme bash et pwsh, mais également tout exécutable dans le `$PATH` du système. Cela signifie que vous pouvez exécuter du code C à l'aide d'un compilateur C, ou même modifier dynamiquement `$GITHUB_PATH` pour changer le comportement du shell. Bien que cela offre de la flexibilité, cela introduit également des risques de sécurité, car les écritures de fichiers peuvent impliquer une exécution. Cela contraste avec la pratique inattendue de GitHub de réaliser des recherches dans `$PATH` même pour ses valeurs de shell « connues ».

Développement