Precursor: 전체 세션에서 에이전트 행동을 탐지하는 Cloudflare 시스템
(blog.cloudflare.com)- 로그인·가입·결제 같은 개별 검증 지점만으로는 실제 브라우저와 JavaScript를 활용하는 자동화를 가려내기 어려워지자, Cloudflare는 전체 사용자 여정의 행동 신호를 연속 분석하는 Precursor를 도입함
- HTML 응답에 동적으로 조립된 경량 JavaScript를 삽입해 포인터 이동, 키보드 활동, 포커스, 페이지 표시 상태를 수집하고 엣지 평가와 기존 봇 방어 체계에 실시간 반영함
- 손목 움직임과 인지 지연, 손떨림, 속도·방향·보정 리듬은 직선 이동이나 일정한 속도, 과도한 정밀도를 보이는 자동화가 세션 전체에 걸쳐 복제하기 어려워 세션 단위 판별의 근거가 됨
- 실제 키 입력 대신 타이밍과 리듬만 수집하고, 행동 신호를 사용자 계정이나 영구 프로필에 연결하거나 고객 대시보드에 직접 노출하지 않는 개인정보 보호 설계를 적용함
- Enterprise Bot Management 기능으로 현재 배포 중이며 올해 말 GA 전까지 무료로 사용할 수 있고, 애플리케이션 수정 없이 백그라운드 관찰 또는 미검증 세션에 Challenge를 강제하는 방식으로 운영 가능함
개별 검증 지점에서 전체 세션으로
- 봇 방어는 공격자의 적응과 방어자의 대응이 반복되는 적대적 경쟁으로, Cloudflare는 네트워크 전반의 가시성과 클라이언트 환경의 신호를 함께 활용함
- 전 세계 네트워크에서 하루 1조 건 이상의 요청을 분석해 웹의 20%가 넘는 범위에서 평판, 패턴, 이상 징후를 파악함
- Cloudflare Turnstile은 CAPTCHA 대체재에서 사용자 확인에 필요한 마찰 수준을 조절하는 위험 기반 관리형 Challenge로 발전함
- Turnstile은 로그인, 가입, 결제처럼 민감한 지점에서 하루 약 30억 회 실행되지만, 그 사이를 포함한 전체 사용자 여정에서 사람과 봇이 어떻게 행동하는지는 제한적으로만 파악할 수 있었음
- Precursor는 이 가시성 공백을 메우기 위해 웹 애플리케이션 전반에서 클라이언트 행동 신호를 지속해서 수집하고 세션 단위로 판별함
- Challenge가 제공하던 클라이언트 측 탐지를 애플리케이션 전체로 확장함
- Turnstile을 선택적으로 보완하며, 두 기능 모두 Enterprise Bot Management에 포함됨
짧은 순간보다 모방하기 어려운 행동의 연속성
- 현대 자동화는 JavaScript를 실행하고 실제 브라우저 환경을 사용하며 개별 CAPTCHA도 통과할 수 있어, 짧은 구간에서는 정상 사용자처럼 보일 수 있음
- 세션 전체에서 일관된 인간 행동을 재현하기는 더 어려우며, Precursor는 이러한 행동의 연속성을 사기와 악용 탐지 신호로 활용함
- 각 판단에 더 많은 신호를 추가해 사람과 자동화를 구분하는 정밀도를 높임
- 공격적인 Challenge 의존도를 낮춰 정상 사용자의 불필요한 중단을 줄임
- 봇 개발자는 전체 세션을 모방해야 하므로 자동화를 구축·유지하는 비용이 커지고 대규모 운영의 신뢰성은 낮아짐
인간의 오류와 물리적 제약
- 봇 개발자는 마우스 움직임에 가우시안 노이즈나 균일한 무작위 지연을 추가하지만, 인간의 움직임에는 단순한 잡음 이상의 물리·인지적 제약이 있음
- 손목 회전축: 손목의 가동 범위와 팔뚝 회전 때문에 마우스가 흔히 호 형태로 움직임
- 인지 부하: 체크박스를 본 뒤 클릭하기까지 측정 가능한 지연이 발생함
- 손떨림: 안정된 손에서도 생리적 손떨림 주파수에 따른 진동이 나타남
- 자동화는 직선 보간이나 수학적으로 이상적인 Bézier 곡선을 사용하고, 사람이 재현하기 어려운 정밀도로 클릭하는 경향이 있음
- 예시 자동화 라이브러리는 마우스를 완전한 직선으로 움직이고 항상 원점으로 돌아가며 같은 속도로 반응함
- 반면 사람은 같은 사이트에서도 불규칙한 경로, 작은 보정과 목표 지점 초과, 속도·타이밍·방향 변화를 보임
- 개별 상호작용은 그럴듯해도 세션 전체에서는 행동 패턴의 차이가 드러나며, Precursor는 상호작용이 이어지는 동안 이러한 행동 서명을 포착해 평가함
클라이언트 주입과 신호 수집
- Precursor를 활성화하면 Cloudflare 네트워크를 통과하는 사이트의 HTML 응답에 경량 스크립트가 자동으로 삽입됨
- 추가 설정이나 별도 네트워크 연결, 제3자 임베딩이 필요하지 않음
- 번들은 작고 난독화돼 있으며 응답마다 동적으로 조립됨
- 호스팅된 웹 애플리케이션의 다른 페이지 로직을 방해하지 않도록 설계됨
- 스크립트는 가벼운 이벤트 리스너로 포인터 이동, 키보드 활동, 포커스 변화, 페이지 표시 상태를 포착함
- 이벤트를 압축 형식으로 직렬화해 메모리에 버퍼링함
- 버퍼에 쌓인 데이터는 정기적으로 평가 계층에 전송됨
엣지 평가와 교차 검증
- 엣지 서버는 들어온 Precursor 페이로드를 행동 입력으로 역직렬화하고, 디스패처를 통해 여러 평가기(evaluator) 를 실행함
- 각 평가기는 필요한 Precursor 스트림을 읽고 공유 탐지 레지스트리에 신호를 등록할 수 있음
- 단일 이벤트에 의존하지 않고 서로 다른 데이터를 교차 검증함
- 포인터 활동이 페이지가 표시된 시간과 일치하는지 확인함
- 텍스트 필드에 포커스가 있을 때만 키보드 이벤트가 발생하는지 살펴봄
- 연속해서 들어오는 정보는 개별 탐지 신호로 통합되고, 탐지 가중치를 계산하는 데 활용됨
세션 누적과 후속 탐지 계층
- Precursor 데이터는 세션 범위로 누적되므로, 봇이 페이지를 새로 고치거나 새로운 Challenge부터 다시 시작해도 행동 서명을 초기화할 수 없음
- 세션 메타데이터는 후속 탐지 계층에도 전달됨
- 섀도 모드 휴리스틱과 세션 분석
- 예상 완료와 실제 완료의 비교
- 세션 delinquency 휴리스틱
- 엣지에서 관찰한 정보는 탐지 개선을 위해 기록되며, 세션의 봇 점수를 조정하는 데 사용됨
개인정보 보호 설계
- 이벤트 리스너는 사람의 패턴과 자동화·악용 패턴을 구분하는 데 필요한 최소한의 정보만 수집함
- 키보드 활동에서는 실제 누른 키가 아니라 타이밍과 리듬만 포착함
- 개별 행동보다 집계된 행동 패턴을 평가함
- 행동 신호는 Cloudflare의 봇 탐지 시스템 내부에서만 사용됨
- 고객 대시보드에 직접 노출되지 않음
- 사용자 계정, 로그인 신원, 영구 프로필과 연결되지 않음
- 이를 통해 정상 사용자에게 가해지는 마찰을 줄이면서 행동 평가를 지속해서 갱신함
세션 기반 Security Analytics
- Security Analytics에는 개별 요청이 아닌 전체 방문자 여정을 보여주는 세션 기반 보기가 추가됨
- 대시보드에서 다음 질문을 조사할 수 있음
- 사이트의 일반적인 세션은 어떤 모습인가
- 예상 행동에서 벗어나는 지점은 어디인가
- 시간의 흐름에 따라 자동화 징후를 보이는 세션은 무엇인가
- 요청 단위 분석으로는 포착하기 어려웠던 요청 사이의 행동도 분석 대상이 됨
- Precursor 데이터는 기존 봇 점수, Challenge 판단, 보안 규칙으로 직접 전달되므로 추가된 세션 맥락을 기존 방어 체계에서 바로 활용할 수 있음
향후 확장과 활성화 방법
- Precursor는 전체 애플리케이션으로 봇 탐지를 확장하기 위한 기반이며, Cloudflare는 다음 영역을 계속 확대할 계획임
- 보안에 활용하는 행동 신호의 범위와 깊이
- 세션 수준 정보가 봇 관리 보호에 미치는 방식
- 세션 데이터를 시각화하고 조치하는 새로운 방법
- 봇이 발전할수록 탐지도 고립된 검증 지점에서 벗어나 전체 사용자 활동 흐름을 다뤄야 함
- 현재 Cloudflare 대시보드에서 영역별로 Precursor를 활성화할 수 있으며, 올해 말 GA 출시 전까지 무료로 제공됨
- 세션 검증 강도는 두 가지 방식으로 선택 가능함
- 마찰이 낮은 모드에서는 백그라운드에서 행동을 관찰함
- 완전히 검증된 세션이 필요하면 기존 세션이 없을 때 Challenge를 강제함
- 활성화 즉시 기존 봇 방어가 강화되며 애플리케이션 변경은 필요하지 않음
- Bot Management나 Turnstile을 이미 사용한다면 기존 Challenge 지점을 넘어 나머지 세션과 보호 지점 사이의 활동까지 탐지 범위가 확장됨
댓글과 토론
Hacker News 의견들
-
Cloudflare가 차단과 허용 양쪽에서 봇의 판정자로 자리 잡는 모습은 우려스러우며, 인터넷 전체에도 건강하지 않아 보임
- 반대로 보면 Cloudflare는 유료 크롤링(pay for crawl) 의 길을 닦고 있으며, 이는 고귀하고 야심 찬 목표라고 생각함
거의 20년간 광고보다 나은 콘텐츠 제작자 보상 수단이 필요하다고 lament해 왔는데, 이것이 그 답이 될 수 있음
Anthropic과 OpenAI가 도용한 콘텐츠 위에 세워졌다는 비판도 계속돼 왔으므로, 이 현실을 외면하면서 양쪽 모두를 바랄 수는 없음 - 경쟁 서비스를 만드는 일은 Cloudflare의 경쟁사들에게 달려 있음
- Cloudflare는 자사가 운영하는 서비스에 선택적으로 켤 수 있는 보호 계층을 제공할 뿐임
제공 범위가 너무 넓다는 것인지, 비슷한 서비스를 아무도 제공하지 않는다고 보는 것인지 이런 포괄적인 비판만으로는 이해하기 어려움 - 평범한 사업 활동일 뿐이며, 소비자가 지갑으로 투표해야 함
- 반대로 보면 Cloudflare는 유료 크롤링(pay for crawl) 의 길을 닦고 있으며, 이는 고귀하고 야심 찬 목표라고 생각함
-
Cloudflare가 에이전트 제품을 판매하면서 동시에 웹의 에이전트 사용을 차단하는 듯한 서비스를 내놓는 건 다소 묘하게 느껴짐
마우스 경로 외에도 훨씬 많은 신호를 쓰겠지만, 터치스크린이나 ThinkPad 트랙포인트 같은 비전통적 입력 장치에서는 이미 판별이 까다로울 수 있음
접근성 마우스 도구 사용자를 봇으로 오인하면 심각하지만, 이를 예외 처리하면 에이전트 브라우징의 우회로가 될 수도 있음
그래도 에이전트 봇의 남용과 스팸을 줄인다는 점에서는 거의 확실히 좋은 방향임- 좋은 봇과 나쁜 봇을 구분하면 덜 이상함
좋은 봇이 쓸 서비스를 제공하면서 나쁜 봇은 차단하도록 도울 수 있음
봇이 마우스 움직임을 어설프게 흉내 낸다면 강력한 이상 신호가 되며, 좋은 봇이라면robots.txt를 따르고 봇이라는 사실을 숨기지 않을 것임 - 상점에 보호비를 파는 조직폭력배와 조금 비슷하게 느껴짐
- 좋은 봇과 나쁜 봇을 구분하면 덜 이상함
-
6년 전 hCaptcha에서 이 모든 기능을 구현했음
사람과 봇을 구분하는 데 그치지 않고, 같은 사람이 여러 계정을 만들거나 여러 신용카드를 시험할 때 나타나는 키보드·마우스 행동까지 식별했음
Cloudflare가 2020년 hCaptcha로 전환했을 때 이런 악용 탐지가 포함됐고, 2022년 hCaptcha를 떠날 때는 이미 자체 구현한 줄 알았음- reCAPTCHA v3도 비슷하지 않았나 싶음. 백그라운드에서 조용히 감시한다는 것이 주요 홍보 포인트였던 것으로 기억함
-
페이지에서 접근성을 검색해도 결과가 없으니, 이런 마우스 움직임 점성술이 시각장애인과 키보드 전용 사용자를 인터넷의 상당 부분에서 완전히 배제할 것 같음
- 시각장애인과 키보드 전용 사용자는 익명 인터넷에서 배제될 가능성이 큼
로그인해서 익명성을 포기하면 봇이 아니라고 간주할 것 같음 - 마우스 움직임은 적절한 가중치를 받는 여러 신호 중 하나일 것으로 보이지만, 실제 해당 사용자들의 피드백을 확인하고 싶음
- Cloudflare는 이미 허용 목록에 없는 서구권 밖 사용자에게 오토바이 식별을 몇 분씩 강요하므로, 소수의 시각장애인 접근성을 크게 걱정할 것 같지 않음
- 문서에는 “Mouse movement is just one example of the signals Precursor evaluates”라고 세 번 나옴. 즉 마우스 움직임은 여러 신호 중 하나임
- 스마트폰 중심으로 서비스를 설계하면서 스마트폰이 없는 고령자와 장애인을 배제한 것과 같음
일부 지역에서는 스마트폰 없이는 항공편 체크인조차 못 해 여행 자체가 불가능하지만, 대부분 이를 당연하게 받아들임
- 시각장애인과 키보드 전용 사용자는 익명 인터넷에서 배제될 가능성이 큼
-
에이전트 탐지는 새롭게 형성되는 분야이며 앞으로 훨씬 중요해질 것임
관련 제품으로 Foil(https://usefoil.com/), Kasada https://www.kasada.io/, DataDome(https://datadome.co/), Castle(https://castle.io/), Fingerprint(https://fingerprint.com/), HUMAN(http://humansecurity.com/), 사실상 reCAPTCHA의 후속인 Google Cloud Fraud Defense(https://cloud.google.com/security/products/fraud-defense?hl=...), Cloudflare Precursor가 있음
현재 주요 용도는 자동화된 크리덴셜 스터핑, 가짜 계정과 무료 체험 악용 및 그에 따른 Twilio SMS 비용, 결제 사기, LLM 스크래핑, 티켓·운동화 자동 매점매석 방지임
어떤 용도가 기업 수요를 주도할지 궁금하며, 에이전트를 무조건 차단하지 않고 탐지 후 에이전트 전용 경로로 보내 사용자를 대신해 웹을 탐색하고 작업할 수 있기를 바람- 봇 차단을 무력화하는 제품으로 https://brightdata.com/, https://www.zenrows.com/, https://www.capsolver.com/, https://scrapfly.io/도 있음
수억 개의 가정용 IP, 사람과 유사한 브라우저 지문, 커스텀 브라우저 바이너리를 제공하며 Turnstile, reCAPTCHA v3, Kasada, DataDome, AWS WAF 등이 등장하면 자동으로 우회함 - Darwinium(darwinium.com)도 비슷한 제품임
프로파일링과 단계 전환 확률을 결합해, 지불 거절 위험이 있는 결제 같은 디지털 자산의 특정 영역만 에이전트에게 추가 인증을 요구하거나 차단할 수 있게 함
현재 Precursor는 같은 사이트에서 여러 문서를 가져가는 스크래핑 탐지에 더 집중하는 듯함
- 봇 차단을 무력화하는 제품으로 https://brightdata.com/, https://www.zenrows.com/, https://www.capsolver.com/, https://scrapfly.io/도 있음
-
봇이나 에이전트가 사람의 커서 움직임을 흉내 내는 미세한 흔들림을 추가하면 무엇으로 막을 수 있는지 궁금함
다른 신호도 쓰겠지만, 이 신호만큼은 봇이 조금만 정교해져도 쉽게 우회할 수 있어 보임- 이를 우회하려면 약간이 아니라 상당한 정교함이 필요함
기본적인 기계학습 군집화만으로도 봇의 마우스·키보드·터치 행동을 사람과 구분할 수 있지만, 시선 추적 같은 보조 기능을 쓰는 장애인도 차별할 가능성이 큼
한 손만 사용하는 사람의 행동은 전형적인 사용자와 크게 다를 수 있으며, 현재 미국에서는 California·Illinois·NY 외 지역에서 ADA 집행도 미약함
Cloudflare처럼 영향력이 큰 기업은 장애인이 이런 행동 분석의 피해를 보지 않도록 보수적으로 필터링해야 함
“봇일 가능성 점수만 제공하며 임계값은 각 웹사이트가 정한다”고 책임을 넘긴 뒤, 장애인 차단은 사이트가 임계값을 너무 엄격하게 정한 탓이라고 해서는 안 됨
이 규모에서는 결정의 2차·3차 효과까지 책임져야 함
이 데이터는 봇뿐 아니라 성별, 주손, 대략적인 나이, 키 입력 패턴에 따른 모국어, 부상과 회복 과정, 정신·신체 장애까지 구분할 수 있음
사이트 탐색 방식으로 ADHD, 조현병, Parkinson병, 약물 사용과 치료 효과까지 추정할 수 있으므로, 이 모든 신호에서 전형적인 사람과 같은 군집에 들도록 흉내 내기는 매우 어려움 - 단순한 무작위 흔들림이 아니라 사람의 커서 움직임을 닮은 흔들림을 합성해야 하므로 대단히 어려움
- 2027년에는 흔들림 생성, 사전 계획, 사후 검증, Cloudflare의 역흔들림 대응에 얼마나 많은 토큰을 쓰게 될지 궁금함
- CAPTCHA를 실패시키려고 일부러 흔들림 판별을 이겨 보려 하지만, 한 번도 성공하지 못했는데 계속 시도하게 됨
- 기술적으로 막는 것은 없지만 Cloudflare가 훨씬 많은 실제 흔들림 데이터를 보유했으므로 시작부터 불리함
단기적으로 통할 수 있어도 시간이 지나면 뚜렷한 패턴이 드러나며, 특정 사이트와 레이아웃별 흔들림 데이터도 다양해서 인위적 모방을 쉽게 잡아낼 수 있음
- 이를 우회하려면 약간이 아니라 상당한 정교함이 필요함
-
같은 사용자도 입력 장치에 따라 움직임이 달라짐
업무용 PC에서는 마우스, 개인 노트북에서는 터치패드, 업무용 노트북에서는 ThinkPad 트랙포인트를 사용하므로 한 사람에게 세 가지 행동 프로필이 생김
AI의 움직임과는 다르겠지만 마우스 움직임 지문이 또 하나의 관문이 된다면 흥미로운 이상치가 많이 나타날 수 있음 -
Cloudflare는 인터넷을 보호하는 척하지 말아야 함
https://developers.cloudflare.com/browser-run/quick-actions/...
이 회사는 담배를 팔면서 병원도 짓는 기업과 같음 -
Cloudflare가 내 손목 상태 데이터를 보험사에 파는 날이 기대됨. 우리가 스스로 만든 감시 지옥이 참 훌륭함
-
최근 Cloudflare의 오탐 때문에 세션에서 로딩만 계속되고 실제 페이지로 넘어가지 않는 일이 자주 생김
계속 감으로 코딩한 새 해결책을 매일 출시한다면 서비스 품질에도 악영향이 갈까 우려됨- 사용자 에이전트, IP 주소, 브라우저 확장 프로그램 중 하나가 원인일 수 있음
- 지역 ISP 광회선을 쓸 때보다 Starlink에서 훨씬 자주 차단 대상으로 판정됨