GitHub Actions의 `shell` 키워드: 예상치 못한 유연성과 보안 위험

2025-04-08

GitHub Actions의 `shell` 키워드는 지정된 실행 블록에 사용할 셸을 지정할 수 있게 합니다. 하지만 이는 문서에서 제시하는 것보다 훨씬 더 유연합니다. bash나 pwsh와 같은 미리 정의된 셸뿐만 아니라 시스템의 `$PATH`에 있는 모든 실행 파일을 사용할 수 있습니다. 즉, C 컴파일러를 사용하여 C 코드를 실행하거나 `$GITHUB_PATH`를 동적으로 수정하여 셸의 동작을 변경할 수도 있습니다. 이는 유연성을 제공하는 동시에 파일 쓰기가 실행을 의미할 수 있으므로 보안 위험도 도입합니다. 이는 GitHub가 "알려진" 셸 값에 대해서도 `$PATH` 조회를 수행하는 예상치 못한 방식과 대조적입니다.

개발