GitHub Actionsの`shell`キーワード:予想外の柔軟性とセキュリティへの影響

2025-04-08

GitHub Actionsの`shell`キーワードは、特定のrunブロックで使用するシェルを指定できます。しかし、これはドキュメントが示唆するよりもはるかに柔軟性があります。bashやpwshなどのプリセットシェルだけでなく、システムの`$PATH`にある実行可能ファイルであれば何でも使用できます。つまり、Cコンパイラを使ってCコードを実行したり、`$GITHUB_PATH`を動的に変更してシェルの動作を変えることさえ可能です。これは柔軟性を提供する一方で、ファイルの書き込みが実行を意味する可能性があるため、セキュリティリスクも導入します。これは、GitHubが「既知の」シェル値に対しても`$PATH`ルックアップを行うという予想外のやり方と対照的です。

開発