요즘 웹사이트 운영자들이 다 같이 앓는 병
요즘 웹사이트를 직접 운영해본 사람들 사이에서 공통으로 나오는 한숨이 하나 있어요. 바로 "스크래퍼(scraper)" 문제인데요. 스크래퍼가 뭐냐면, 사람이 브라우저로 페이지를 하나씩 보는 게 아니라 프로그램이 자동으로 웹페이지를 쭉쭉 긁어가는 도구를 말해요.
사실 웹을 긁어가는 봇 자체는 옛날부터 있었어요. 구글 검색엔진 크롤러가 대표적이죠. 얘네는 나름 예의가 있어서, robots.txt라는 규칙 파일(사이트 주인이 "여기는 긁지 마세요"라고 적어두는 안내판 같은 거예요)을 지키고, 서버가 힘들어하지 않게 천천히 긁어가거든요. 그런데 최근 1~2년 사이에 판이 완전히 뒤집혔어요. AI 모델을 학습시키려는 회사들이 인터넷에 있는 거의 모든 글을 확보하려고 달려들면서, 긁어가는 양과 강도가 감당이 안 되는 수준이 됐거든요.
리눅스 소식을 20년 넘게 다뤄온 LWN 같은 사이트도 이 문제로 크게 고생하고 있어요. 소규모로 운영되는 기술 사이트들이 특히 직격탄을 맞고 있죠.
왜 이렇게 막기가 어려울까
예전 봇이었다면 IP 주소 몇 개만 차단하면 끝났어요. "아, 이 주소에서 봇이 오네? 차단!" 하면 됐거든요. 그런데 지금 AI 크롤러들은 차원이 달라요.
첫째, 엄청나게 많은 IP를 돌려가며 써요. 이걸 레지덴셜 프록시(residential proxy)라고 하는데요, 쉽게 말하면 전 세계 일반 가정집 인터넷 회선 수만~수십만 개를 빌려서, 요청 하나하나를 서로 다른 집에서 온 것처럼 위장하는 거예요. 그러니까 IP 하나 막아봤자 다음 요청은 완전히 다른 주소에서 날아와요. 두더지 잡기 게임이 되는 거죠.
둘째, 자기가 봇이라는 걸 숨겨요. 원래 정직한 봇은 "저는 구글봇입니다" 하고 신분(User-Agent)을 밝혀요. 그런데 이 크롤러들은 진짜 크롬 브라우저인 척 위장해서, 사람 접속과 봇 접속을 구분하기가 정말 어려워요. robots.txt? 아예 무시하는 경우가 태반이에요.
셋째, 하필 제일 무거운 페이지만 골라 긁어요. 특히 Git 저장소를 웹으로 보여주는 사이트(Codeberg, SourceHut 같은 곳)가 초토화됐어요. 커밋 하나하나의 변경 내역(diff)이나 특정 줄이 언제 바뀌었는지 추적하는 페이지(blame)는 서버가 그때그때 계산해서 만들어내야 하거든요. 그런데 크롤러가 이런 페이지를 수백만 개씩 요청하니, 서버 입장에선 사실상 디도스(DDoS, 트래픽 폭탄으로 서버를 마비시키는 공격) 공격을 당하는 거나 마찬가지예요.
그래서 어떻게 싸우고 있나
이 전쟁에서 요즘 주목받는 무기가 하나 있어요. 바로 Anubis라는 도구인데요. 원리가 재밌어요. 페이지를 보여주기 전에 방문자의 브라우저한테 아주 작은 계산 숙제를 하나 내줘요. 이걸 작업 증명(proof-of-work)이라고 하는데, 비트코인 채굴할 때 쓰는 그 원리랑 같아요.
사람이 브라우저로 접속하면 이 숙제는 0.1초 만에 풀려서 티도 안 나요. 그런데 크롤러가 초당 수천 페이지를 긁으려고 하면? 페이지마다 이 계산을 다 해야 하니까 전기값이랑 시간이 어마어마하게 들어요. 긁는 비용을 일부러 비싸게 만들어서 경제성을 무너뜨리는 전략이죠. "긁을 수는 있는데, 긁으면 너희가 파산할걸?" 이런 느낌이에요.
LWN을 비롯한 여러 사이트가 이런 접근을 도입하거나, Cloudflare 같은 방패막이 서비스 뒤에 숨거나, 특정 요청 패턴을 통째로 걸러내는 식으로 버티고 있어요. 하지만 어느 것도 완벽한 해법은 아니에요. 방어를 강하게 걸수록 진짜 사람 방문자도 불편해지는 딜레마가 생기거든요.
한국 개발자에게 주는 이야기
"나는 큰 사이트 운영 안 하는데?" 싶어도 남 일이 아니에요. 개인 블로그, 회사 API 서버, 사내 위키, 심지어 취미로 올린 오픈소스 저장소까지, 자동화된 크롤러의 사정권 안에 있거든요. 트래픽 요금이 갑자기 튀거나 서버가 이유 없이 느려진다면, 로그를 한번 뜯어보세요. 사람이 아니라 봇이 원인인 경우가 정말 많아요.
실무에서 당장 해볼 수 있는 것도 있어요. 서버 접근 로그에서 User-Agent와 요청 패턴을 살펴보고, 무거운 동적 페이지에는 캐시를 걸고, 필요하면 Anubis 같은 오픈소스 방어 도구를 얹어보는 거죠. 무엇보다 이건 앞으로 몇 년간 계속될 흐름이라, "AI 시대의 웹 인프라 방어"라는 주제 자체를 배워둘 가치가 충분해요.
마무리
한 줄로 정리하면, AI 학습 경쟁이 뜨거워질수록 그 비용을 애먼 웹사이트 운영자들이 서버 부하로 대신 치르고 있다는 거예요. 여러분이 운영하는 서비스는 이 트래픽 폭탄으로부터 안전한가요? 그리고 AI가 학습을 위해 웹을 긁는 행위, 어디까지가 정당하고 어디부터가 민폐일까요?
🔗 출처: Hacker News