보이지 않는 신원이 조직을 무너뜨린다
국내 기업의 GitHub 토큰 유출과 CISA의 공개 저장소 노출은 모두 '시크릿 유출'로 불렸다. 그러나 새어나간 것은 단순한 파일이 아니라 시스템에 접근하는 '신원(Identity)'이었다. API 키를 신원으로 다시 보고, 방어의 축을 '예방률'에서 '발견 속도(골든타임)'로 옮겨야 하는 이유를 짚는다.

목차(6)
목차
API 키 유출은 '시크릿 사고'가 아니라 '신원 사고'다. 승부는 발견 속도에서 갈린다
최근 국내 기업들의 GitHub 저장소에 노출된 API 토큰이 대량으로 탈취되는 사건이 발생했다. 얼마 지나지 않아 사이버 보안의 총괄 지휘소라 할 수 있는 미국 CISA(사이버보안·인프라보안국)마저 공개 저장소에 내부 기밀 자료를 노출했다는 사실이 밝혀졌다. 두 사건을 다룬 미디어의 헤드라인은 약속이라도 한 듯 동일했다. "또 시크릿(Secrets)이 유출됐다."
하지만 이러한 프레임은 문제의 본질을 가린다. 이번에 유출된 것은 단순한 '파일'이나 '텍스트'가 아니라, 시스템에 접근할 수 있는 '신원' 그 자체였다. 해커는 정교한 기법으로 누군가의 계정을 해킹하지 않았다. 그저 보안의 사각지대에 방치되어 있던, 소유자도 없고 만료 기한도 없는 신원을 '주웠을' 뿐이다. 그 신원이 외부로 흘러나가는 순간부터 발견되기까지, 조직은 자신들이 침해당했다는 사실조차 인지하지 못했다.
해커는 사람을 해킹하지 않는다, 토큰을 주울 뿐이다
우리는 그동안 '사람의 신원'을 지키는 데 막대한 리소스를 투자해 왔다. SSO를 도입하고 MFA(다중 인증)를 강제하며 로그인 이상 징후를 실시간으로 모니터링한다. 덕분에 인간 신원 통제 스택은 지난 10년간 꾸준히 정교해졌다.
문제는 오늘날 엔터프라이즈 시스템을 실제로 움직이는 신원의 대다수가 사람이 아니라는 점이다. API 키, 액세스 토큰, 서비스 계정, CI/CD 러너, 봇, 그리고 최근 등장한 AI 에이전트까지. 이 비인간 신원(NHI, Non-Human Identity)은 이미 대다수 조직에서 사람 계정의 수십에서 수백 배에 달한다. 하지만 이들에게는 MFA도, 로그인 화면도, 이상 탐지 로직도 적용되지 않는다. 유효한 키 하나만 있으면 그 즉시 완전한 권한을 쥔 신원이 된다.
최근 발생한 대규모 보안 사고의 중심에 항상 NHI가 있는 것은 우연이 아니다. 공격자 입장에서 토큰은 가장 비용 효율적인 침투 경로다. 우회하기 까다로운 피싱이나 크리덴셜 스터핑 공격을 감행할 필요가 없다. 그저 공개된 웹 생태계를 자동화 스캐너로 훑다가 노출된 토큰 하나만 확보하면 그만이다.
방치된 비인간 신원의 4대 리스크
NHI가 심각한 위협이 되는 이유는 기술적 결함 때문이 아니다. 거버넌스의 통제 영역에서 통째로 누락되어 있기 때문이다. 사각지대에 방치된 NHI는 다음 네 가지 특징을 공유한다.
- 소유자 부재: 누가, 언제, 어떤 목적으로 발급했는지 추적할 수 없다. 발급자가 이미 퇴사하여 관리 공백이 생긴 경우가 허다하다.
- 만료 기한 없음: 사람의 패스워드는 정기적으로 갱신되지만 수년 전에 개발 편의로 생성된 토큰은 오늘도 여전히 활성화 상태다.
- 과도한 권한: "우선 정상 동작하게 만든다"는 명목 아래 필요 이상으로 광범위하게 설정된 권한이 회수되지 않고 그대로 남는다.
- 가시성 부재: 해당 토큰이 악용되더라도 정상적인 머신 간 통신으로 오인되어 보안 로그에 기록되거나 경고를 울리지 않는다.
이 네 가지 결함이 결합하면 조직은 현재 내부 인프라에 몇 개의 신원이 존재하는지조차 파악하지 못하는 상태에 빠진다. 컴플라이언스 감사 보고서에는 사람 계정이 명확히 기록되어 있지만 NHI 항목은 아예 빠져 있는 것도 이 때문이다.
'완벽한 예방'이라는 환상에서 벗어나야 하는 이유
여기서 한 가지 불편한 결론에 이른다. NHI 유출은 철저히 통제할 수 있는 '인적 실수'가 아니라, 복잡해진 현대 개발 환경에서 필연적으로 발생하는 상시적 리스크에 가깝다.
크리덴셜이 유출되는 경로가 기하급수적으로 늘어났기 때문이다. 과거에는 GitHub 같은 소스코드 저장소만 모니터링하면 충분했다. 하지만 지금은 CI/CD 빌드 로그, 컨테이너 이미지, Slack이나 Notion 같은 협업 툴, 심지어 개발자가 사용하는 AI 코딩 어시스턴트의 프롬프트 창까지 모든 곳이 유출 통로가 된다. 임직원에게 "보안에 주의하라"고 교육하는 전통적인 방식으로는 이렇게 넓어진 공격 표면을 결코 방어할 수 없다. 아무리 주의를 기울여도 자동화된 파이프라인의 틈새에서 토큰은 계속해서 흘러나온다.
CISA의 사례가 이를 잘 보여준다. 글로벌 보안 표준을 선도하는 기관조차 예외가 아니었다면, '유출 예방률 100%'라는 목표는 애초에 실현 불가능한 전제였다.
실제 방어선은 예방률이 아니라 '골든타임'이다
공개 저장소나 웹에 노출된 토큰은 단 몇 분 만에 공격자의 자동화 봇이 스캔해 곧바로 악용한다. 공격자의 속도는 방어자의 수동 대응보다 언제나 빠르다. 따라서 보안의 승패를 가르는 핵심 지표는 유출 자체를 막는 것이 아니라, '노출된 순간부터 이를 발견하고 무력화하기까지 걸리는 시간'이다.
보안 전문 용어로 표현하자면 MTTD(평균 탐지 시간)와 MTTR(평균 대응 시간)의 싸움이다. 유출 사고가 심각한 비즈니스 타격으로 이어지는 이유는 유출 그 자체 때문이 아니라, 유출된 사실을 수 주 혹은 수개월 동안 인지하지 못했기 때문이다. 노출과 악용 사이에 존재하는 그 초단기 '골든타임'을 확보하느냐가 피해 규모를 결정짓는다.
엔터프라이즈 환경에서 NHI 보안의 성숙도는 다음 세 가지 질문으로 가늠할 수 있다.
- 발견: 조직 경계 밖으로 누출된 자격증명을 실시간으로 탐지할 수 있는가? GitHub를 넘어 협업 툴과 인프라 전역을 아우르는가?
- 분류: 탐지된 키의 실제 소유자, 접근 권한 범위, 실질적 위험도를 즉시 매핑하고 분석할 수 있는가?
- 대응: 인간의 개입을 최소화하고 유출된 크리덴셜의 폐기와 로테이션을 즉각 오케스트레이션할 수 있는가?
Takeaway
최근 발생한 일련의 토큰 유출 사고는 특정 담당자의 일시적인 부주의로 치부할 문제가 아니다. 사람 신원에 쏟아부었던 엄격한 통제 모델을 비인간 신원에는 적용하지 않은, 현대 보안 아키텍처의 구조적 공백이 드러난 결과다.
유출은 언젠가 반드시 발생한다. 시스템을 최종적으로 보호하는 것은 결함 없는 예방이 아니라, 이미 경계를 벗어난 신원을 얼마나 신속하게 포착하고 통제하느냐에 달렸다. 보이지 않던 비인간 신원을 투명하게 드러내는 것, NHI 보안은 바로 거기서 시작된다.
다음 글을 메일로 받아보세요
Cremit 리서치 팀의 월간 NHI 브리프. 한 통에 핵심만 담습니다.
