1차 공개 · 8월 22일에 1차 강의가 모두 공개됩니다.
TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 30 READS

스크롤 습관으로 스크래퍼 봇을 잡아낸다는 발상

스크롤 습관으로 스크래퍼 봇을 잡아낸다는 발상
SOURCE IMAGE · HACKER NEWS

헤드리스 브라우저를 앞세운 스크래핑 봇이 정교해지면서, 요청 헤더나 자바스크립트 실행 여부만으로 사람과 봇을 가르는 방식은 점점 힘을 잃고 있다. 한 개발자가 자신의 블로그에서 소개한 실험은 이 문제를 정면으로 다룬다. 사람이 페이지를 훑을 때 나타나는 '스크롤 패턴'을 통계적으로 측정하면, 사람 흉내를 내는 봇조차 구별할 수 있지 않겠느냐는 가설이다. 아직 실험 단계의 소규모 연구지만, 봇 탐지의 관점을 요청 시점에서 사용자 행동으로 옮긴다는 점에서 실무자가 눈여겨볼 만하다.

버스티니스와 메모리라는 두 지표

핵심 도구는 Kwang-Il Goh와 Albert-László Barabási가 2008년 논문에서 제시한 두 계수, 버스티니스(Burstiness, B)와 메모리(Memory, M)다. 이 두 값은 사건이 '언제' 일어났는지에 대한 시각 정보만 있으면 계산할 수 있어, 이메일이나 문자 전송, 심지어 심장 박동 같은 사건 기반 시스템의 동역학을 분석하는 데 쓰인다. 사람은 문자에 답할 때 걸리는 시간이 일정하지 않고 몰렸다 흩어지는 이른바 '버스티한' 방식으로 반응하는 반면, 단순한 봇은 가능한 한 빨리 응답한다. 그래서 둘은 서로 다른 B와 M 값을 갖는다는 것이 출발점이다.

저자는 과거에 이 두 값을 요청 타이밍에 적용해 사람 세션과 봇 세션을 구분하는 연구를 했다고 밝힌다. 그런데 이 방식에는 구조적 한계가 있었다. CSS와 JS 파일을 로드하는 브라우저에서 온 세션은 무조건 사람으로 분류되어, ClaudeBot처럼 헤드리스 브라우저를 쓰는 고급 봇이 사람처럼 위장할 수 있었던 것이다. 결국 이 접근은 '사람 대 봇'이 아니라 '조작된 요청 대 실제 브라우저 요청'을 구분한 데 그쳤다. 이 한계를 넘어서기 위해 저자가 주목한 행동이 바로 스크롤이다.

왜 하필 스크롤인가

사람이 정보를 찾으며 스크롤 휠을 돌릴 때는 원하는 지점까지 일정한 속도로 내려가지 않는다. 조금 내리고 멈춰 읽다가 다시 확 내리는 식으로, 시간 간격이 불규칙하게 몰리는 버스티한 패턴이 나타난다. 저자는 대부분의 스크래핑 봇 개발자가 아직 스크롤 패턴까지는 정교하게 다듬지 않았다고 보고, 스크롤 이벤트 사이의 시간 간격에 B와 M을 적용하면 사람과 봇을 가르는 예측력이 있을지 검증하기로 했다.

검증에는 Ethan Wang 등이 발표한 'FP-Agent: Fingerprinting AI Browsing Agents' 논문의 데이터셋을 활용했다. 이 논문은 통제된 환경, 즉 실험을 위해 별도로 만든 웹사이트에서 여러 AI 브라우징 에이전트와 사람이 페이지를 탐색하는 데이터를 기록해 에이전트를 구별하는 머신러닝 모델을 만든 연구다. 저자는 원 논문의 모델이 좋은 결과를 냈지만 변수가 많은 실제 다양한 웹사이트 환경에서는 효과가 떨어질 것으로 본다. 다만 데이터셋이 OSF.io에 공개되어 있어 이를 재료로 삼을 수 있었다.

73.4%라는 숫자를 어떻게 읽을까

저자는 각 에이전트가 방문한 페이지마다 자바스크립트 스크롤 이벤트의 B와 M 값을 하나씩 계산했다. 그 결과 사람의 분포는 다른 에이전트들과 뚜렷하게 달랐다. 사람은 버스티니스 계수가 높고 메모리는 거의 없었으며, 이따금 사람과 비슷해지는 유일한 에이전트는 ChatGPT Agent였다. 이어 B와 M 두 변수만을 입력으로 삼아 LightGBM(결정 트리 기반 그래디언트 부스팅) 모델을 학습시켜 단일 페이지 상호작용의 주체를 분류하게 했더니 정확도는 73.4%가 나왔다.

두 개의 변수만으로 낸 수치라는 점을 감안하면 나쁘지 않지만, 그대로 현업에 옮기기에는 이르다. 모델은 예상대로 사람과 ChatGPT Agent를 주로 혼동했는데, 저자는 그 원인을 변수가 너무 적고 데이터가 작다는 데서 찾는다. 에이전트당 약 150개 데이터 포인트는 둘을 더 세밀하게 가르기에 부족한 규모다. 또한 이 방식은 애초에 스크롤이 필요 없는 사이트에서는 무력하다. 반대로 위키피디아 같은 정보성 사이트나 블로그처럼 사용자가 실제로 페이지를 훑어 내려야 하는 곳이 이 기법의 이점을 가장 크게 볼 수 있는 영역이다.

결국 이 실험이 던지는 메시지는 스크롤 하나로 봇을 막을 수 있다는 것이 아니라, 사용자 행동의 통계적 지문이 봇 탐지의 유효한 축이 될 수 있다는 가능성이다. 저자는 스크롤 특징에 마우스 이동이나 타이핑 같은 다른 행동에서 뽑은 변수를 결합하면 스크래퍼로부터 사이트를 보호하는 범용 모델을 만들 수 있으리라 전망하며, 다음 연구 주제로 마우스 이동 패턴을 예고했다. 통제된 환경에서 얻은 결과인 만큼 실제 트래픽에 적용할 때의 오탐과 정상 사용자 차단 위험은 별도로 검증해야 할 과제로 남는다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://niki.cat/detecting-scraper-bots-through-scroll-behav...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...