← All posts
STORIES

깃허브에 보안 키 올렸다가 식은땀 흘린 썰 (feat. 티빙 보안사고)

내용 요약

깃허브에 보안 키를 실수로 올려도 시스템이 100% 경고해주지 않습니다. 유출을 확인했다면 파일 삭제로 끝내지 말고, 즉시 해당 키를 폐기(Revoke)한 후 새로 발급받아야 대참사를 막을 수 있습니다.

개발자라면 누구나 한 번쯤 등골이 서늘해지는 순간이 있죠. 저한테는 며칠 전 군대 연등시간이 딱 그랬습니다. 토이 프로젝트를 하다가 아무 생각 없이 깃허브에 코드를 밀어 넣었는데, .env 파일을 .gitignore에 안 넣고 통째로 퍼블릭 레포지토리에 올려버린 겁니다...

사건의 전말

보통 키가 유출되면 GitGuardian이나 AWS에서 "너 지금 보안 키 노출됐어!"라고 경고 메일이 날아온다던데... 저에게 경고 메일 같은 건 하나도 안 왔습니다. 왜 안 왔는지는 지금도 모르겠습니다.

제가 퍼블릭으로 올린 건 보안 자격 증명 (credentials) 이었습니다. 메일도 안 왔으니 저는 유출된 줄도 모르고 평온하게 개발을 이어갔죠.

왜 이게 무서운가? (티빙 보안사고)

불과 얼마 전, 2026년 6월 초에 발생한 티빙(TVING) 1,300만 명 개인정보 유출 사태 기억하시나요?

그 대형 사고의 시작점도 해커의 고도화된 침투 기술이 아니라, 오픈소스 공유 플랫폼(GitHub)에 노출된 AWS 액세스 키였습니다. 개발 과정에서 실수로 올라간 키를 해커가 탈취했고, 그걸로 내부 데이터베이스에 접근해서 엄청난 쿼리를 돌려 1,300만 명의 CI, DI, 암호화된 비밀번호 등을 빼간 거죠. 결국 이 실수 하나로 대규모 집단 소송까지 진행 중입니다.

제 퍼블릭 레포지토리에 올라간 키를 누군가 봇으로 긁어갔다면? 제 계정으로 암호화폐 채굴기를 수백 대 돌려서 하룻밤 새 수천만 원의 요금 폭탄을 맞거나, 제 조그만 DB가 다 털렸을 수도 있습니다.

🏃‍♂️ 나의 조치 내역 (소름 주의)

티빙 사태를 떠올리면 3분 만에 키를 지우고 레포지토리를 날려야 정상이지만, 제 터미널 히스토리를 뒤져보니 제가 한 조치는 다음과 같습니다.

  1. 아무 조치도 안 함: 경고 메일이 안 와서 털린 줄도 몰랐습니다.
  2. gh repo create tetris --public --source=. --push: 심지어 당당하게 퍼블릭 레포지토리를 생성해서 커밋을 푸시했습니다.
  3. vercel deploy: 그리고 신나게 Vercel에 배포까지 진행했습니다.

나중에 이 사실을 깨닫고 나서야 뒤늦게 등골이 서늘해졌습니다. 조치한 게 아무것도 없다는 게 가장 큰 공포네요.

💡 교훈

"나는 안 그러겠지", "경고 메일이 오겠지" 하다가 진짜 한 방에 훅 갈 수 있습니다.

  • .gitignore 세팅은 숨 쉬듯이 먼저 하자.
  • 보안 키는 발급받자마자 절대 코드에 하드코딩하지 말고 환경변수나 Secret Manager를 쓰자.
  • 자동 알람만 믿지 말고 푸시 전에 내 코드를 직접 확인하자.
  • (추가) 소 잃고 외양간 고치는 격이지만, 이 사태 이후 즉시 GitGuardian을 새로 연동해서 키 노출을 자동으로 감지하도록 세팅했습니다.

오늘도 깃허브에 코드를 푸시하기 전에 git status를 세 번 확인하는 습관을 가져야겠습니다. 다들 보안 키 관리 조심하세요!

Play Now

GLOWTRIS

무료 네온 블록 퍼즐. 설치 없이 웹에서 바로 즐기세요!

🎮 플레이하기 →
glowtris.com

다른 STORIES 글