← 전체 글

봇 탐지는 행동 기반으로 바뀌었습니다. 대부분의 스크래퍼는 그대로입니다.

봇 탐지가 IP 차단에서 TLS 지문, 브라우저 신호, 행동 분석으로 전환되었습니다. 대부분의 스크래핑 설정은 엉뚱한 곳에서 싸우고 있습니다.

1월에 발생한 1,600만 건의 요청이 IP 차단의 종말을 증명했습니다

2026년 1월, 대형 전자상거래 플랫폼을 겨냥한 스캘핑 공격이 발생했습니다. 390만 개의 고유 IP 주소에 걸쳐 1,600만 건의 요청이 분산되었습니다. IP별 rate limit은 전혀 효과가 없었습니다. 이 공격이 성공한 이유는 정교한 코드 때문이 아니었습니다. 순전히 막대한 IP 수량으로 인해 기존의 탐지 방식이 무력화되었기 때문입니다 (SecurityBoulevard, March 2026).

이 사건은 봇 탐지 업계가 오랫동안 주장해 온 바를 증명했습니다. IP 평판만으로는 인간과 봇을 구분할 수 없습니다. 방어 측이 이미 다음 단계로 넘어갔다면, 스크래퍼 역시 방식을 바꿔야 합니다.

IP 차단을 대체한 3가지 계층

현대 봇 탐지는 3개 계층에서 작동합니다. IP가 관여하는 부분은 첫 번째 계층뿐입니다.

연결 핑거프린팅. 요청이 서버에 도달하기 전, 연결의 첫 번째 패킷에는 요청을 보내는 HTTP 라이브러리를 식별하는 고유한 형태가 담겨 있습니다. Python의 requests 라이브러리, Go의 기본 클라이언트, Node.js의 fetch 등은 각각 고유한 핑거프린트를 생성합니다. 봇 탐지 시스템은 단 하나의 header를 읽기도 전에 이를 먼저 확인합니다. 서명이 실제 브라우저와 일치하지 않으면 연결 단계에서 즉시 차단됩니다 (Reddit r/programming).

브라우저 핑거프린팅. 사이트는 이제 브라우저 환경에서 300개 이상의 신호를 확인합니다. Canvas 렌더링, WebGL 출력, 오디오 컨텍스트, 설치된 글꼴, 화면 해상도, 표준 시간대, GPU 정보 등이 포함됩니다. User-Agent 문자열은 이 스택에서 가장 중요도가 낮은 신호입니다. Cloudflare, Akamai, DataDome은 페이지가 로드되기 전에 실행되는 JavaScript 챌린지를 통해 이러한 신호를 수동적으로 수집합니다.

행동 분석. 가장 최신 계층이자 위조하기가 가장 까다로운 영역입니다. 봇 탐지 시스템은 이제 마우스 움직임, 스크롤 속도, 클릭 패턴, 타이핑 간격, 상호작용 사이의 타이밍을 추적합니다. 실제 인간은 마우스를 완벽한 직선으로 움직이지 않습니다. 멈추기도 하고, 버튼을 지나치기도 하며, 불규칙하게 스크롤합니다. 봇은 이러한 동작을 전혀 하지 못하거나, 지나치게 완벽하게 수행합니다 (r/webdev, 2026).

대부분의 스크래핑 팀이 엉뚱한 곳에서 싸우고 있습니다

불편한 진실은 다음과 같습니다. 대부분의 스크래핑 팀은 여전히 주로 IP 인프라에 투자합니다. 더 큰 proxy 풀, 주거용 IP, 로테이팅 게이트웨이 등이 대표적입니다. 이러한 요소도 필요합니다. IP 평판은 여전히 여러 신호 중 하나로 유효하기 때문입니다.

하지만 연결 수준의 핑거프린트가 "Python 스크립트"임을 드러내거나 headless 브라우저가 navigator.webdriver를 통해 자동화 플래그를 노출한다면, 10,000개의 주거용 IP를 구매해도 아무런 도움이 되지 않습니다. 잘못된 계층에 비용을 낭비하고 있는 셈입니다.

34개의 프로덕션 스크래퍼를 구축한 한 개발자가 이 문제에 대해 기고했습니다 (Dev|Journal, 2026년 3월). 튜토리얼 수준의 스크래핑과 프로덕션에서 실제로 작동하는 방식 사이의 격차는 DOM 선택자가 아니라 연결 핑거프린트와 마우스 움직임을 분석하는 봇 탐지 시스템에 의해 결정됩니다. 튜토리얼은 HTML 파싱을 가르치지만, 프로덕션은 탐지에서 살아남는 법을 가르칩니다.

상황은 더욱 악화되고 있습니다. Browserless의 State of Web Scraping 2026 보고서에 따르면, 봇 탐지 시스템이 headless와 일반 브라우저 인스턴스 간의 구체적인 핑거프린트 차이를 분류해 둠에 따라 표준 headless 브라우저가 실제 브라우저보다 더 자주 플래그 지정되는 것으로 나타났습니다. 격차는 줄어들지 않고 있습니다.

만약 스크래퍼가 계속 중단되고 proxy 순환만 살펴보고 있다면, 완전히 엉뚱한 문제를 해결하려 하는 것일 수 있습니다.

Cloudflare 요인

Cloudflare는 이러한 변화의 양쪽에 모두 관여하고 있어 특별히 언급할 가치가 있습니다.

Cloudflare의 Bot Management 제품은 모든 request에 대해 동작 분석을 실행하며, 수십 가지 신호를 기반으로 방문자에게 1-99점 사이의 점수를 부여합니다. 투명 챌린지인 Turnstile은 방문자가 얼마나 사람처럼 보이는지에 따라 동적으로 챌린지 난이도를 조정합니다 (Cloudflare docs).

동시에 Cloudflare는 자체 AI 크롤링 인프라를 출시했습니다. 커뮤니티는 이 아이러니를 주목했습니다 (Reddit r/cybersecurity).

실질적으로 이것이 의미하는 바는 다음과 같습니다. 2026년 기준으로 Cloudflare로 보호되는 사이트는 스크래핑하기가 가장 까다로우며, 전체 웹사이트의 약 20%가 해당 네트워크 뒤에 위치해 있습니다. 스크래핑 전략이 동작 탐지를 고려하지 않는다면 접근 가능한 웹의 5분의 1을 잃는 셈입니다.

2026년에 실제로 작동하는 방식

성공적인 스크래퍼는 세 가지 공통적인 특징을 가집니다.

첫째, 최신 브라우저의 wire 수준 시그니처와 일치합니다. 연결의 실제 바이트 단위 형태가 최신 Chrome 또는 Firefox 세션이 출력하는 것과 정확히 일치해야 합니다. 아무리 header를 위조하더라도 일치하지 않는 연결 핑거프린트를 해결할 수는 없습니다.

둘째, 실제 브라우저 또는 실제와 구분이 불가능한 브라우저 환경을 실행합니다. 기본 설정의 headless 인스턴스가 아닙니다. 자신이 표방하는 User-Agent와 일치하는 일관된 핑거프린트를 가진 실제 browser instances입니다.

셋째, 보호된 사이트의 경우 인간과 유사한 동작 노이즈를 추가합니다. 단순한 무작위 딜레이로는 충분하지 않습니다. 작업 간의 타이밍은 현실적인 분포를 따라야 하며, 마우스 이동 경로는 유기적으로 보이는 곡선과 머뭇거림을 포함해야 합니다.

따라서 아키텍처가 변화했습니다. 단순히 더 많은 IP를 확보하는 것이 문제가 아닙니다. 각 request를 실제 브라우저를 탐색하는 실제 사람과 구분할 수 없게 만드는 것이 핵심입니다.

탐지 기술의 군비 경쟁 가속화

봇 탐지 솔루션 업체들이 고객사 네트워크 전반에 걸쳐 위협 인텔리전스를 실시간으로 공유하기 시작했습니다. 한 사이트에서 새로운 봇 패턴이 감지되면, 네트워크 내의 다른 모든 사이트가 수 분 내에 이를 학습합니다 (SecurityBoulevard, 2026년 3월). 이는 각 사이트의 방어 체계가 독립적으로 작동하던 기존 모델과의 근본적인 변화입니다.

이는 자체 구축한 스크래핑 인프라의 유지 비용이 계속 상승할 것임을 의미합니다. 새로운 탐지 신호가 나올 때마다 이를 대응하기 위한 엔지니어링 리소스가 소모되며, 이 주기는 점점 더 빨라지고 있습니다. 인프라 레벨에서 탐지에 대응하는 팀(smart proxy routing, 브라우저 핑거프린팅, 연결 레벨 매칭)이 단순히 IP 수만 늘리는 팀보다 앞서 나갈 것입니다.

핵심은 더 많은 proxy가 필요한가가 아닙니다. 대상 서버에 도달하기 전부터 전송되는 request가 인간의 동작처럼 보이는지 여부입니다.