무슨 일이 있었나
Repomix의 shallow-clone 헬퍼가 git 명령어에 전달하기 전에 사용자 제어 가능한 브랜치 이름 매개변수를 살균하지 못하여 git 옵션 주입을 허용했습니다.
왜 중요한가
Repomix는 개발자가 저장소 콘텐츠를 LLM 컨텍스트 윈도우용으로 패키징하는 데 널리 사용되며, AI 도구 파이프라인의 클론 단계에서 옵션 주입이 발생하면 신뢰할 수 없는 제3자 저장소를 패킹할 때 코드 실행으로 이어질 수 있습니다.
공격 경로
src/core/git/gitCommand.ts의 execGitShallowClone 함수가 --remote-branch 값을 검증이나 --end-of-options 구분자 없이 git fetch 및 git checkout에 직접 전달하여, 공격자가 제공한 브랜치 이름이 --upload-pack 같은 추가 git 옵션을 주입할 수 있으며, 이는 클론 중에 명령어 실행으로 이어질 수 있습니다.
영향받는 시스템
1.14.1 이전의 Repomix
완화 방안
Repomix 1.14.1 이상으로 업그레이드하세요.