NHI Kill Chain 시리즈
비인간 아이덴티티 보안이 반복적으로 실패하는 9가지 패턴
현대 조직의 크레덴셜 관리는 같은 방식으로 반복해서 무너진다. Cremit 리서치 팀이 관찰한 NHI 보안 실패의 9가지 구조적 패턴을 분석하고, 각 패턴의 탐지·예방·복구 방법을 정리했다.
왜 같은 방식으로 계속 무너지는가
NHI 보안의 가장 큰 어려움은 새로운 위협이 매주 등장하기 때문이 아닙니다. 같은 패턴이 다른 회사에서 다른 시기에 반복해서 발생하기 때문입니다. 퇴사한 개발자의 AWS 키가 90일 넘게 살아 있고, 시크릿 매니저 옆에 비밀번호가 그대로 하드코딩되며, 3년 동안 한 번도 회전되지 않은 키가 프로덕션 전체를 떠받칩니다.
이 시리즈는 Cremit이 고객사 환경에서 직접 관찰한 9가지 구조적 실패 모드를 분석합니다. 각 편은 특정 자격증명 실패 패턴이 실제로 어떻게 침해로 이어지는지 사례·탐지 방법·대응 절차로 구성됩니다. 추상적인 best practice가 아니라 한 번이라도 사고를 본 적 있다면 바로 알아볼 수 있는 패턴입니다.
마지막 9편(시리즈 총정리)은 8가지 패턴이 어떻게 서로를 트리거하며 한 사건의 연쇄가 되는지, 그리고 이 모든 것을 해결하는 단 하나의 원칙은 무엇인지 정리합니다.
한 사고는 보통 두세 가지 패턴이 겹쳐서 일어난다
실제 침해 사례를 분해해 보면, 한 가지 실패만으로 끝나는 경우는 거의 없습니다. 2026년 4월 Bitwarden CLI npm 공급망 사건은 Public Key(공개 노출), Aged Key(회전되지 않은 CI 토큰), Over-shared Key(여러 환경이 같은 키 사용)의 결합이었습니다. 2025년 tj-actions/changed-files 사건은 Drifted Key(개발 → 프로덕션 흐름)와 Unattributed Key(소유자 불명)가 만들어낸 결과였습니다.
각 편을 독립된 한 가지 위험으로 읽어도 가치가 있지만, 시리즈 전체를 함께 읽으면 실제 사고 시나리오를 디버깅하는 능력이 생깁니다. 사후 분석 회의에서 "이건 Ghost Key였고, Aged Key가 추가로 있었네" 같은 식으로 이름을 붙여 부를 수 있게 됩니다.
9편 에피소드
소유자 없는 API 키
소유자가 없고 생명주기 관리도 없는 크레덴셜이 프로덕션에 계속 남는 문제.
섀도우 서비스 계정
인벤토리 밖에서 생성된 머신 아이덴티티가 권한 있는 작업을 수행하는 문제.
회전되지 않은 키
의도한 수명을 수년 넘긴 크레덴셜이 여전히 프로덕션 접근권을 부여하는 문제.
과도한 권한의 키
단일 작업이 필요한 수준보다 훨씬 많은 접근권을 부여하는 단일 크레덴셜.
좀비 키
만료 또는 폐기 처리됐지만 여전히 인증에 성공하는 크레덴셜.
드리프트된 키
곧 공개개발 환경에서 시작해 스테이징·프로덕션까지 감사 흔적 없이 흘러가는 크레덴셜.
공개 노출된 키
공개 저장소, 패키지 레지스트리, 클라이언트 번들에서 발견되는 크레덴셜.
소유권 불분명한 키
곧 공개사용 중이지만 소유자·용도·회전 주기를 아무도 답할 수 없는 크레덴셜.
시리즈 요약 + 플레이북
곧 공개NHI Kill Chain 전체 종합 정리와 대응 플레이북 다운로드.
어디부터 읽어야 할까
목적에 따라 진입점이 다릅니다. 시리즈 전체를 처음부터 읽을 필요는 없습니다.
- 최근에 사고가 있었다면: Zombie Key(#5) + Public Key(#7)부터. 두 패턴이 사후 분석에서 가장 자주 나옵니다.
- 감사·컴플라이언스 점검 앞두고 있다면: Ghost Key(#1) + Unattributed Key(#8) + Aged Key(#3). 인벤토리·소유권·회전 정책의 빈틈 세 가지를 다룹니다.
- NHI 개념이 처음이라면: 시리즈 총정리(#9)부터. 9편 전체를 한눈에 보여주고 각 편으로 들어가는 진입점도 함께 제공합니다.
- CI/CD 보안에 집중하고 있다면: Drifted Key(#6) + Over-shared Key(#4). 파이프라인이 자격증명을 어떻게 flatten·복제하는지 분석합니다.
각 편은 독립적으로 읽힙니다. 같은 사고를 다른 각도에서 분해하기 때문에, 두세 편을 나란히 두면 빠르게 패턴을 알아보는 감이 잡힙니다.
자주 묻는 질문
NHI(Non-Human Identity)란 정확히 무엇입니까?
NHI는 사람이 아닌 시스템이 다른 시스템을 인증할 때 사용하는 자격증명을 말합니다. API 키, 서비스 계정, OAuth 토큰, 인증서, CI/CD 봇 토큰, 머신 SSH 키 등이 전부 NHI입니다. 사람 사용자보다 압도적으로 많고(보통 50–100배), 회전 주기가 더 길며, 소유권 매핑이 잘 안 되어 있는 게 특징입니다.
OWASP NHI Top 10과 어떻게 다릅니까?
OWASP NHI Top 10은 위협 카테고리 분류이고, NHI Kill Chain은 그 위협들이 실제로 어떻게 침해로 이어지는지를 시나리오 단위로 분해한 것입니다. 두 시각은 보완적입니다. Top 10이 "무엇을" 알려준다면, Kill Chain은 "어떻게"와 "왜 같은 패턴이 반복되는가"를 보여줍니다.
시리즈 전체를 읽으려면 얼마나 걸립니까?
편당 약 8–12분, 9편 합계 약 90분입니다. 각 편이 독립적이라 한 번에 다 읽기보다 한 주에 한두 편씩 진행하는 팀이 많습니다. 보안 데일리 미팅의 토론 자료로 쓰기에도 적당한 분량입니다.
이 패턴을 자동으로 탐지할 방법이 있습니까?
Cremit Argus가 9가지 패턴 모두를 감지하도록 설계됐습니다. 공개·비공개 저장소, CI/CD 시크릿, 클라우드 IAM에서 자격증명을 찾아 소유권을 매핑하고, 회전 워크플로우를 돌립니다. 시리즈 각 편은 어떤 신호가 어떤 패턴에 해당하는지 구체적으로 적어 두었기 때문에 직접 탐지 룰을 짜고 싶을 때 참고용으로 쓸 수도 있습니다.
이 시리즈는 누가 썼습니까? 검증된 내용입니까?
Cremit 보안 리서치 팀이 작성했고, 각 패턴은 실제 고객 환경에서 관찰된 사례를 기반으로 합니다. 외부 사건(Bitwarden CLI, tj-actions, Trivy 공급망 등)을 인용할 때는 원본 소스를 링크합니다. 통계가 인용된 경우 출처는 본문에 포함됐습니다.
시리즈에서 다룬 실패 패턴, Argus로 자동 탐지
Argus는 공개·비공개 저장소를 상시 스캔하고, 크레덴셜 소유권을 매핑하며, 회전 워크플로우를 자동화합니다. 14일 무료 체험.
Argus 시작하기