2026년 11월 11일
Brave가 뉴스를 긁는 방식은 일반 크롤러와 뭐가 다른가?
AI/IT 업계 동향

Brave가 뉴스를 긁는 방식은 일반 크롤러와 뭐가 다른가?

Caston 2026년 11월 3일 1 min read

내 블로그가 크롤러를 상대하는 수단은 robots.txt 한 장이다. 크롤러는 사람 대신 웹을 돌아다니며 페이지를 긁어 가는 프로그램이다. 하지만 11월 2일에 뉴욕타임스가 Brave를 상대로 낸 소송을 읽어 보면 그 한 장으로는 막을 수 없는 요청이 따로 있다.

소송의 쟁점은 하나가 아니다

뉴욕타임스는 11월 2일 맨해튼 연방법원에 Brave Software를 상대로 소송을 냈다. 같은 날 뉴욕 데일리뉴스와 시카고 트리뷴, 올랜도 센티널도 따로 소송을 냈다.

소장은 두 가지를 다툰다. 테크크런치가 정리한 내용을 보면 한 갈래는 Brave가 300억 페이지가 넘는 검색 색인을 만들어 AI 회사에 판매했다는 것이고, 다른 한 갈래는 브라우저에 들어 있는 Paywall blocker 설정이다.

앞쪽 갈래에는 회사 이름이 다섯 개 나온다. Brave 검색 API를 사 간 회사로 Anthropic과 Perplexity, Mistral, xAI, Cohere가 적혀 있다. 그중 Anthropic이 그 API로 Claude 2를 학습시켰다는 대목도 소장에 있다.

이 글에서 볼 것은 뒤쪽 갈래다. 페이월은 돈을 낸 구독자에게만 기사 본문을 열어 주고 그렇지 않은 사람에게는 앞부분이나 제목만 보여 주는 장치다. Brave 브라우저에는 그 장치를 우회한다고 적어 둔 설정 항목이 있다.

소장은 그 설정이 실제로 어떻게 쓰이는지 보여 주려고 Reddit 글을 인용했다. 더넥스트웹이 인용한 대목에서 어떤 사용자는 인증을 거치지 않고도 뉴욕타임스를 끊김 없이 읽었다고 적었다.

신문사들이 문제 삼은 것은 그 둘만이 아니다. 브라우저가 언론사 광고를 기본값으로 걸러내면서 Brave 자신은 광고를 팔고 있다는 대목도 소장에 있다.

한 소송 안에 들어 있지만 서버에서 보면 두 갈래는 다른 종류다. 앞쪽은 Brave가 돌리는 프로그램이 내 서버에 직접 보낸 요청이고, 뒤쪽은 기사를 읽으려는 독자의 브라우저가 보낸 요청이다. 요청을 보낸 주체가 다르니 막는 수단도 갈린다.

robots.txt는 어디까지 닿는가

robots.txt는 사이트 최상위 주소에 올려 두는 텍스트 파일이다. 어느 봇에게 어느 경로를 긁지 말라고 적어 두면 그 규칙을 지키기로 한 봇이 긁기 전에 그 파일을 읽고 물러난다.

강제력은 없다. 지키겠다고 한 봇만 지키고 무시하는 봇은 그냥 긁어 간다. 그래서 robots.txt는 담장이 아니라 문 앞에 붙인 안내문에 가깝다.

안내문은 상대를 지목할 수 있어야 효력이 생긴다. 요청 헤더에는 사용자 에이전트라는 칸이 있고, 브라우저든 봇이든 거기에 자기를 소개하는 문자열을 넣어 보낸다. robots.txt에 적는 봇 이름이 바로 그 문자열에서 따온 것이다.

큰 회사의 봇은 그 이름을 공개한다. OpenAI는 자기 문서에 GPTBot과 OAI-SearchBot, OAI-AdsBot, ChatGPT-User 넷을 적어 두고 어느 이름을 허용하고 어느 이름을 막을지 사이트가 고르게 해 놓았다. 구글도 크롤러 목록 문서에서 공용 크롤러는 자동으로 긁을 때 robots.txt 규칙을 항상 지킨다고 적는다.

이름이 있으니 수단이 생긴다. robots.txt에 그 이름을 적어 긁지 말라고 요청할 수 있고, 그래도 들어오면 서버 설정에서 그 사용자 에이전트가 붙은 요청만 403으로 돌려보낼 수 있다.

Brave 크롤러는 그 이름을 내세우지 않는다. Brave 검색 크롤러 문서에 구별되는 사용자 에이전트를 내세우지 않는다고 적혀 있고 이유도 같이 적혀 있다. 구글에만 크롤링을 허용하는 사이트에서 차별을 받지 않으려고 그렇게 한다는 설명이다.

같은 문서는 두 가지를 더 적는다. Googlebot이 긁을 수 없는 페이지는 Brave 봇도 긁지 않는다는 것이고, 색인에서 빼려면 robots.txt가 아니라 페이지에 noindex를 넣으라는 것이다. 사이트는 이름으로 거를 수 없고 Brave 봇은 구글 쪽 설정을 따라간다.

그 둘은 사이트가 쓰는 품이 다르다. robots.txt는 한 파일만 고치면 끝나는데, noindex는 빼려는 페이지마다 넣어야 하고 Brave가 그 페이지를 다시 긁어 가야 비로소 적용된다.

소장이 문제 삼은 대목도 그 이름이다. 봇 이름을 밝히지 않으면 사이트가 그 봇을 지목해서 막을 방법이 없다는 주장이다.

하지만 이름으로 할 수 있는 일은 여기까지다. Paywall blocker가 걸린 요청에는 지목할 이름 자체가 없다. 기사를 열려고 주소를 누른 사람이 보낸 요청이고, 사용자 에이전트 칸에는 평범한 브라우저 이름이 들어 있다. 그 요청을 거절하면 봇이 아니라 독자를 거절하는 것이 된다.

내 블로그 robots.txt에 적힌 것

그래서 내 블로그가 지금 무엇을 적어 두고 있는지 열어 봤다. caston.blog의 robots.txt는 네 줄이고 워드프레스가 넣어 준 기본값 그대로다.

  • 모든 봇에게 적용한다는 User-agent 한 줄
  • 관리자 경로 /wp-admin/ 을 긁지 말라는 Disallow 한 줄
  • 그 아래 admin-ajax.php 하나만 예외로 열어 주는 Allow 한 줄
  • 사이트맵 주소 한 줄

이름을 적어 둔 봇이 하나도 없다. GPTBot도 없고 Googlebot도 없고 앞에서 본 OAI-SearchBot 같은 이름도 없다. 관리자 화면만 가려 두었고 글은 전부 열어 둔 상태다.

막아 두지 않은 것이 실수는 아니다. 이름을 밝히고 오는 봇은 그 이름을 적어 넣는 순간 막을 수 있다. 막고 싶은 봇이 생기면 그 네 줄 아래에 이름을 적으면 된다.

Paywall blocker 쪽은 그 네 줄과 상관이 없다. Brave의 차단 기능은 EasyList 같은 필터 목록을 브라우저 안에서 적용해 광고와 추적 스크립트, 교차 사이트 쿠키를 걸러낸다. 걸러내는 일이 독자 컴퓨터에서 일어나니 서버가 끼어들 대목이 없다.

Brave 요청을 내 접속 기록에서 따로 골라낼 방법도 없다. Brave 크롤러는 구별되는 이름을 넣지 않겠다고 자기 문서에 적어 두었고, 독자가 Brave로 들어온 요청은 다른 브라우저로 들어온 요청과 같은 모습으로 남는다.

내 블로그에는 구독자에게만 여는 본문이 없다. 가려 둔 것이 없으니 Paywall blocker가 내 글에서 벗겨 낼 것도 없고, 그 설정을 켠 독자가 들어왔는지 아닌지도 알 수 없다. 뉴욕타임스가 손해로 적은 일이 내 블로그에서는 일어나지 않는다.

막을 수 있는 것과 못 막는 것

개인 블로그가 손댈 수 있는 범위는 요청을 보낸 주체에 따라 갈린다. 이름을 밝히는 프로그램은 서버에서 상대할 수 있고 사람이 쓰는 브라우저가 보낸 요청은 상대할 수 없다.

할 수 있는 쪽은 이렇다.

  • robots.txt에 막고 싶은 봇 이름을 적는다
  • 서버 설정에서 그 사용자 에이전트가 붙은 요청을 403으로 돌려보낸다
  • 같은 주소에서 몰려 들어오는 요청에 속도 제한을 건다
  • 접속 기록에 남은 봇 이름을 세어 어느 봇이 얼마나 긁어 갔는지 본다

못 하는 쪽도 분명하다. 이름을 내세우지 않는 크롤러는 이름으로 거를 수 없다. 어느 브라우저로 들어왔는지를 기준으로 독자를 걸러내면 막아야 할 상대가 아닌 사람을 막는 셈이 된다.

페이월을 걸어 둔 매체라면 수단이 하나 더 있다. 처음 응답에 기사 본문을 아예 넣지 않고 인증을 거친 뒤에만 본문을 내려 주는 방식이다. 브라우저가 스크립트를 걸러내도 받지 않은 본문은 꺼낼 수 없다.

다만 그 방식에는 대가가 따른다. 본문이 처음 응답에 없으면 검색 엔진도 본문을 긁어 가지 못하니 검색 결과에서 밀려난다. 신문사들이 기술로 막는 대신 소송을 낸 까닭이 그 손실 하나라고 단정할 수는 없지만, 본문을 닫아 두는 쪽에 그런 손실이 따르는 것은 분명하다.

내가 확인한 범위는 여기까지다. caston.blog의 robots.txt 네 줄, Brave가 자기 크롤러 문서에 적어 둔 몇 문장, 소송이 다투는 두 갈래다. Brave 요청이 내 접속 기록에서 어떤 모습으로 남는지는 구별할 수단이 없어 확인하지 못했다.

소송이 어떻게 끝날지는 모른다. 다만 법이 Paywall blocker를 어떻게 판단하든 서버에서 쓸 수 있는 수단은 그대로다. 이름을 밝히고 오는 요청은 막을 수 있고 사람이 브라우저로 보낸 요청은 막을 수 없다.

Leave a Comment