chat-apps-osint: 왓츠앱·시그널·텔레그램 통화 수신 시 P2P 메타데이터 및 IP 노출 분석 도구
오픈소스 보안 도구 chat-apps-osint가 왓츠앱·시그널·텔레그램 통화 수락 시 노출되는 P2P 메타데이터(IP 주소, 대략적 위치, 연동 기기 수, OS 및 Wi-Fi 연결 여부) 수집 구조와 방어 원리를 분석했습니다.
오픈소스 개발자 0x6rss가 공개한 보안 분석 도구 'chat-apps-osint'가 왓츠앱(WhatsApp), 시그널(Signal), 텔레그램(Telegram) 등 주요 메신저 음성 통화 연결 과정에서 발생하는 P2P 메타데이터 노출 메커니즘을 시연하며 보안 연구자들의 주목을 받고 있습니다. 2026년 9월 보안 분석가 Nix0n(@UnTalNixon_exe)을 통해 조명된 이 프로젝트는 종단간 암호화(E2EE) 환경에서도 통화 수락 시 피어 간 직접 교환되는 네트워크 정보가 정찰 표면으로 활용될 수 있음을 실증합니다.

이미지 출처: @UnTalNixon_exe on X
메신저의 텍스트 메시지와 통화 음성 데이터 자체는 강력한 암호화 프로토콜로 보호되지만, 통화 지연 시간을 최소화하기 위해 수립되는 P2P(Peer-to-Peer) 전송 계층은 직접적인 단말 간 패킷 교환을 수반합니다. chat-apps-osint는 상대방이 수신 통화에 응답하는 순간 교환되는 네트워크 핸드셰이크와 세션 정보를 모니터링하여, 통화 상대방의 기술적 프로필을 수동으로 파악하는 수동 정찰(Passive Reconnaissance) 아키텍처를 보여줍니다.
P2P VoIP 통화 수립과 수동 정찰(Passive Reconnaissance)의 원리
chat-apps-osint가 분석하는 핵심 메커니즘은 메신저 애플리케이션의 음성 통화(VoIP) 연결 아키텍처에 기반합니다.
대다수 현대 모바일 메신저는 음성 대화 중 발생하는 패킷 왕복 시간(RTT)과 오디오 레이턴시를 최소화하기 위해, 중앙 서버 중계 대신 발신자와 수신자 간 P2P 직접 연결을 우선적으로 시도합니다. 발신자가 전화를 걸고 수신자가 통화를 수락(Answer)하는 순간, 양 단말은 직접적인 P2P VoIP 세션을 맺습니다.
- 외부 공인 IP 식별: P2P 세션이 활성화되는 즉시 수신 단말의 외부 IP 주소가 패킷 헤더를 통해 발신 측에 노출됩니다.
- 지리적 위치(Geolocalization) 추정: 수집된 IP 주소를 기반으로 대상의 대략적인 지리적 위치 정보를 파악할 수 있습니다.
- 네트워크 연결 유형 판별: 수신 단말이 모바일 이동통신 셀룰러 데이터로 연결되어 있는지, 혹은 Wi-Fi 네트워크에 물려 있는지를 식별합니다.
이 과정은 상대방의 기기에 침투하거나 세션을 강제로 하이재킹하는 능동적 공격(Active Exploit)이 아니라, 통화 표준 프로토콜이 정상 작동하는 과정에서 교환되는 패킷을 수동으로 캡처하고 분석하는 '수동 정찰(Passive Reconnaissance)' 기법에 해당합니다.
노출되는 단말 메타데이터와 계정 연동 기기 정보
chat-apps-osint는 단순 IP 주소 추출을 넘어, 통화 세션 핸드셰이크에 포함된 다양한 부가 메타데이터를 구조화하여 제공합니다.
분석 도구가 추출하는 주요 정보에는 수신 단말의 운영체제 환경(Android vs iPhone)에 대한 상세 정보와 함께, 사용자 계정에 현재 연동되어 있는 다중 기기(Linked Devices)의 수 및 기술적 세부 정보가 포함됩니다.
- 통화 내용 도청 불가: 분석을 공유한 Nix0n(@UnTalNixon_exe)은 추가 질의응답을 통해, 해당 도구가 음성 통화 음성을 도청하거나 복호화하는 것이 결코 아니라는 점을 분명히 밝혔습니다.
- E2EE와 메타데이터의 분리: 음성 페이로드 자체는 종단간 암호화(E2EE)로 보호되지만, 통화를 연결하기 위한 '누가, 언제, 어떤 단말과 네트워크로 연결되었는가'에 대한 트랜스포트 계층 메타데이터는 암호화 경계 외부에 남게 됩니다.
- VoIP 공격 표면 실증: 텍스트 채팅에서는 서버가 메시지를 중계하여 상대방 단말 정보가 은닉되는 반면, 직접 통화 기능은 프로토콜 설계상 훨씬 넓은 공격 표면을 노출한다는 점을 입증합니다.
활성 세션 요구 조건과 메신저 통화 방어 원리
chat-apps-osint의 작동에는 명확한 기술적 전제 조건이 존재하며, P2P 직접 연결을 제한하는 방어 조치를 통해 노출 위험을 완화할 수 있습니다.
가장 중요한 전제는 상대방이 전화를 실제로 '수신하여 수락(Answer)'한 활성 통화 상태여야 한다는 점입니다. 전화를 걸었으나 수신자가 받지 않은 부재중 통화(Unanswered Ring) 상태나 통화 거절 시에는 직접 P2P 세션이 성립되지 않아 메타데이터를 수집할 수 없습니다. 또한 원격 코드 실행(RCE)이나 무응답 스파이웨어와는 기술적 성격이 완전히 다릅니다.
P2P 통화 시 발생하는 IP 및 단말 메타데이터 노출을 차단하기 위해서는, 상대방과의 직접 연결 대신 중앙 릴레이 서버를 경유하도록 강제하거나 메신저 내 제공되는 통화 개인정보 보호 설정을 활용해야 합니다. 중계 서버를 경유할 경우 상대방에게 실제 단말의 IP 대신 중계 서버 주소가 노출되어 직접적인 정찰 벡터를 무력화할 수 있습니다. 다만 중계 서버 경유 시 네트워크 홉(Hop) 추가로 인해 약간의 오디오 지연 시간이 발생할 수 있습니다.
한편 인가되지 않은 제3자를 대상으로 한 IP 및 식별 정보 수집은 관련 법령상 불법 감청 및 개인정보 침해에 해당할 수 있으므로, 해당 도구는 공인된 연구 및 방어적 모의 분석 용도로만 제한되어야 합니다.
출처
- 0x6rss GitHub 저장소: chat-apps-osint Repository
- Nix0n(@UnTalNixon_exe) X 분석 포스트: 2026-09-23 X 포스트 및 시연 분석
- 왓츠앱 공식 블로그: WhatsApp 공식 블로그