- Reddit은 Old Reddit의 로그아웃 이용을 악성 스크래핑과 자동화 트래픽의 주요 원천으로 보고 로그인을 요구하기 시작했지만, New Reddit은 여전히 로그아웃 상태로 접근할 수 있음
- Old Reddit은 게시물과 댓글을 대부분 일반 HTML로 제공하며 약 1MB를 내려받고 0.5MB를 전송하는 반면, JavaScript가 필요한 New Reddit은 약 5배 많은 데이터를 불러옴
- 제한적인 브라우저 실험에서는 New Reddit도 일부 JavaScript와 댓글 API 요청만으로 댓글 텍스트를 받을 수 있어, 이번 변경이 스크래핑을 실제로 차단하는지는 확인되지 않음
- Old Reddit은 처음부터 댓글 200개를 불러오지만 New Reddit은 25개만 불러오고 스크롤 후에도 약 35개에 그쳐, 스크래퍼가 더 간결한 Old Reddit을 선호할 이유가 분명함
- 모호한 ‘안전’ 명분보다 스크래핑 억제나 서비스 종료 목적을 직접 밝혔어야 하며, 로그인 강제는 사람이 작성한 검색 결과를 읽으려는 이용자에게 불필요한 장벽을 만듦
Reddit과 사람이 작성한 검색 결과
- Reddit은 수많은 인기 포럼을 호스팅하면서 이용자가 만든 커뮤니티에서 최대한 많은 가치를 추출하는 회사로 여겨짐
- LLM 시대의 인간 생성 데이터가 높은 가치를 갖게 되면서 Reddit 커뮤니티의 게시물은 더욱 중요한 자산이 됨
- 과거 Reddit API 논란도 커뮤니티에서 가치를 회수하려 한 사례로 이어짐
- 검색어에
site: reddit.com을 붙이면 실제 사람이 작성한 결과를 찾기 쉬워, Reddit을 적극적으로 사용하지 않더라도 검색 결과는 계속 방문할 가치가 있었음
Old Reddit의 로그인 요구
old.reddit.com은 Reddit의 기존 디자인을 제공하는 프런트엔드지만, 이제 로그아웃 상태에서는 정상적으로 이용하기 어려움- Firefox와 NoScript를 사용하는 소수 이용자는 정상 작동하던 제품에서 지원 중단으로 밀려나는 일을 반복해서 겪어 왔음
- 8년 된 휴대전화와 10년 된 태블릿은 운영체제가 오래됐다는 이유로 사용할 수 없게 됨
- 앱스토어에서 사라진 Stack Exchange 앱이 사용하던 API도 중단됨
- Reddit은 이번 조치를 “Reddit을 안전하게 유지하기 위해서”라고 안내했지만, 지식에 접근하려는 이용자가 플랫폼에 어떤 위협이 되는지는 명확하지 않음
Reddit이 밝힌 스크래핑 문제
- Reddit의 공식 공지에 따르면 Old Reddit의 로그아웃 이용은 악성 스크래핑과 자동화 트래픽의 주요 원천임
- New Reddit은 로그아웃 상태에서도 접근할 수 있어 Old Reddit만 제한하는 이유에는 의문이 남음
- 관련 댓글은 악성 트래픽 방식이 계속 바뀌면서 차단과 우회가 반복되고, 사후 탐지는 쉽지만 선제 차단은 어렵다고 봄
- Old Reddit에는 현대적인 보안 스택이 없어 자동화 트래픽 대응이 더 어렵다는 해석이 나왔으며, Reddit 관리자는 이를 답변으로 대신함
Old Reddit의 동작과 전송량
- 로그인 후 공지 스레드를 조사한 결과, Old Reddit은 사용자 콘텐츠를 대부분 일반 HTML로 제공함
- 추가 댓글을 불러올 때가 아니라면 JavaScript 없이도 페이지를 읽을 수 있음
- 측정한 페이지는 약 1MB를 다운로드하고 0.5MB를 전송했으며, 응답 대부분은 HTML이 차지함
- 응답까지 약 2초가 걸렸고 크기 대비 GitHub보다 약 4배 느렸음
- 속도 제한 때문인지 Reddit 자체가 원래 느린지는 확인되지 않음
- 추가 댓글 요청은 간결하고 빠르게 처리됐으며, 일반 웹페이지와 다른 뚜렷한 보안 문제도 발견되지 않음
New Reddit의 JavaScript 의존성
- New Reddit은 JavaScript 없이는 게시물 외의 콘텐츠를 거의 불러오지 못함
- 전체 로딩량은 Old Reddit의 약 5배였으며, 정확한 보안 체계를 우회하는 대신 브라우저에서 콘텐츠를 가져오는 데 필요한 최소 요청만 남기는 방식으로 시험함
- 다음 요청만 허용해도 페이지 자체는 로드됐음
- 필터를 적용하면 추가 댓글 버튼은 계속 로딩 상태에 머물렀지만, 실제 요청 응답에는 댓글 텍스트가 들어 있었음
- 페이지의 JavaScript를 실행하고 필요한 요청을 보내는 것만으로 댓글 정보를 받을 수 있어, JavaScript 실행이 스크래퍼를 막는 핵심 장벽인지는 불분명함
캡차와 사용자 동작 전송
- 페이지를 여러 번 새로 고치고 댓글과 답글을 불러오는 동안 대부분 실패하지 않았음
- 요청 필터를 해제한 한 번의 실험에서는 리디렉션과 함께 캡차 필드가 쿼리 매개변수로 전달됐지만, 같은 현상을 재현하지 못함
- 댓글 API를 직접 반복 호출할 때 캡차가 나타나는지도 확인되지 않음
- New Reddit은 사용자가 스크롤하거나 커서를 움직일 때마다 하트비트 신호를 Reddit으로 전송함
스크래핑 억제 효과의 한계
- 프런트엔드 자체의 안전 문제라기보다 Reddit이 가치 있는 사용자 생성 데이터의 스크래핑을 어렵게 만들려는 조치로 보임
- New Reddit을 여전히 스크래핑할 수 있다고 입증한 것은 아니며, Old Reddit보다 작업이 어려울 가능성은 남아 있음
- 스크래퍼가 Old Reddit을 선호하는 이유는 페이지가 간결하고 초기 댓글 로딩량이 많기 때문임
- Old Reddit은 처음부터 댓글 200개를 불러옴
- New Reddit은 처음에 25개만 불러오며, 스크롤하면 약 35개까지 자동으로 늘어남
- New Reddit은 일반 HTML 중심의 기존 화면을 웹 컴포넌트 등에 의존하는 약 5배 무거운 구조로 바꿨고, 그 결과 브라우저가 더 많은 데이터를 받고 더 많은 작업을 수행함
- 브라우저의 부담을 키워 스크래핑 비용도 높였을 수 있지만, 실제 차단 효과는 확인되지 않음
‘안전’이라는 명분에 대한 반발
- Reddit이
old.reddit.com에 30X·40X 응답을 조용히 적용하거나 이용자가 적어 제거한다고 밝혔다면, 불쾌하더라도 예측 가능한 결정이었음 - 실제 이용자와 직접 관련 없는 모호한 보안·스크래핑 명분으로 정상 작동하던 접근 방식을 빼앗는 점이 더 큰 반발을 부름
- Anubis처럼 필요성이 납득되는 경우에는 JavaScript를 활성화할 의사도 있어, 반감의 핵심은 JavaScript 자체가 아니라 설명과 조치의 불일치임
- 개인 블로그도 Old Reddit처럼 일반 HTML로 텍스트를 제공하지만, Reddit의 사용자 생성 콘텐츠와 달리 원래 운영자 자신의 콘텐츠라는 차이가 있음
남은 선택지와 우려
- 로그인할 수는 있지만, 기존에 불필요했던 절차를 강제받는 데 대한 불만은 남음
- New Reddit을 써야 할 수도 있으며, Reddit이 Old Reddit 지원을 계속 유지할지도 알 수 없음
- Reddit이 가능하다고 판단하면 향후 New Reddit의 로그아웃 접근도 차단할 수 있다는 우려가 있음
- 사람들의 실제 글을 읽기 위해 거대하고 비싼 LLM을 거치는 환경보다, 인간이 작성한 텍스트를 직접 검색하고 읽을 수 있는 인터넷을 원함
- 관련 논의는 Lobste.rs에도 게시됨