2025년 쿠팡 개인정보 유출 사고는 비밀번호 탈취나 로그인 화면 취약점 악용과는 다른 경로로 진행됐습니다. 공격자는 사용자 인증 시스템을 개발했던 전직 직원이었고, 재직 중 다루던 서명키를 퇴사한 뒤 사용해 정상 로그인 절차를 우회했습니다. 서버가 위조된 인증정보를 확인하지 못하면서 이름과 이메일뿐 아니라 배송지와 주문 관련 정보까지 대규모로 조회됐습니다.
2026년 4월 보안뉴스의 내부자 위협 특집은 이 사건을 퇴사자와 정상 권한의 악용이라는 관점에서 다뤘습니다. 이후 과기정통부 민관합동조사단은 공격 경로와 인증·키 관리의 문제를 발표했고, 개인정보위는 유출 범위와 개인정보 보호법 위반에 대한 제재를 의결했습니다. 아래 내용은 특집 기사의 문제의식을 출발점으로 삼되, 사실관계와 수치는 공식 조사 결과를 기준으로 정리했습니다.
한눈에 보기#
공격 기간: 정부 조사단은 2025년 4월 14일부터 11월 8일까지 비정상 접근이 이어진 것으로 확인했습니다.
공격 경로: 재직 중 확보한 서명키를 퇴사 후 사용해 전자 출입증을 위조하고 정상 로그인 절차를 우회했습니다.
인증 실패: 위조 전자 출입증을 탐지·차단하는 검증 절차가 없었습니다.
영향: 과기정통부는 내 정보 수정 페이지의 이름·이메일 33,673,817건과 배송지·주문 페이지의 대량 접근을 확인했습니다. 개인정보위는 후속 처분에서 약 3,755만 명의 개인정보 유출로 판단했습니다.
핵심 교훈: 서명키를 발급한 뒤 보관·사용·폐기까지 추적하고, 인증 토큰과 실제 접근 행위를 함께 검증해야 합니다.
서명키와 전자 출입증은 어떤 관계인가#
서비스에 로그인하면 서버는 사용자가 인증 절차를 통과했다는 정보를 발급하고, 이후 요청에서도 그 정보가 유효한지 확인합니다. 과기정통부 발표는 쿠팡의 이 인증정보를 ‘전자 출입증’이라고 설명합니다. 전자 출입증의 구체적인 토큰 형식은 발표에 명시되어 있지 않으므로, 여기서는 이해를 돕기 위해 인증 토큰에 비유하겠습니다.
서명키는 전자 출입증을 발급할 때 서명을 만드는 데 쓰입니다. 게이트웨이 서버는 출입증이 변조되지 않았고 정상적인 인증 절차를 거쳐 발급됐는지 확인한 뒤 서비스 접근을 허용해야 합니다. 서명키가 유출되면 공격자가 정상 출입증처럼 보이는 값을 만들 수 있으므로, 키를 안전하게 보관하는 것과 발급·검증 절차를 함께 설계하는 것이 중요합니다.
공격은 어떤 순서로 진행됐나#
과기정통부 조사 발표와 접속기록을 기준으로 보면 사건은 세 단계로 나눌 수 있습니다.
인증 구조와 키에 접근: 공격자는 재직 당시 쿠팡의 이용자 인증 시스템을 설계·개발했고, 이 과정에서 인증·키 관리의 취약점을 알게 됐습니다. 정부는 2025년 1월 5일부터 20일까지 시험 접근 기록을 확인했습니다.
퇴사 후 인증 우회: 공격자는 재직 중 확보한 서명키와 내부 정보를 사용해 전자 출입증을 위조했습니다. 서버에는 정상 인증 절차로 발급됐는지 확인하는 별도 검증 절차가 없어, 공격자는 일반 로그인 없이 서비스에 접근할 수 있었습니다.
대량 정보 조회: 정부 조사단은 2025년 4월 14일부터 11월 8일까지 자동화된 웹 크롤링 도구를 이용한 대규모 정보 조회가 있었다고 발표했습니다.
재직 중 서명키와 내부 구조 접근 → 퇴사 후에도 키 미폐기 → 전자 출입증 위조 → 로그인 우회 → 자동화된 개인정보 조회
보안뉴스 기사에는 JWT 서명키라는 표현이 있지만, 과기정통부의 조사 발표는 사용자 인증 시스템의 서명키와 전자 출입증으로 설명하며 구체적인 토큰 규격은 밝히지 않습니다. 따라서 이 글에서는 JWT로 단정하지 않고 정부 발표의 용어를 따릅니다.
어떤 정보가 조회됐나#
과기정통부 조사단은 쿠팡의 웹·앱 접속기록을 분석해 여러 페이지의 접근 범위를 발표했습니다.
내 정보 수정 페이지: 이름과 이메일이 포함된 33,673,817건의 기록이 유출된 것으로 확인됐습니다.
배송지 목록 페이지: 이름·전화번호·주소와 마스킹된 공동현관 출입정보가 있는 페이지에 148,056,502회 접근했습니다.
배송지 수정 페이지: 이름·전화번호·주소와 공동현관 출입정보가 포함된 페이지에 50,474회 접근했습니다.
주문 내역 페이지: 최근 주문 상품 정보가 있는 페이지에 102,682회 접근했습니다.
여기서 ‘접근 횟수’는 피해자 수나 서로 다른 정보 건수와 같지 않습니다. 같은 페이지를 반복해서 열면 접근 횟수는 여러 번 집계됩니다. 특히 배송지 목록의 출입정보는 마스킹되어 있었지만, 배송지 수정 페이지에는 마스킹되지 않은 출입정보가 포함됐다는 점을 구분해야 합니다.
과기정통부가 2026년 2월 발표한 33,673,817건은 특정 페이지의 이름·이메일 기록입니다. 개인정보위는 2026년 6월 제재 처분에서 전체 개인정보 유출 규모를 약 3,755만 명으로 판단했습니다. 두 수치는 같은 항목을 같은 방식으로 센 값이 아니므로, 단순히 서로 모순된 수치라고 보거나 한쪽을 다른 쪽으로 대체해서는 안 됩니다. 각각 발표 기관, 시점, 집계 대상과 단위를 함께 밝혀야 합니다.
왜 서명키 하나가 대규모 접근으로 이어졌나#
정부 조사에서 드러난 문제는 키 한 개의 유출에 그치지 않았습니다.
퇴사 뒤에도 서명키가 폐기되지 않아 계속 사용할 수 있었습니다.
위조한 전자 출입증이 정상 인증 절차에서 발급됐는지 확인하는 검증 장치가 없었습니다.
키관리시스템에만 보관해야 할 서명키가 현직 개발자들의 노트북에도 저장된 사실이 포렌식에서 확인됐습니다. 이 발견은 공격자가 사용한 키가 어느 경로로 유출됐는지를 특정한 것과는 구분해야 합니다.
키 발급과 사용 이력을 관리하는 절차, 개발·운영 환경 분리, 내부자 또는 퇴사자 위협 대응이 미흡했습니다.
같은 서버 사용자 식별값을 반복 사용한 비정상 접근이 이어졌지만 이를 제때 탐지·차단하지 못했습니다. 페이지별 로그 관리가 일관되지 않아 피해 범위를 산정하는 데도 어려움이 있었습니다.
인증 서명은 “이 값이 해당 키로 서명됐다”는 사실을 확인합니다. 그러나 키 자체가 유출되면 공격자도 유효한 서명을 만들 수 있습니다. 따라서 서명 검증만으로 충분하지 않습니다. 키 폐기·교체, 발급 이력과 접근 권한 통제, 전자 출입증이 정상 경로로 발급됐는지 확인하는 서버 측 검증이 함께 작동해야 합니다.
사고 대응과 개인정보 보호에서 남은 문제#
정부 조사단은 쿠팡이 2025년 11월 17일 오후 4시에 CISO에게 사고를 보고했지만, KISA 신고는 11월 19일 오후 9시 35분에 이뤄져 24시간 신고 기한을 넘겼다고 발표했습니다. 또 정부가 11월 19일 오후 10시 34분에 자료 보전을 명령한 뒤에도 자동 로그 삭제 설정을 조정하지 않아 일부 웹·앱 접속기록이 삭제됐고, 관련 사안은 수사기관에 회부됐습니다.
로그는 사후에 공격자를 찾는 데만 쓰이지 않습니다. 어떤 정보가 누구에게 노출됐는지 확인하고, 피해자에게 필요한 통지를 하며, 추가 피해를 줄이는 데도 필요합니다. 로그의 수집 항목과 보존 기간, 사고 때 자동 삭제를 멈추는 절차가 마련돼 있지 않으면 정확한 피해 범위를 파악하기 어렵습니다.
개인정보위는 2026년 6월 안전조치 의무 위반 등으로 약 3,755만 명의 개인정보가 유출됐다고 판단하고 제재 처분을 의결했습니다. 같은 의결에는 타사 웹·앱 이용기록 수집 등 별도 개인정보 처리 위반도 포함되어 있습니다. 따라서 제재 총액을 이 인증키 사고 하나에 대한 과징금으로만 소개하지 않도록 주의해야 합니다.
보안과 개인정보 보호 관점에서 볼 점#
키의 수명주기를 관리해야 합니다. 키는 발급, 보관, 접근, 사용, 교체, 폐기까지 한 흐름으로 관리해야 합니다. 퇴사나 직무 변경 때 관련 계정만 비활성화하는 데서 끝내지 말고, 그 사람이 다룬 서명키와 인증서도 식별해 폐기·교체해야 합니다. 운영 키는 승인된 키관리시스템에서만 사용하고, 개발자 단말이나 소스코드에 남지 않았는지도 점검해야 합니다.
인증정보의 발급 경로를 검증해야 합니다. 토큰에 서명이 있다는 이유만으로 접근을 허용해서는 안 됩니다. 정상 인증 절차에서 발급됐는지, 대상 사용자와 권한이 맞는지, 폐기·만료됐는지 확인하고, 같은 인증정보의 반복 사용이나 비정상적인 세션을 탐지해야 합니다.
대량 조회를 막고 감시해야 합니다. 한 번 인증에 실패했다고 모든 위험이 사라지는 것은 아닙니다. 계정별 조회량과 속도, 여러 계정에 걸친 반복 요청, 배송지·주문정보와 같은 민감한 화면의 비정상 접근을 함께 모니터링해야 합니다. 권한은 업무에 필요한 범위로 제한하고 개발 환경에서 운영 데이터나 운영 키에 접근하는 경로도 최소화해야 합니다.
개인정보 침해 범위는 이용자 관점에서 설명해야 합니다. 이름·이메일 건수, 페이지 접근 횟수, 개인정보위가 판단한 사람 수를 구별하고, 주소나 공동현관 출입정보처럼 생활 공간의 안전과 연결되는 정보가 포함됐는지 밝혀야 합니다. 수치만 크게 제시하는 것보다 어떤 정보가 어떤 경로로 노출됐는지 설명하는 편이 피해자가 위험을 이해하는 데 도움이 됩니다.
마무리#
이 사건을 ‘퇴사자가 키를 악용했다’는 한 줄로만 정리하면 조직의 책임과 개인정보 보호 문제를 놓치게 됩니다. 서명키가 퇴사 뒤에도 유효했고, 서버는 위조된 전자 출입증을 걸러내지 못했으며, 반복되는 비정상 조회와 로그 관리의 문제도 제때 해결되지 않았습니다.
보안은 비밀키를 안전한 곳에 보관하는 것만으로 완성되지 않습니다. 키가 누구에게 발급됐고 어디에서 사용됐는지 기록하고, 퇴사 시 폐기하고, 시스템이 정상 인증 경로를 확인하며, 개인정보 접근을 지속적으로 감시해야 합니다. 여러 통제가 연결되어야 인증정보 하나의 유출이 수천만 명의 정보 접근으로 번지는 일을 막을 수 있습니다.
