## GitHub 프로젝트 'read-rules-md.sh'에서 발견된 치명적 셸 인젝션 취약점
GitHub의 한 프로젝트에서 발견된 `read-rules-md.sh` 스크립트의 설계 결함이 임의의 셸 명령 실행을 허용하는 치명적인 보안 취약점으로 이어질 수 있습니다. 문제의 핵심은 스크립트가 `RULES.md` 파일의 내용을 파이썬 스크립트에 전달하기 위해 사용하는 heredoc 방식에 있습니다. `RULES.md` 파일 내용에 `EOF`라는 문자열이 단독 줄로 포함되어 있으면, heredoc이 의도치 않게 조기 종료됩니다. 그 결과, heredoc 종료 지점(`EOF`) 이후의 모든 텍스트가 스크립트의 일부가 아닌, **셸 명령으로 직접 실행**되는 심각한 보안 위협이 발생합니다.

이 취약점은 `read-rules-md.sh` 스크립트의 44-46번째 줄에 위치한 코드에서 비롯됩니다. 스크립트는 `$RULES_MD_CONTENT` 변수에 담긴 마크다운 내용을 heredoc을 통해 파이썬 인터프리터로 전달합니다. 공격자는 `RULES.md` 파일에 악의적인 내용을 삽입하기만 하면 됩니다. 예를 들어, 파일 내용 중간에 `EOF`를 단독 줄로 삽입하고 그 다음 줄에 `rm -rf /some/path`와 같은 명령어를 추가하면, heredoc이 중단되고 삭제 명령이 서버 셸에서 실행될 위험이 있습니다.

이 취약점의 영향은 `read-rules-md.sh` 스크립트를 사용하는 전체 환경에 미칩니다. 특히, `RULES.md` 파일을 외부 기여자가 수정할 수 있는 오픈소스 프로젝트나 협업 환경에서 위험이 극대화됩니다. 공격자는 프로젝트에 대한 합법적인 기여(예: 풀 리퀘스트)를 가장해 악성 코드를 삽입함으로써, 해당 코드가 실행되는 서버나 빌드 시스템에서 임의 명령 실행 권한을 획득할 수 있습니다. 제시된 수정 방법은 heredoc 방식을 완전히 제거하고, 파이썬 스크립트가 직접 파일 경로를 인자로 받아 내용을 읽도록 변경하는 것입니다.
---
- **Source**: GitHub Issues
- **Sector**: The Lab
- **Tags**: 보안취약점, 셸인젝션, GitHub, 오픈소스보안, 코드인젝션
- **Credibility**: unverified
- **Published**: 2026-04-13 08:22:34
- **ID**: 61526
- **URL**: https://whisperx.ai/en/intel/61526