인터넷에는 생물 관점의 문제가 있습니다. 인간의 브라우징 활동 표면 아래에는 엄청난 규모로 웹 페이지를 크롤링, 스크래핑, 조사 및 요청하는 자동화된 프로그램 전체 생태계가 존재합니다. 이러한 봇 중 일부는 유익합니다. Google의 크롤러는 검색 결과에 페이지를 표시하도록 색인화합니다. Bing의 크롤러는 Microsoft의 검색 엔진에 대해 동일한 작업을 수행합니다. OpenAI의 크롤러는 언어 모델의 학습 데이터를 수집합니다. 이러한 정상 크롤러는 자신을 정직하게 식별하고, robots.txt 파일에서 지정한 규칙을 따르며, 알려진 인프라에서 작동합니다. 그러나 정상 크롤러마다 같은 이름표를 착용하면서 완전히 다른 작업을 수행하는 수십 개의 사기꾼이 있습니다. 그들은 사용자 에이전트 문자열에서 자신을 Googlebot으로 표시하고, 검색을 위해 페이지를 색인화하고 있다고 주장하며, 대부분의 웹 서버가 그 주장된 신원을 바탕으로 우선 처리를 할 것이라는 사실에 의존합니다. 이러한 인터넷 봇의 생태계는 생물학적 생태계와 마찬가지로 복잡하고 경쟁적이며 때로는 기이합니다.
이 생태계를 이해하는 것은 웹 사이트를 운영하는 모든 사람에게 중요합니다. 봇을 신뢰하거나 차단하기로 결정하면 직접적인 결과가 발생하기 때문입니다. 실제 검색 엔진 크롤러를 차단하면 검색 결과에 페이지가 더 이상 표시되지 않습니다. 가짜 봇을 신뢰하면 스크래퍼, 경쟁 정보 도구 또는 악의적인 행위자가 가치를 제공하는 척하면서 서버 리소스를 소비하도록 허용하는 것입니다. 실제 크롤러와 가짜 크롤러를 구분하는 능력은 이론적인 보안 연습이 아닙니다. 대역폭 비용, 서버 성능, 분석 정확도 및 콘텐츠 보호에 영향을 미치는 실질적인 필요성입니다. 봇 감지 API는 정확히 이러한 목적으로 존재하며, 위조할 수 없는 한 가지, 즉 봇이 연결되는 네트워크 인프라를 기반으로 크롤러 신원의 확정적인 검증을 제공합니다.
🗄️데이터베이스 유틸리티
국가와 언어를 위한 SQL, Excel 또는 JSON 데이터셋을 생성합니다. 필드명을 커스터마이즈하고 국기 이미지와 함께 내보내기.
Googlebot은 인터넷에서 가장 많이 사칭되는 크롤러이며, 그 이유는 명백합니다. 웹 사이트는 정기적으로 Googlebot에 특별한 권한을 부여합니다. 속도 제한이 완화됩니다. 페이월이 제거됩니다. JavaScript 렌더링 뒤에 숨겨진 콘텐츠는 Google의 크롤러를 위해 특별히 사전 렌더링됩니다. Robots.txt 규칙은 종종 명시적으로 다른 크롤러에 대해 제한된 섹션에 대한 Googlebot 액세스를 허용합니다. Googlebot이라고 주장하면, 가짜 크롤러는 실제로 데이터 센터의 임대된 서버에서 작동하는 스크래퍼일 수 있음에도 불구하고 이 모든 권한을 얻게 됩니다. 웹 사이트는 Google의 색인화 인프라라고 생각하는 것에 최고의 콘텐츠, 가장 빠른 응답 및 가장 완전한 페이지를 제공합니다.
실제 Googlebot은 절대적인 확실성으로 식별할 수 있습니다. 이는 Google의 자율 시스템 AS15169 내의 IP 주소에서만 작동합니다. Googlebot IP 주소의 역방향 DNS 조회는 googlebot.com 또는 google.com으로 끝나는 호스트 이름을 반환합니다. 해당 호스트 이름의 정방향 DNS 조회는 원래 IP 주소로 다시 확인됩니다. 이 3단계 검증 체인(IP에서 호스트 이름으로, IP로)은 Google의 DNS 인프라에 암호화로 바인딩되며 Google의 DNS 서버를 손상시키지 않고는 스푸핑할 수 없습니다. 이는 사실상 불가능합니다. Google 봇 감지기는 이 정확한 검증 체인을 수행하고 확정적인 결과를 반환합니다.
반면 가짜 Googlebot은 누구나 시간 단위로 렌트할 수 있는 범용 클라우드 인프라에서 발생합니다. Amazon Web Services, Google Cloud Platform (아이러니하게도), Microsoft Azure, DigitalOcean, Hetzner, OVH 및 Contabo는 일반적인 출처입니다. 사용자 에이전트 문자열은 버전 번호 및 크롤 URL 형식을 포함하여 실제 Googlebot에서 그대로 복사됩니다. 일부 정교한 가짜는 Googlebot의 요청 패턴을 모방하기도 하며, 요청 간격을 조정하고 정상적인 크롤링과 유사한 패턴으로 링크를 따릅니다. 그러나 IP 주소는 매번 그들을 드러냅니다. 행동 모방은 요청이 AS15169 (Google) 대신 AS16509 (Amazon)에서 발생한다는 사실을 변경할 수 없습니다.
Bingbot과 그 사기꾼
Microsoft의 Bingbot은 두 번째로 가장 많이 사칭되는 크롤러이며, 그 검증은 Googlebot과 유사한 패턴을 따르지만 몇 가지 중요한 차이점이 있습니다. 실제 Bingbot은 Microsoft의 인프라에서 작동하며, IP 주소는 역방향 DNS를 통해 search.msn.com 도메인 내의 호스트 이름으로 확인됩니다. ASN 검증은 회사의 광범위한 네트워크 인프라로 인해 여러 ASN을 포함하는 Microsoft의 자율 시스템에 대해 확인됩니다. 검증은 동일하게 신뢰할 수 있지만 Google의 더 통합된 범위에 비해 Microsoft의 더 광범위한 IP 할당을 인식해야 합니다.
가짜 Bingbot은 가짜 Googlebot과 동일한 많은 목적을 제공하지만 Bing의 시장 점유율이 작고 이에 따라 사칭할 동기가 작아지면서 다소 낮은 규모로 나타납니다. 그러나 Bing을 특별히 최적화하거나 Bingbot에 다른 콘텐츠를 제공하는 웹 사이트는 불균형적인 사칭을 유도합니다. 페이지가 Bing의 크롤러에 어떻게 나타나는지 분석하는 SEO 도구는 종종 가짜 Bingbot 사용자 에이전트를 사용하여 Bing 특정 버전의 페이지를 검색합니다. 경쟁 정보 서비스는 경쟁사가 Microsoft의 검색 인프라에 특별히 제공하는 콘텐츠를 확인하기 위해 동일한 작업을 수행합니다.
감지 방법론은 원칙적으로 동일합니다. IP 주소를 Microsoft의 알려진 범위에 대해 확인합니다. 역방향 및 정방향 DNS 검증을 수행합니다. ASN이 일치하는지 확인합니다. Bingbot이라고 주장하면서 핀란드의 Hetzner 서버에서 발생하는 요청은 사용자 에이전트 문자열이 얼마나 확신스럽게 제작되었는지와 관계없이 절대적인 확실성으로 가짜입니다. 봇 감지 API는 이 검증을 자동으로 처리하여 주장된 신원을 실제 네트워크 출처와 비교하고 명확한 판단을 반환합니다.
ChatGPT 크롤러와 AI 봇의 새로운 물결
대형 언어 모델의 등장은 완전히 새로운 범주의 웹 크롤러와 완전히 새로운 범주의 사칭을 만들었습니다. OpenAI의 GPTBot은 웹을 크롤링하여 학습 데이터를 수집하며, 그 존재는 웹 게시의 가장 논쟁적인 주제 중 하나가 되었습니다. 많은 게시자는 GPTBot을 차단하여 콘텐츠가 AI 훈련에 사용되지 않도록 합니다. 다른 사람들은 ChatGPT의 응답에서 유리한 대우를 받기를 희망하면서 이를 허용하려고 합니다. 어느 쪽이든, 실제 GPTBot과 가짜 버전을 구분할 수 있는 능력은 게시자가 선택한 정책을 시행하기 위해 중요합니다.
실제 GPTBot은 실제 Googlebot과 마찬가지로 OpenAI의 인프라와 관련된 특정 IP 주소 집합에서 작동합니다. 사용자 에이전트 문자열은 명확하게 자신을 식별하며, IP 범위는 공개되고 검증 가능합니다. ChatGPT 출시 이후 빠르게 증식한 가짜 GPTBot은 동일한 사용자 에이전트 문자열을 사용하지만 관련 없는 인프라에서 연결됩니다. GPTBot을 사칭하는 동기는 다양합니다. 일부 스크래퍼는 AI 훈련 크롤러를 허용하기로 결정한 게시자가 GPTBot이라고 주장하는 모든 것에 자유롭게 콘텐츠를 제공할 것이라는 이유로 이를 사용합니다. 다른 사람들은 이를 일반적인 은폐 신원으로 사용하며, 서버 관리자가 Google의 IP 범위보다 OpenAI의 IP 범위에 더 익숙하지 않을 가능성이 높고 따라서 청구를 확인할 가능성이 낮다는 가정에 의존합니다. OpenAI 크롤러 감지기는 이를 직접 처리하여 주장된 GPTBot 요청이 실제로 OpenAI의 네트워크에서 발생하는지 검증합니다.
GPTBot 외에도 AI 크롤러 환경은 빠르게 확장되고 있습니다. Anthropic, Perplexity, Meta 및 수많은 소규모 AI 회사는 모두 활동에 대한 투명성 정도가 다양한 웹 크롤러를 운영합니다. 이러한 각 크롤러는 사칭될 수 있으며, 각 사칭은 대상 사이트가 해당 특정 크롤러를 어떻게 처리하는지에 따라 자체 의미를 가집니다. 예를 들어 GPTBot을 제외한 모든 AI 크롤러를 차단하는 사이트는 스크래퍼가 GPTBot을 특별히 사칭할 강한 동기를 만듭니다. 이는 제한 없이 콘텐츠를 제공받을 유일한 신원이기 때문입니다.
소규모 플레이어와 봇 사칭의 긴 꼬리
봇 생태계는 Google, Bing 및 OpenAI를 훨씬 넘어 확장됩니다. Yandex는 러시아어 웹을 위한 중요한 크롤러를 운영하며, 가짜 Yandex 봇은 러시아어 콘텐츠가 있거나 Yandex에 다른 콘텐츠를 제공하는 사이트에서 일반적입니다. DuckDuckGo의 크롤러인 DuckDuckBot은 DuckDuckGo의 시장 점유율이 상대적으로 작음에도 불구하고 사칭됩니다. 프라이버시 의식이 있는 사용자에게 서비스하는 사이트는 종종 DuckDuckBot에 우선 액세스를 부여하기 때문입니다. Qwant (프랑스 검색 엔진) 및 Seznam (체코 검색 엔진)은 모두 각자의 지역 시장에서 사칭을 받는 크롤러를 보유하고 있습니다.
검증 방법론은 모두에게 동일하게 작동합니다. 각 정상 크롤러는 운영자의 네트워크 인프라와 관련된 알려진 IP 주소 집합에서 작동합니다. ASN은 네트워크를 식별합니다. 역방향 DNS는 호스트 이름을 확인합니다. 정방향 DNS는 IP를 확인합니다. 이 검증 체인은 보편적이며 검사 중인 특정 크롤러와 관계없이 적용됩니다. 차이점은 참조 데이터에만 있습니다. 각 크롤러에 속하는 ASN, 호스트 이름 패턴 및 IP 범위. 봇 감지 API는 8개의 주요 크롤러에 대해 이러한 참조 데이터 세트를 유지 관리하고 검증을 단일 API 호출로 제공합니다.
봇 생태계의 긴 꼬리에는 누구도 사칭하지 않는 크롤러도 포함됩니다. 이들은 정직한 봇입니다. Ahrefs, SEMrush 및 Moz와 같은 SEO 도구는 사용자 에이전트 문자열에서 정확하게 자신을 식별하는 크롤러를 운영합니다. 가격 비교 서비스, 학술 연구 크롤러, 접근성 검사기 및 링크 검증자는 모두 자신의 진정한 신원을 발표합니다. 이러한 봇은 모든 주어진 사이트에서 환영받을 수도 있고 아닐 수도 있지만, 최소한 사이트 운영자는 이들을 허용할지 말지를 의식적으로 결정할 수 있습니다. 문제는 구체적으로 사기꾼, 자신의 신원에 대해 거짓말을 하여 다른 방식으로는 받지 못할 액세스를 얻으려는 봇에 있습니다.
신원 확인을 기반으로 방어 구축
봇 사칭에 대한 실질적인 방어는 검증 메커니즘이 준비되면 간단합니다. 검색 엔진 크롤러에서 주장하는 모든 들어오는 요청은 크롤러의 알려진 인프라에 대해 확인됩니다. 검증을 통과하는 요청은 사이트가 해당 크롤러에 부여하는 모든 권한을 통해 허용됩니다. 검증에 실패한 요청은 완전히 차단되거나 사이트의 표준 속도 제한 및 액세스 제어의 대상이 되는 일반 트래픽으로 처리됩니다.
이 접근 방식은 여러 이유로 행동 분석보다 우수합니다. 행동 분석은 방문자가 사이트와 상호 작용하는 방식을 기반으로 방문자가 봇인지 여부를 결정하려고 시도합니다. 요청 속도, 탐색 패턴, JavaScript 실행, 마우스 움직임. 이러한 신호는 잡음이 많으며 거짓 양성을 생성하고 인간의 행동을 모방하는 충분히 정교한 봇으로 인해 패배할 수 있습니다. 반대로 IP 기반 검증은 거짓 양성이 0인 이진 결과를 생성합니다. 요청은 Google의 네트워크에서 오거나 오지 않습니다. 모호함, 조정할 임계값 또는 훈련할 행동 모델이 없습니다.
구현이 지연 시간이 우려되는 사이트의 모든 요청과 동기화될 필요는 없습니다. 검증은 비동기적으로 실행될 수 있으며, 결과는 IP 주소마다 캐시됩니다. IP가 Googlebot으로 속하는 것으로 확인되면, 구성 가능한 기간 동안 재검증 없이 해당 IP의 모든 후속 요청이 허용될 수 있습니다. 이 접근 방식은 요청 파이프라인에 무시할 수 있는 지연을 추가하면서 사칭에 대한 포괄적인 보호를 제공합니다. 캐싱 기간은 트레이드오프를 반영합니다. 더 긴 캐싱은 API 호출이 적지만 이전에 확인된 IP가 이론적으로 소유권을 변경할 수 있는 약간 더 큰 창을 의미합니다. 실제로 검색 엔진 IP 할당은 극도로 안정적이며, 24시간 이상의 캐시 기간은 대부분의 응용 프로그램에 안전합니다.
신원 기반 봇 검증을 구현한 결과는 실제로 서버를 타격하는 것이 무엇인지 더 깨끗하고 더 정직한 보기입니다. 실제 크롤러는 환영받습니다. 가짜 크롤러가 노출되고 차단됩니다. 분석 데이터는 허구가 아닌 현실을 반영합니다. 서버 리소스는 실제 방문자와 정상 크롤러에 할당되며 사기꾼에게 낭비되지 않습니다. 인터넷 봇의 생태계는 복잡하고 끊임없이 진화하지만, 네트워크 출처에 의한 검증의 기본 원칙은 봇 생태계가 어떻게 변하든 효과적인 ままです.