GitHub Actions `shell`-Schlüsselwort: Unerwartete Flexibilität und Sicherheitsaspekte

2025-04-08

Das `shell`-Schlüsselwort in GitHub Actions ermöglicht die Angabe der Shell für einen gegebenen Ausführungsblock. Dies ist jedoch weitaus flexibler als in der Dokumentation beschrieben. Es unterstützt nicht nur vordefinierte Shells wie bash und pwsh, sondern auch jede ausführbare Datei im System-`$PATH`. Das bedeutet, dass Sie C-Code mit einem C-Compiler ausführen oder sogar `$GITHUB_PATH` dynamisch ändern können, um das Shell-Verhalten zu beeinflussen. Dies bietet zwar Flexibilität, führt aber auch Sicherheitsrisiken ein, da Dateischreibvorgänge die Ausführung implizieren können. Dies steht im Gegensatz zu der unerwarteten Vorgehensweise von GitHub, `$PATH`-Suchen auch für die "bekannten" Shell-Werte durchzuführen.

Entwicklung