← 전체 글

웹 스크래핑 타르핏: 실제로 누가 걸려드는가

웹사이트들이 AI 크롤러를 가두고 쓰레기 데이터를 주입하는 타르핏을 배포하고 있습니다. 하지만 이 트랩들은 GPTBot과 귀하의 가격 추적기를 구분하지 못합니다.

웹사이트들이 AI 크롤러를 향해 덫을 놓고 있습니다

2025년 초 Nepenthes라는 도구가 큰 주목을 받았습니다. 이 도구는 가짜 웹페이지의 무한 미로를 생성하며 각 페이지는 또 다른 가짜 페이지로 연결되어 크롤러를 빠져나올 수 없는 루프에 가두도록 설계되었습니다. 이 페이지들의 텍스트는 어떨까요? AI 학습 데이터셋을 쓰레기 데이터로 오염시키기 위해 알고리즘으로 생성된 무의미한 텍스트입니다.

Nepenthes만 그런 것이 아닙니다. Locaine과 같은 프로젝트를 비롯해 점점 더 많은 오픈소스 "tarpit"이 GitHub에 등장하고 있으며, 모두 동일한 논리를 내세웁니다. AI 기업들이 robots.txt를 준수하지 않는다면 사이트 소유자는 데이터 오염(poisoning)으로 맞서겠다는 것입니다.

이러한 행동에는 타당한 이유가 있습니다. arXiv에 게재된 학술 연구에 따르면 신뢰할 수 있는 사이트의 AI 차단 비율이 2023년 9월 23%에서 2025년 5월 거의 60%까지 급증했습니다. BuzzStream의 분석에서는 주요 뉴스 사이트의 79%가 현재 robots.txt를 통해 AI 학습 봇을 차단하고 있는 것으로 나타났습니다. 또한 Cloudflare Radar의 보고에 따르면 2025년 중반 AI 관련 웹 트래픽의 75%가 검색이나 추론이 아닌 학습 목적으로 발생했습니다.

하지만 tarpit은 자격 증명을 확인하지 않습니다. 크롤링 목적도 묻지 않습니다. 자동화된 것처럼 보이는 모든 것을 가둡니다.

실제로 누구의 크롤러가 갇히고 있는가

의도된 타깃은 명확합니다. 학습 데이터를 수집하기 위해 공개 웹을 긁어모으는 GPTBot, ClaudeBot 등 AI 기업의 크롤러입니다. 문제는 tarpit이 OpenAI의 크롤러와 여러분의 가격 모니터링 스크립트를 구분하지 못한다는 점입니다.

tarpit은 자동화된 요청 패턴을 감지합니다. 여러분의 스크래퍼가 링크를 체계적으로 따라가거나, 일정한 간격으로 페이지에 접근하거나, JavaScript 실행을 건너뛰는 경우(대부분의 AI 학습 크롤러가 작동하는 방식), 타깃으로 인식됩니다. 덫은 여러분이 경쟁사 가격을 추적하는 10명 규모의 이커머스 팀이라는 사실을 신경 쓰지 않습니다. 봇 형태의 트래픽을 감지하고 가짜 페이지를 서빙하기 시작할 뿐입니다.

이는 이론에 그치지 않습니다. Rutgers와 Wharton의 연구에 따르면 AI 크롤러를 차단하는 사이트는 전체 트래픽이 23.1% 감소하고 실제 사용자 트래픽도 13.9% 감소했습니다. 공격적인 차단 정책은 AI 스크래퍼만 막는 데 그치지 않고, 사이트 자체의 가시성에도 타격을 줍니다.

그리고 tarpit은 한 걸음 더 나아갑니다. 크롤러의 연산 자원, 스토리지, 대역폭을 적극적으로 낭비시키는 동시에, 크롤러가 구축 중인 모델이나 데이터베이스의 성능을 저하시키는 데이터를 주입합니다.

대응 수위의 단계적 상승

robots.txt는 언제나 신사 협정에 불과했습니다. 모두가 규칙을 따를 때는 잘 작동했습니다. 주요 AI 기업들이 이를 무시하기 시작하거나("검색을 위한 크롤링"과 "학습을 위한 크롤링"을 자의적으로 해석하기 시작하거나), 사이트 소유자들은 대응 수위를 높였습니다.

그 양상은 다음과 같습니다.

  1. Robots.txt 차단: 정중한 요청
  2. User-Agent 필터링: 알려진 AI 크롤러 시그니처 차단
  3. 동작 기반 탐지: 요청 패턴을 통한 미확인 크롤러 탐지
  4. 타르핏(Tarpit): 리소스를 낭비시키고 데이터를 오염시키는 능동적 대응

단계가 올라갈수록 더 많은 위협을 탐지합니다. 동시에 정상적인 트래픽도 더 많이 차단됩니다. 4단계에 이르면 모든 자동화된 접근을 적으로 간주하게 됩니다. 따라서 가격 비교 서비스를 위해 공개된 제품 가격을 수집하는 스크래퍼도 무단으로 데이터를 수집하는 GPTBot과 동일한 트랩에 걸리게 됩니다.

데이터 팀이 지금 해야 할 일

어느 정도 규모의 데이터 수집을 운영하고 있다면 타르핏은 판도를 바꿉니다. 이전보다 중요해진 몇 가지 요소가 있습니다.

항상 robots.txt를 준수하세요. 기본적인 내용처럼 보이지만, 이제는 기본 전제 조건입니다. 사이트는 robots.txt를 1차 필터로 사용합니다. 이를 무시하면 타르핏 대응을 촉발한 AI 학습용 봇과 같은 범주로 분류됩니다.

학습용 크롤러처럼 보이지 않도록 하세요. AI 학습용 크롤러는 예측 가능한 시그니처를 가집니다. 모든 링크를 따라가고, 대량으로 페이지를 요청하며, JavaScript를 건너뛰고, 규칙적인 간격을 유지합니다. 개발 중인 스크래퍼가 동일하게 작동하면 동작 기반 탐지에 걸리게 됩니다. 요청 타이밍을 다양화하세요. 필요한 데이터만 로드하세요. 사이트에서 요구하는 경우 JavaScript를 실행하세요. 스크래퍼가 차단되는 원인에 대해서는 웹 스크래퍼가 계속 중단되는 이유에서 다룬 바 있습니다.

수집 데이터를 검증하세요. 타르핏은 그럴듯해 보이는 쓰레기 데이터를 반환합니다. 파이프라인에서 응답을 확인하지 않으면 마르코프 체인으로 생성된 텍스트를 실제 제품 설명으로 저장하게 될 수 있습니다. 사후 대책이 아니라 핵심 단계로 데이터 검증을 구축하세요.

요청 인프라에 투자하세요. IP를 순환하고 실패 시 재시도하는 기존 방식만으로는 충분하지 않습니다. 최신 봇 탐지 시스템은 TLS 핑거프린트, 브라우저 동작, 세션 패턴을 분석합니다. 스마트 프록시 라우팅이 도움이 되지만, 실제 핵심 변화는 IP 수준 탐지에서 동작 수준 탐지로의 전환입니다. JavaScript 비중이 높은 사이트를 스크래핑하는 경우, 브라우저 기반 수집이 점점 더 유일한 신뢰할 수 있는 접근 방식이 되고 있습니다.

접근 격차는 더욱 벌어지고 있습니다

웹은 명확한 양극화로 향하고 있다고 판단합니다. 한쪽에는 유료 접근 계약, API 파트너십, 라이선스 기반 크롤링을 통해 데이터를 수익화하는 사이트들이 있습니다. 다른 한쪽에는 모든 자동화된 접근을 위협으로 간주하고 점점 더 공격적인 대응책을 배포하는 사이트들이 있습니다.

데이터 팀의 입장에서 이는 수집 비용이 계속해서 상승함을 의미합니다. 기술 구축이 더 어려워져서가 아니라, 환경이 더 적대적으로 변했기 때문입니다. 책임감 있고 투명한 스크래핑 방식에 투자하는 팀은 접근 권한을 유지할 것입니다. 학습용 봇처럼 동작하는 팀은 트랩에 걸리고, 데이터가 오염되며, 차단될 것입니다.

Tarpit은 사라지지 않습니다. 팀에서 고민해야 할 점은 tarpit을 걱정해야 하는지가 아닙니다. 데이터가 데이터베이스에 저장되기 전에 인프라가 실제 페이지와 트랩의 차이를 구분할 수 있는지 여부입니다.