공개 Repo에 시크릿 Key를 업로드 하면 생기는 일
in soso on Github, Secret
이 글은 GeekNews를 보고쓴 글이다.
개발자들이 개발을 하다보면 실수로 키를 깃헙에 코드를 넣고 커밋하는 경우가 있다.
이걸 누가 실제로 실험을 한 것이다. 일어난 일을 시간순으로 정리하면 다음과 같다.
Github과 Gitlab에 실제로 실험해본 결괄르 시간 순 정리
- AWS키를 깃헙에 커밋
- 7분 후, GitGuardian으로부터 유출 경보
- 11분후, 토큰 손상(compromised, 유출되어 더 이상 안전하지 않음)
- 2시간 동안 독일/네덜란드/영국/우크라이나 등에서 5개의 접근 알림 : 깃헙의 레포지토리를 모두 스캔한 크래커들이 있다는 것이다.
Github가 취약 종속성(Vulnerable Dependencies) 알림 경고메일을 보내줌
- 깃랩에 커밋
- 62분후 처음이자 마지막으로 토큰이 프랑스에서 사용됨
- GitLab에는 아무런 보안 경고를 받지 않음(Gold/Ultimate 사용자에게만 보안 알림 제공)
교훈
이 밑은 실험한 사용자가 느낀 교훈이다.
- GitLab 보다 Github을 스캔하는 곳이 더 많다(아마 메이저이기 때문일 것이라고 생각한다)
- Github을 사용중이라면 GitGuardian 서비스를 한 번 살펴 볼 것 : 깃 가디언은 자동으로 시크릿들을 디텍션하는 서비스이다. 오픈소스나 개인 개발자들에게는 내부 레포지토리도 무료이다.
- GitLab을 사용중이라면 Gold/Ultimate 업그레이드를 고려
- 유출을 사전에 막으려면 Talisman(Pre-Commit Hook)을 이용할 것 : 커밋하기 전에 훅을 걸어서 혹시 내 커밋내용에 다른 문제는 없는지 도입하는 도구이다.
- 유출되었는지 사후에 확인하는 건 GitLeaks를 도입 고려 : 깃릭스는 회사의 레포지토리를 스캔해서 문제가 있는지 검사하는 것이다.