
요즘 웹서핑하다가 이런 화면 자주 보시죠?
"당신이 봇이 아님을 확인하는 중입니다..."
빙글빙글 도는 로딩 바.
솔직히 짜증 납니다.
저도 압니다.
그런데 백엔드 개발자 입장에서 말하자면, 이거 우리가 좋아서 넣는 거 아닙니다.
오히려 죽기보다 싫습니다.
사용자 경험(UX) 박살 나고, 페이지 로드 속도 느려지고, 무엇보다 코드가 복잡해지니까요.
제 원칙 아시죠?
"코드는 부채다."
이런 보안 로직은 그 자체로 거대한 부채 덩어리입니다.
그럼에도 불구하고 왜 넣느냐.
안 넣으면 서버가 터지니까요.
정확히 말하면, AI 기업들의 무차별적인 스크레이핑 때문입니다.
오늘 소개할 이야기는 MetaBrainz 블로그에 올라온, 아주 뼈 아픈 현실에 대한 고발입니다.
그들이 'Anubis'라는 방어 도구를 도입할 수밖에 없었던 이유.
그 내막을 들여다보면 지금 IT 업계가 얼마나 야생인지 알 수 있습니다.

이유는 단순합니다.
AI 기업들의 데이터 수집 봇들이 사실상 DDoS 공격 수준으로 들어오기 때문입니다.
과거 검색 엔진 봇들은 예의가 있었어요.
robots.txt에 "들어오지 마"라고 쓰면 안 들어왔고,
요청 간격도 적당히 조절했습니다.
이게 웹 생태계의 암묵적인 '사회적 계약'이었죠.
하지만 지금은요?
그 계약은 휴지 조각이 됐습니다.
최신 AI 스크레이퍼들은 수단과 방법을 가리지 않습니다.
그냥 서버 리소스를 빨아먹습니다.
이걸 막지 않으면 진짜 사용자들이 접속을 못 합니다.
다운타임이 발생하죠.
그래서 등장한 게 Anubis 같은 도구입니다.
작동 원리가 흥미롭습니다.
단순히 IP를 차단하는 게 아닙니다. (IP야 프록시 태우면 그만이니까요.)
이 녀석은 작업 증명(Proof-of-Work, PoW) 방식을 씁니다.
블록체인 할 때 그 PoW 맞습니다.
클라이언트(브라우저)에게 수학 문제를 냅니다.
"네가 진짜 사람이라면, 네 CPU를 써서 이 계산을 풀어와."
일반 사용자 입장에서는 찰나의 순간이라 CPU 부하가 거의 없습니다.
하지만 수백만 건을 긁어가야 하는 스크레이퍼 입장에서는?
계산 비용이 기하급수적으로 늘어납니다.
서버가 감당해야 할 비용을 스크레이퍼의 CPU로 전가시켜버리는 겁니다.
이메일 스팸을 막기 위해 고안됐던 Hashcash 개념을 가져온 거죠.
지독하게 실용적이고, 방어적인 접근입니다.
하지만 세상에 공짜 점심은 없죠.
이 방어적 코딩의 대가는 큽니다.
PoW 계산을 하려면 브라우저에서 최신 자바스크립트가 돌아가야 합니다.
보안을 위해 JShelter 같은 플러그인을 쓰는 사용자들?
혹은 구형 기기를 쓰는 사용자들?
전부 차단당합니다.
안타깝게도 Anubis를 통과하려면 보안 플러그인을 꺼야 합니다.
저도 이 지점이 뼈 아픕니다.
웹 접근성과 사용자의 프라이버시 도구를 존중해야 한다는 원칙.
그걸 알면서도 깨뜨려야 하는 상황인 겁니다.
왜?
AI 봇들이 서버를 물리적으로 위협하니까요.
결국 지금 상황은 전쟁입니다.
서버 관리자는 핑거프린팅 기술을 더 고도화하고,
헤드리스 브라우저의 폰트 렌더링 방식까지 뜯어보며 봇을 색출해야 합니다.
개발 리소스가 서비스 개선이 아니라,
창과 방패의 싸움에 낭비되고 있는 겁니다.
후배님들, 최신 AI 기술 스택 공부하는 거 좋습니다.
하지만 그 이면에서 인프라가 어떻게 비명을 지르고 있는지 알아야 합니다.
여러분이 짠 코드가 누군가의 서버에는 폭력이 될 수 있습니다.
그리고 반대로, 여러분이 운영할 서버도 언제든 공격받을 수 있습니다.
"설마 우리 사이트를 긁어가겠어?"
네, 긁어갑니다.
데이터가 돈이 되는 시대니까요.
앞으로 서버 아키텍처를 설계할 때,
단순히 트래픽 분산만 고민하지 마세요.
'악의적인 리소스 소모'를 어떻게 비용 효율적으로 막아낼지.
이 방어적 설계를 할 줄 아는 게 진짜 시니어의 역량입니다.
화려한 기술보다는,
내 서버를 지키고 살아남는 게 먼저입니다.
오늘도 봇들과 싸우며 로그를 보고 있을 백엔드 개발자들에게 위로를 보냅니다.


