봇 탐지란
봇 탐지는 자동화된 트래픽을 사람 트래픽과 구분하는 데 사용하는 기법의 집합입니다. 웹 보안에서 오랜 역사를 가지고 있으며, credential stuffing, scraping, fake signups, inventory hoarding, spam을 막는 데 쓰여 왔습니다. 이 모든 항목은 OWASP Automated Threats to Web Applications 분류 체계에 포함됩니다. 일반적인 입력에는 IP 평판, 요청 속도, 헤더와 프로토콜 지문, 브라우저 환경 점검, 상호작용 신호가 포함됩니다. 일반적인 출력은 점수 또는 판정이며, 보통 block, challenge 또는 allow에 바로 연결됩니다.
이런 방식으로 만들어진 이유
전통적인 봇 탐지는 하나의 가정에서 출발했습니다. 자동화된 트래픽은 대체로 적대적이며, 역할은 그것을 차단하는 것이라는 가정입니다. 이 가정 때문에 경계에서 단일 봇 점수를 강제하는 방식이 합리적인 설계가 되었습니다. 요청이 자동화된 것처럼 보이면 CAPTCHA로 challenge하거나 차단하면 됩니다.
왜 이제는 그 모델만으로 충분하지 않은가
이제 애플리케이션은 훨씬 더 다양한 actor를 받습니다.
- 평소처럼 탐색하는 사람,
- 대신 읽고, 초안을 만들고, 입력을 채워 주는 AI assistant와 함께 일하는 사람,
- 자신을 식별하며 때로는 signed requests를 사용하는 합법적인 agent와 crawler,
- 사용자를 대신해 작업을 수행하는 자율 agent,
- 증거만으로는 정체를 확정할 수 없는 알 수 없는 클라이언트.
이항식 bot score는 이것을 잘 설명하지 못합니다. 우리의 게시물 Human, AI-assisted or agent: a practical taxonomy for application traffic는 대안적인 분류를 제시합니다. 모든 자동화된 요청을 차단하면 합법적인 참여자를 놓치고, 모두 허용하면 유용한 통제 수단을 잃습니다. 그리고 빈약한 증거에 근거한 확신 있는 판정은 실제 사용자에게 false positive를 발생시킵니다.
actor intelligence가 다른 점
actor intelligence는 더 넓은 질문을 던집니다. 여기에 어떤 종류의 actor가 있는가, 그리고 증거는 실제로 무엇을 보여 주는가? 이는 전통적인 봇 탐지와 세 가지 면에서 다릅니다.
- 더 풍부한 분류. 사람 대 봇이 아니라 Human, Human + AI, Agent, Unknown을 사용합니다.
- 명시적인 근거. 각 결과는 verified, declared 또는 inferred 증거에 근거하는지, 혹은 그렇지 않은지를 보여 주므로 암호학적 확인과 행동 추정이 혼동되지 않습니다.
- 분리된 결정. 결과는 기본값으로 강제 집행되는 대신 애플리케이션의 정책에 정보를 제공합니다. 팀은 먼저 관찰한 뒤, route별로 결정합니다.
두 접근 방식은 함께 존재할 수 있습니다. 주요 crawler 운영자들은 이미 user-agent 문자열을 넘어서는 검사를 지원합니다. 예를 들어 Google의 crawler verification by reverse DNS and IP range가 있으며, signed requests는 이 개념을 어떤 운영자에게도 확장합니다. 오늘 바로 사용할 수 있는 신호에 대해서는 웹사이트 트래픽이 AI agent에서 오는지 확인하는 방법을 보세요. 경계에서의 남용 통제는 여전히 유용합니다. actor intelligence는 애플리케이션 자체가 각 상호작용 유형에 맞는 경험을 설계할 수 있도록 맥락을 제공합니다.
흔한 오해
- "agent는 그냥 봇이다." 일부는 악성입니다. 하지만 많은 경우 누군가를 대신해 제품을 사용하는 합법적인 사용자입니다.
- "bot score는 사실이다." 그것은 오류율이 있는 추론입니다. 판정이 아니라 신뢰 수준이 있는 증거로 다루세요.
- "Unknown은 차단을 뜻한다." Unknown은 증거가 충분하지 않다는 뜻입니다. 이후에 무엇을 할지는 route별로 명시적으로 선택해야 합니다(fail open vs fail closed 참조).
Proof of Actor가 들어가는 위치
Proof of Actor는 app, website, API, MCP server를 위한 actor intelligence입니다. Detect는 신호를 수집하고 verified 진술과 추론을 분리합니다. Understand는 상호작용 유형, 추세, 증거를 보여 줍니다. Route는 자체 정책으로 특정 상호작용을 허용, 적응, challenge, 검토 또는 제한하도록 합니다. 기본적으로 차단되는 것은 없습니다.
제품을 살펴보거나 조기 액세스를 신청하세요.
출처
- OWASP Automated Threats to Web Applications: credential stuffing, scraping, account creation 같은 자동화된 위협의 분류 체계
- Google: Verifying Google's crawlers and fetchers: 운영자가 공개한 crawler 검증