Cloudflare's Precursor Detects Bots and AI Agents Through Continuous Behavioral Analysis

InfoQ · 2026.08.11

Precursor가 등장한 배경: CAPTCHA의 한계

기존 봇 탐지 방식의 핵심은 CAPTCHA였다. 사용자가 특정 행동을 수행하는 순간 챌린지를 던지고, 통과 여부로 인간/봇을 구분하는 구조다. 하지만 이 방식은 본질적으로 일회성 검증에 머문다. 챌린지를 통과한 이후의 세션 행동은 더 이상 검증하지 않기 때문에, 정교해진 봇이나 AI 에이전트가 초기 검증만 우회하면 이후 요청을 자유롭게 처리할 수 있다. 실제로 헤드리스 브라우저, 자동화 프레임워크, LLM 기반 에이전트가 고도화되면서 단순 챌린지 기반 방어는 점점 실효성을 잃어가고 있다.

Cloudflare는 이 문제를 해결하기 위해 Precursor라는 클라이언트 사이드 행동 분석 엔진을 도입했다. 핵심 아이디어는 세션의 특정 시점이 아닌, 세션 전체 흐름을 지속적으로 관찰하는 것이다.

Precursor의 동작 방식: 지속적 행동 평가

Precursor는 마우스 움직임, 키보드 입력 타이밍, 스크롤 패턴 등 클라이언트에서 발생하는 다양한 인터랙션 신호를 세션 전반에 걸쳐 수집하고 분석한다. 단순히 "이 요청이 봇인가?"를 묻는 것이 아니라, "이 세션의 행동 패턴이 인간의 것과 얼마나 유사한가?"를 지속적으로 평가하는 방식이다.

이 접근 방식이 기존 대비 갖는 차별점은 다음과 같다.

  • 지속성: 세션 시작부터 종료까지 행동 신호를 축적하므로, 초기 챌린지 우회만으로는 탐지를 피할 수 없다.
  • 클라이언트 사이드 분석: 서버 요청 패턴이 아닌 브라우저 내 상호작용 자체를 분석하기 때문에, 정상적인 HTTP 요청을 흉내 내는 봇에도 효과적이다.
  • 비침투적 UX: 사용자에게 별도 챌린지를 요구하지 않고 백그라운드에서 동작하므로, 정상 사용자 경험을 해치지 않는다.

백엔드 개발자 관점의 실무 시사점

Precursor는 Cloudflare 인프라 레이어에서 동작하지만, 이 설계 철학은 백엔드 보안 아키텍처를 설계할 때도 유효한 인사이트를 제공한다.

예를 들어, API 서버에서 레이트 리밋이나 인증 검증을 단순히 요청 단위로만 처리하는 경우를 생각해보자. 세션 또는 토큰 단위로 행동 이력을 추적하면, 개별 요청은 정상처럼 보여도 패턴 이상을 감지할 수 있다.

// 세션 단위 요청 패턴 추적 예시 (간략화)
public class SessionBehaviorTracker {
    private final Map<String, List<Long>> sessionTimestamps = new ConcurrentHashMap<>();

    public boolean isAnomalous(String sessionId) {
        List<Long> timestamps = sessionTimestamps.getOrDefault(sessionId, List.of());
        if (timestamps.size() < 2) return false;

        long interval = timestamps.get(timestamps.size() - 1)
                      - timestamps.get(timestamps.size() - 2);
        // 요청 간격이 지나치게 일정하면 봇 의심
        return interval < 50; // ms 단위
    }
}

이처럼 단일 요청 검증에서 세션 맥락 기반 탐지로 보안 레이어를 확장하는 방향은, Precursor가 제시하는 설계 원칙과 맥을 같이한다. 실제 운영 환경에서는 Redis 같은 외부 저장소에 세션별 행동 시그널을 축적하고, 이상 탐지 로직을 별도 미들웨어나 필터 체인으로 분리하는 구조가 유지보수성 측면에서 적합하다.

정리

  • Precursor는 CAPTCHA 같은 일회성 챌린지 대신, 세션 전체 행동을 지속적으로 분석해 정교한 봇을 탐지한다.
  • 클라이언트 사이드 인터랙션(마우스, 키보드 타이밍 등)을 신호로 활용하므로, HTTP 레벨 위장에도 효과적이다.
  • 백엔드 보안 설계 시 요청 단위 검증에서 세션 맥락 기반 이상 탐지로 레이어를 확장하는 것이 현대적인 접근 방식이다.
Source
InfoQ
원문 보기 →
← 목록으로 돌아가기