2026년 7월 24일, 한 독립 보안 연구원이 한화(Hanwha)의 보안 카메라(모델명: Wisenet XNP-9300RW)를 구매하여 펌웨어의 보안성을 분석하기 시작했습니다. 그리고 불과 몇 시간 후, 그는 이 회사의 모든 비공개 소스 코드에 접근할 수 있는 토큰을 손에 넣었습니다. 한화의 GitHub 조직 전체에 존재하는 수백 개의 비공개 저장소(소스 코드, CI/CD 파이프라인 설정, 내부 문서 포함)에 접근할 수 있는 완전하고 유효한 GitHub 관리자 토큰이 카메라의 웹 로그인 페이지 코드 안에 그대로 포함되어 있었기 때문입니다.
사진 설명: 한화 Wisenet XNP-9300RW. 4K 해상도와 30배 광학 줌을 지원하는 야외용 PTZ 보안 카메라이자, 이번 보안 유출 사건의 중심이 된 제품.
이 발견은 기술 커뮤니티에 순식간에 큰 파장을 일으켰습니다. Hacker News에서 이 게시물은 480점 이상의 추천과 160개 이상의 댓글을 기록했습니다. 그러나 정작 사람들을 불안하게 만든 것은 매우 흔하게 발생하지만 거의 아무도 심각하게 다루지 않았던 현실이 드러났기 때문입니다. **“네트워크에 연결해 사용하는 모든 기기가 제조사 내부 시스템으로 들어가는 열쇠가 될 수 있다”**는 사실입니다. 그것도 제조사가 스스로 문을 열어둔 상태로 말입니다.
어떻게 비공개 코드가 보안 카메라 안으로 들어갔는가?
먼저 기본적 원리를 살펴보겠습니다. 현대의 네트워크 보안 카메라는 본질적으로 작은 임베디드 Linux 컴퓨터입니다. 자체 프로세서, 메모리, 경량화된 운영체제(주로 축소된 Linux 버전), 그리고 관리자가 설정을 변경할 수 있는 웹 관리자 페이지를 갖추고 있습니다. 이 관리자 페이지 인터페이스는 웹사이트에 접속할 때 브라우저가 프론트엔드 코드를 다운로드하는 것처럼 JavaScript로 작성되어 있습니다.
문제는 바로 이 지점에서 발생했습니다.
연구원이 카메라의 펌웨어(운영체제 설치 패키지)를 압축 해제하고 관리자 페이지의 JavaScript 파일을 분석한 결과, 약 30개의 서로 다른 파일에 유효한 GitHub 토큰이 그대로 노출되어 있었습니다.
비유하자면 GitHub 토큰은 ‘금고 열쇠’와 같습니다. 이 열쇠가 발급되면 소지자는 해당 토큰에 부여된 권한(이 사건의 경우 한화 회사 전체의 비공개 코드 저장소)에 접근할 수 있습니다. 이론적으로 이러한 핵심 열쇠는 소수의 엔지니어만 보유해야 하며, 보안 관리 시스템에 안전하게 보관되고 사용 직후 즉시 파기되어야 합니다.
하지만 이 관리자 토큰은 전 세계로 출하된 수백만 대의 보안 카메라 웹 로그인 코드 속에 그대로 담겨 있었습니다.
즉, 이 카메라의 관리자 로그인 페이지에 접근할 수 있는 사람—IP 주소로 접속할 수 있는 누구나—이 열쇠를 얻을 수 있었습니다.
소프트웨어 빌드 과정의 어디에서 문제가 생긴 것인가?
연구원의 분석에 따르면 원인은 한 문장으로 요약됩니다. 연 매출 100억 달러가 넘는 대형 보안 기업이 극도로 허술한 소프트웨어 빌드 파이프라인을 사용했다는 점입니다.
한화는 카메라의 웹 관리자 페이지를 번들링하기 위해 Vite라는 프론트엔드 빌드 도구를 사용했습니다. 이 도구는 빌드 시 현재 환경의 모든 변수(process.env—실행 중인 프로세스가 접근할 수 있는 환경 변수)를 최종 프론트엔드 코드에 포함하도록 설정될 수 있습니다. 그리고 당시 빌드 작업을 수행하던 CI(지속적 통합) 서버에는 관리자 권한을 가진 GitHub 토큰이 환경 변수로 설정되어 있었습니다.
결국 CI 환경의 모든 환경 변수 정보—GitHub 관리자 토큰, Kubernetes 클러스터 주소, npm 보안 키, 내부 서비스의 도메인과 포트 번호—가 웹 페이지 코드에 그대로 기록되었고, 펌웨어로 패키징되어 전 세계 고객에게 배송된 것입니다.
이는 마치 5성급 호텔의 보안팀이 전체 금고의 비밀번호 목록을 객실 키 카드의 안내서에 인쇄해서 나눠준 것과 같습니다.
더욱 충격적인 내부 IP 주소 노출
GitHub 토큰 유출 외에도 연구원은 펌웨어 파일 내부에서 이례적인 IP 주소들을 발견했습니다. 확인 결과 해당 IP 주소들은 **미국 국방부(DoD)**에 할당된 주소 대역이었습니다.
이 대목에서 한화라는 기업에 대한 배경 이해가 필요합니다. 대부분의 사람들은 한화 비전의 보안 카메라인 Wisenet 브랜드로 알고 있지만, 모기업인 한화그룹은 방위산업, 항공우주, 금융, 에너지 등 다양한 분야를 아우르는 한국의 대기업입니다. 계열사로는 다음과 같은 기업들이 있습니다:
- 한화에어로스페이스 (Hanwha Aerospace)
- 한화디펜스 USA (Hanwha Defense USA)
- K9 자주포, K2 흑표 전차, SGR-A1 경계 로봇 등 군사 무기 체계 제조
사진 설명: 한화그룹은 보안 카메라뿐만 아니라 군용 장비도 생산합니다. 사진은 핀란드 육군이 운용 중인 한화 K9 ‘자주포’. 출처: Wikimedia Commons
즉, 시중에서 판매되는 보안 카메라 내부 펌웨어에 미국 국방부 관련 내부 서비스 주소가 포함되어 있었던 것입니다. 연구원은 한화그룹 내부에서 보안 카메라 부문, 방산 부문, 항공우주 부문이 동일한 CI/CD 인프라를 공유했을 가능성을 제기했습니다. 이론적으로 보안 카메라의 허점이 방위산업 시스템으로 침투하는 통로가 될 수 있었던 셈입니다.
이 부분은 추정의 영역이 존재하지만, 문제의 심각성을 보여주기에는 충분합니다.
일회성 사고인가, 업계 전체의 구조적 문제인가?
안타깝게도 이 문제는 한화 한 기업에만 국한되지 않습니다. IoT(사물인터넷) 업계 전반의 보안 수준은 구조적으로 매우 취약한 상태입니다.
보안 커뮤니티가 지속적으로 지적해 온 대표적인 문제는 다음과 같습니다:
- 펌웨어 서명 검증 부재: 디지털 서명 검증이 빠져 있어 공격자가 변조된 펌웨어로 업데이트를 진행할 수 있음.
- 하드코딩된 인증 정보: 출고 시 고정된 사용자 이름과 비밀번호(예: admin/admin)가 그대로 유지됨.
- 암호화되지 않은 펌웨어 업데이트: 업데이트 파일이 네트워크상에서 평문으로 전송되어 중간자 공격(MITM)에 노출됨.
- 프론트엔드 코드에 비밀 정보 포함: API 키, 데이터베이스 비밀번호, 인증 토큰을 웹 코드에 직접 하드코딩하는 만성적인 실수.
그러나 GitHub 관리자 토큰을 보안 카메라 로그인 페이지의 JavaScript에 직접 포함시킨 이번 사례는 수많은 보안 반면교사 중에서도 단연 독보적인 수준입니다.
일반 사용자는 어떻게 대처해야 하는가?
가정이나 기업에서 한화의 보안 카메라(Hanwha Vision, Wisenet, 또는 기존 Samsung Techwin 브랜드)를 사용 중이라면, 제조사 측의 펌웨어 빌드 파이프라인 결함을 사용자가 직접 수정할 수는 없습니다. 한화 측은 보고를 받은 후 12시간 이내에 해당 토큰을 취소했지만, 그 이전에 토큰이 얼마나 오랫동안 노출되었는지, 제3자가 이를 이미 입수했는지 여부는 알기 어렵습니다.
보안 전문가들이 권장하는 대처 방안은 다음과 같습니다:
첫째, 보안 카메라인 IoT 기기를 격리된 네트워크(VLAN)에 배치하십시오. 공유기의 ‘게스트 네트워크’나 VLAN 기능을 활용하여 카메라, 스마트 TV 등 모든 IoT 기기를 주요 PC 및 스마트폰과 분리된 별도 네트워크에 둡니다. 이렇게 하면 카메라가 침해당하더라도 다른 내부 기기로 공격이 확산되는 것을 막을 수 있습니다.
둘째, ONVIF 표준을 지원하는 카메라와 오픈소스 NVR을 활용하십시오. ONVIF는 카메라 통신을 위한 공용 표준입니다. 이 표준을 지원하는 카메라와 자체 구축 가능한 오픈소스 녹화 소프트웨어를 조합하면 제조사의 폐쇄적인 웹 관리자 페이지에 의존하지 않고 안전하게 운용할 수 있습니다.
셋째, 네트워크 연결 기기를 무조건 신뢰하지 마십시오. 네트워크에 연결되는 모든 기기는 잠재적인 보안 위험 요소입니다. 하드웨어를 구매할 때 제조사의 전체 소프트웨어 공급망 보안 위험도 함께 동반된다는 점을 인지해야 합니다.
맺음말
이번 사건에서 가장 우려스러운 점은 단순한 실수 그 자체가 아닙니다. 부주의는 어떤 기업에서든 일어날 수 있습니다. 진짜 문제는 매출 100억 달러 규모의 방산·보안 기업이 상용 제품을 빌드하는 과정에서 관리자 토큰이 사용자 펌웨어에 포함되는 것을 막아주는 자동화된 안전장치가 단 하나도 없었다는 점입니다.
대기업조차 이러한 기본 검증을 놓치고 있다면, 브랜드명이 생소한 저가형 카메라의 보안 실태는 더욱 심각할 수밖에 없습니다.
IoT 시대에 ‘보안 카메라를 구매하는 행위’와 ‘제조사의 내부 금고 열쇠를 전달받는 행위’ 사이의 경계는 단 한 번의 조잡한 빌드 스크립트로 인해 허물어질 수 있습니다.
참고 링크:
- HHH: My security camera shipped a GitHub admin token in its login page (원문 기사)
- Hacker News 토론 스레드 (ID: 49034292)
- El Solitario: GitHub Token Leaked in Hanwha Cameras
- Wikipedia: Hanwha Group
- Hanwha Vision 공식 홈페이지