챗GPT는 어떻게 봇을 잡나…턴스타일 작동 원리 공개
||2026.05.04
||2026.05.04
[디지털투데이 AI리포터] 챗GPT가 메시지를 처리할 때 클라우드플레어의 봇 탐지 시스템 ‘턴스타일’이 브라우저 정보뿐 아니라 애플리케이션의 실제 렌더링 상태까지 함께 점검하는 것으로 나타났다.
지난 2일(현지시간) 온라인 매체 기가진은 기술 블로그 부초디를 인용해, 네트워크 트래픽 가로채기와 SDK 난독화 해제를 통해 이 같은 구조가 분석됐다고 전했다.
분석에 따르면 챗GPT의 모든 메시지는 브라우저 내에서 실행되는 ‘턴스타일’ 프로그램을 호출한다. 이 프로그램은 브라우저, 클라우드플레어 네트워크, 챗GPT 애플리케이션 등 3개 계층에서 총 55개 속성을 점검한다. 웹GL, 화면 해상도, 하드웨어 정보, 폰트 측정, DOM 조작, 저장소 사용 상태 같은 브라우저 정보와 클라우드플레어 엣지 헤더를 수집하며, 챗GPT의 리액트 애플리케이션이 완전히 렌더링되고 하이드레이션됐는지도 함께 확인한다.
이처럼 다층적인 검증 구조로 인해 단순히 브라우저 지문만 위장해서는 검사를 통과하기 어렵다. 지문 정보를 속이더라도 실제 챗GPT 단일 페이지 애플리케이션을 정상적으로 렌더링하지 않는 봇은 탐지 대상이 된다는 설명이다.
한편 턴스타일 바이트코드의 복호화 구조도 함께 확인됐다. 준비 요청의 토큰 p와 준비 응답의 turnstile.dx를 XOR 연산해 외부 바이트코드를 얻고, 이를 통해 약 89개의 가상머신 명령을 추출하는 방식이다. 이 명령 안에는 실제 지문 수집 프로그램이 담긴 19KB 규모의 암호화 데이터 블록이 포함돼 있다.
특히 내부 키는 기존에 performance.now()에서 파생된 것으로 추정됐지만, 추가 분석 결과 가상머신 명령 안에 부동소수점 리터럴 형태로 직접 포함된 것으로 나타났다. 서버가 생성한 키를 바이트코드에 삽입하는 구조로, 이를 확보하면 내부 프로그램 복호화가 가능하다. 전체 복호화 과정은 HTTP 요청과 응답만으로 이뤄지며, 마지막 단계에서는 19KB 블록 뒤의 5인자 명령에서 키를 추출해 417~580개의 가상머신 명령으로 구성된 내부 프로그램을 확보하게 된다.
이와 함께 턴스타일은 ‘센티널’ 시스템의 3개 챌린지 중 하나로 확인됐다. 나머지 두 축인 ‘시그널 오케스트레이터’와 ‘작업증명’은 각각 사용자 입력과 마우스 움직임을 기반으로 한 행동 생체 정보 추적, 그리고 25개 필드 지문과 SHA-256 해시를 결합한 검증 방식을 담당한다. 다만 분석 결과 일부 이진 탐지 플래그는 모두 0으로 유지돼 주요 방어 수단이 아닐 가능성도 제기됐다.
결국 XOR 키 기반 난독화는 지문 점검 항목을 숨기고 원시 데이터 접근을 제한하며 토큰 재사용 공격을 막기 위한 목적을 가진 것으로 분석된다. 다만 동일 데이터 스트림 내 XOR 연산 구조인 만큼 분석 자체를 완전히 차단하기는 어려운 것으로 나타났다.
고객님만을 위한 맞춤 차량
