[GIT] 커밋 해시(commit hash)를 외부에 노출해도 괜찮을까?

반응형

들어가며

블로그 포스팅을 하다 보면 자연스럽게 내가 작업했던 정보들이 외부에 노출되게 된다.
공개(public)된 정보라면 문제가 없지만, 비공개(private) 정보의 경우는 조심해야 한다.

이번 글에서는 커밋 해시를 노출해도 되는지에 대해 자료 조사를 기반으로 정리해본다.

 

커밋 해시를 공개해도 문제가 있을까?

commit hash 는 특정 스냅샷을 가리키는 ID 일 뿐, hash 값으로 바로 코드를 볼 수는 없다.

다만, hash 가 가리키는 코드가 레포지토리에 올라가있으면 링크를 통해 코드를 찾을 수 있다.

따라서, 일반적으로는 보안상 문제가 없지만, private 경우는 추천하지 않는다. 

 

결론
일반적으로 커밋 해시 공개는 보안상 문제가 없다.

그러나 비공개 저장소나 민감한 정보 가 있는 경우에는 주의가 필요하다.

 

주의해야할 점

1. 민감한 코드가 커밋에 없어야 한다.

예를 들어 API 키, 비밀번호, 민감한 서버 주소 등이 코드에 들어간 상태라면 commit hash 를 통해 코드 추적이 되서 위험하다.

2. 저장소가 Private 인 경우 주의해야한다.

비공개 저장소라면 commit hash 만 공개해도 레포 존재 자체가 외부에 드러날 수 있어서 추천하지 않는다.

3. 저장소가 Public 하고, 민감정보가 없으면 문제가 되지 않는다.

hash 는 공개된 코드의 주소 역할이라 문제가 되지 않는다.

 

참조 레퍼런스

https://git-scm.com/book/en/v2/Git-Internals-Git-Objects

 

Git - Git Objects

You will get a different hash value because of different creation time and author data. Moreover, while in principle any commit object can be reproduced precisely given that data, historical details of this book’s construction mean that the printed commi

git-scm.com

 

 

반응형