공개 Repo에 시크릿 Key를 업로드 하면 생기는 일


이 글은 GeekNews를 보고쓴 글이다.

개발자들이 개발을 하다보면 실수로 키를 깃헙에 코드를 넣고 커밋하는 경우가 있다.

이걸 누가 실제로 실험을 한 것이다. 일어난 일을 시간순으로 정리하면 다음과 같다.

Github과 Gitlab에 실제로 실험해본 결괄르 시간 순 정리

  1. AWS키를 깃헙에 커밋
  2. 7분 후, GitGuardian으로부터 유출 경보
  3. 11분후, 토큰 손상(compromised, 유출되어 더 이상 안전하지 않음)
  4. 2시간 동안 독일/네덜란드/영국/우크라이나 등에서 5개의 접근 알림 : 깃헙의 레포지토리를 모두 스캔한 크래커들이 있다는 것이다.
  5. Github가 취약 종속성(Vulnerable Dependencies) 알림 경고메일을 보내줌

  6. 깃랩에 커밋
  7. 62분후 처음이자 마지막으로 토큰이 프랑스에서 사용됨
  8. GitLab에는 아무런 보안 경고를 받지 않음(Gold/Ultimate 사용자에게만 보안 알림 제공)

교훈

이 밑은 실험한 사용자가 느낀 교훈이다.

  1. GitLab 보다 Github을 스캔하는 곳이 더 많다(아마 메이저이기 때문일 것이라고 생각한다)
  2. Github을 사용중이라면 GitGuardian 서비스를 한 번 살펴 볼 것 : 깃 가디언은 자동으로 시크릿들을 디텍션하는 서비스이다. 오픈소스나 개인 개발자들에게는 내부 레포지토리도 무료이다.
  3. GitLab을 사용중이라면 Gold/Ultimate 업그레이드를 고려
  4. 유출을 사전에 막으려면 Talisman(Pre-Commit Hook)을 이용할 것 : 커밋하기 전에 훅을 걸어서 혹시 내 커밋내용에 다른 문제는 없는지 도입하는 도구이다.
  5. 유출되었는지 사후에 확인하는 건 GitLeaks를 도입 고려 : 깃릭스는 회사의 레포지토리를 스캔해서 문제가 있는지 검사하는 것이다.