← 뉴스레터

2026-06-12

비밀번호를 바꾸는 게 늘 정답은 아니다

보안 사고를 발견하면 으레 “지금 당장 비밀번호를 바꿔야 한다”는 충동이 온다. 그 충동이 꼭 틀린 건 아니지만, 항상 옳지도 않다. 이 글은 키를 바꾸기 전에 먼저 따져봤어야 할 것에 대한 짧은 반성이다.


며칠 전 코드 저장소 히스토리를 뒤지다가, 챗봇에 쓰이는 토큰 하나가 예전 커밋에 그대로 박혀 있는 걸 발견했다. 나는 여러 대의 컴퓨터에 AI 챗봇을 올려두고 일을 시키는데, 그 챗봇이 외부 서비스와 대화할 때 쓰는 일종의 비밀 열쇠다. 그게 삭제되지 않은 채로 코드 이력 안에 남아 있었다.

순간적으로 떠오른 건 딱 하나였다. “바꿔야 해.”

재발급이라는 선택지

토큰 재발급(rotate)은 보안에서 교과서 같은 처방이다. 노출된 열쇠는 버리고 새 열쇠를 받는다. 이 열쇠를 발급한 서비스(텔레그램 봇 서버)에서 기존 토큰을 취소하고 새 토큰을 발급받는 절차 자체는 어렵지 않다. 클릭 몇 번이면 끝난다.

그래서 곧장 했다. 취소하고, 새 토큰을 받고, 다섯 대 기계에 흩어진 설정 파일을 하나씩 열어 새 값으로 교체했다. 여기까지는 계획대로였다.

예상하지 못했던 후폭풍

문제는 그다음에 왔다. 다섯 대를 다 바꿨다고 생각했는데 한 대가 빠져 있었다. 그 기계의 챗봇이 옛날 토큰으로 계속 통신을 시도하다가 “인증 실패(401)“를 뱉기 시작했다. 그 자체는 심각한 사고는 아니다. 그런데 이 오류를 감시하는 자동 알림이 30분 동안 연속으로 울려댔다. 한 대만 빠트렸을 뿐인데, 그 기계가 죽은 것처럼 보이는 오진 알림이 계속 쌓였다.

결국 나 포함 이 시스템을 신경 쓰는 사람이 “이게 진짜 고장인가, 아니면 토큰 교체 중 헝클어진 건가”를 판단하느라 시간을 소비했다. 단순히 설정 파일 하나를 고치면 끝나는 일이었지만, 그 과정이 시끄러웠다.

끝나고 보니 이런 계산이 서 있었다.

  • 직접 손댄 시간: 봇 서버 접속 → 취소 → 재발급 → 다섯 대 설정 파일 교체
  • 놓친 한 대를 수습하는 시간
  • 30분간 울린 가짜 알림을 정리하는 시간
  • 알림이 진짜인지 가짜인지 판별하느라 멈춘 흐름

반면 재발급으로 막으려 했던 위험은 얼마나 컸는가. 그 저장소는 외부에 공개되지 않은 비공개 저장소였다. 노출됐다 해도 나와 나의 기계들 외에 그 히스토리를 뒤질 수 있는 사람이 사실상 없었다.

위험이 작았다. 그런데 대응 비용이 컸다.

노출 가리기가 먼저였다

나중에 룰을 정리하면서 생각이 정리됐다. 토큰 노출을 발견했을 때 맞는 순서는 이랬다.

  1. 노출된 파일에서 토큰 값을 지운다(redaction)
  2. 그 파일이 다시는 비밀 값을 담지 않도록 .gitignore 같은 안전망을 확인한다
  3. 노출 사실을 기록해 둔다

재발급은 그다음, 그것도 “이 노출이 정말 위험한 상황이라면”이라는 조건 아래서 판단하는 일이다. 위험도가 낮은 비공개 환경이라면, 재발급보다 redaction이 훨씬 저렴하고 조용하다.

이렇게 쓰면 “그럼 보안 대응 안 하겠다는 거냐”로 들릴 수 있다. 그게 아니다. 대응하되, 비용에 맞는 대응을 한다는 이야기다.

반사적 처방의 함정

“보안 문제 발견 → 즉시 재발급”은 직관적이고, 교과서적이고, 전문가들이 권하는 방법이다. 그래서 아무 의심 없이 따라가기 쉽다.

그런데 이 처방이 전제하는 상황이 있다. 위험이 실제로 크다는 것. 토큰이 공개 저장소에 노출됐거나, 악의적인 제3자가 접근할 수 있는 환경이거나, 그 토큰으로 막을 수 없는 피해가 발생할 수 있는 서비스라거나.

모든 전제가 맞지 않는 상황에서도 같은 처방을 반사적으로 적용하면, 위험보다 수습이 더 시끄럽다. 나는 그걸 이번에 실제로 겪었다.

앞으로 토큰 노출을 발견했을 때는 재발급부터 떠올리지 않기로 했다. 먼저 “이 노출이 실제로 위험한가”를 따지고, 위험도가 낮다면 redaction으로 조용히 끝내기로.

결국 비용-편익이다

보안 대응이 특별하게 느껴지는 건, 위험에 맞서는 일처럼 보여서다. 하지만 실제로는 다른 의사결정과 같은 구조다. 위험이 있고, 대응 방법이 있고, 각각의 비용이 있다. 위험 비용보다 대응 비용이 크면 그 대응은 잘못된 처방이다.

“비밀번호를 바꾸는 게 정답”인 경우는 분명히 있다. 하지만 “항상 정답”은 아니다. 그 판단을 가르는 건 위험의 크기이지, 노출이 발생했다는 사실 자체가 아니다.

조용히 가릴 수 있는 걸, 굳이 시끄럽게 바꾸지 않아도 된다.


이 글은 비공개 저장소 환경에서의 경험을 바탕으로 씁니다. 공개 저장소나 외부 접근 위험이 있는 환경이라면 재발급이 맞는 첫 단계일 수 있습니다.

— 강대종