VPN 탐지의 한계: 네트워크 플래그가 알려줄 수 있는 것
Watch-IP의 VPN, Tor, 데이터센터 플래그는 실시간 행동 분석이 아니라 유지 관리되는 목록과의 대조 결과입니다 — 목록이 마지막으로 갱신된 시점 기준으로 연결의 IP가 해당 카테고리의 알려진 네트워크와 일치했다는 뜻입니다. false는 현재 로드된 목록에 일치 항목이 없다는 의미이지 검증된 안전한 연결이라는 의미가 아니며, 커버리지는 IPv4와 IPv6 사이에 상당히 다릅니다.
목록 기반 탐지의 작동 방식
Watch-IP는 접속하는 IPv4 또는 IPv6 주소를 Tor 출구 노드, 상업용 VPN 제공업체, 데이터센터/호스팅 네트워크, 알려진 위협 범위나 ASN, 국가 제재 대상 네트워크 운영자에 대해 별도로 유지 관리되는 목록과 대조합니다. 일치하면 해당 필드(isTor, isVpn, isDatacenter, isThreat, isSanctionedNetwork)가 true로 설정됩니다. 이는 Watch-IP가 로드한 목록에 등재된 네트워크에 대해서만 작동합니다 — 기술적으로 아무리 잘 작동하더라도 어떤 목록에도 없는 VPN이나 프록시 서비스는 탐지할 수 없습니다.
false, 누락, true는 서로 다른 의미입니다
security 객체가 누락되었다는 것은 해당 요금제에 이 데이터가 전혀 포함되지 않는다는 의미이며, 연결을 확인해서 깨끗하다고 판단했다는 의미가 아닙니다. 포함된 필드의 false 값은 현재 로드된 목록에 일치 항목이 없다는 의미이며, 이는 "안전함"보다 약한 주장입니다 — 목록 커버리지는 본질적으로 불완전하며, 새로 생기거나 규모가 작은 VPN 제공업체는 아직 목록에 없을 수 있습니다. 평가되지 않았거나 false인 결과를 "깨끗함", "안전함", "확인됨"으로 표시하지 마세요 — 이런 표현은 목록 일치가 뒷받침할 수 있는 것보다 더 큰 확실성을 주장하는 것입니다.
IPv6에는 실질적인 커버리지 공백이 있습니다
IPv4 연결은 다섯 가지 카테고리 모두에 대해 확인됩니다. IPv6 연결은 Tor를 제외한 모든 카테고리에 대해 확인됩니다 — 현재 무료 IPv6 Tor 출구 목록 소스가 없기 때문에, 실제로 Tor 출구인지 여부와 관계없이 IPv6 연결의 isTor는 항상 false입니다. 심사 로직이 isTor에 따라 분기한다면, IPv6 방문자는 단순히 다른 결과가 아니라 구조적으로 더 약한 검사를 받게 됩니다.
이 목록들이 다루지 않는 것
레지덴셜 프록시 서비스 — 데이터센터가 아닌 실제 소비자 IP 주소를 통해 트래픽을 라우팅하는 서비스 — 는 상업용 VPN이나 Tor보다 훨씬 어려운 탐지 문제이며, 현재 목록은 이를 다루지 않습니다. 임의 IP 조회 엔드포인트(GET/POST /v1/lookup)는 이 블록을 전혀 반환하지 않습니다 — 이는 접속한 브라우저에 연결된 GET /v1/geo 기능이며, 저장되거나 제공된 IP에 대해 요청할 수 있는 것이 아닙니다.
신중한 심사 정책
isVpn이나 isDatacenter는 계정 이력 및 다른 신호와 함께 수동 심사 대기열에 넣기 위한 하나의 입력값으로 취급하고, 자동 차단의 단독 근거로 사용하지 마세요. 정당한 사용자도 개인정보 보호, 회사 네트워크, 여행 등 일반적인 이유로 VPN과 공유 네트워크를 통해 접속합니다. 단일 플래그만으로 무조건 차단하는 정책은 실제 고객을 거부하게 됩니다. 동일한 이벤트에서 네트워크 플래그를 일회용 이메일 일치 같은 두 번째 신호와 함께 사용하는 것이, 어느 한쪽 신호만 사용하는 것보다 심사로 라우팅하는 더 방어 가능한 근거가 됩니다.
이 문서가 주장하지 않는 것
이는 Watch-IP 자체의 목록 기반 구현을 설명하는 것이며, 업계 전반에서 VPN 탐지가 달성할 수 있는 것에 대한 일반적인 주장이 아닙니다. Watch-IP는 레지덴셜 프록시를 탐지하지 않고 신원을 검증하지 않으며, 목록은 지속적으로가 아니라 (자체 스토리지에 저장되어) 일정에 따라 갱신됩니다 — 갱신이 느리거나 실패하면 오래되었거나 비어 있는 데이터로 저하되며, 이는 "일치 없음"과 동일하게 읽힙니다.
출처
Watch-IP 편집팀이 작성했습니다(2026년 9월 6일). apps/api/src/lib/threat-store.ts 및 apps/api/src/lib/threat-sources.ts를 기준으로 검토했습니다.