Internet ma problem z dziczyzną. Pod powierzchnią ludzkiej aktywności przeglądania sieci istnieje cały ekosystem automatycznych programów crawlujących, scraping, sondujących i żądających stron internetowych na ogromną skalę. Niektóre z tych botów są pożyteczne. Crawler Google indeksuje strony, aby pojawiały się w wynikach wyszukiwania. Crawler Bing robi to samo dla wyszukiwarki Microsoft. Crawler OpenAI zbiera dane treningowe dla modeli języka. Te legitymalne crawlery identyfikują się uczciwie, przestrzegają zasad określonych w plikach robots.txt i działają z znanej infrastruktury. Jednak na każdy legalny crawler przypadają dziesiątki oszustów noszących tę samą identyfikacyjną metką, robią coś zupełnie innego. Ogłaszają się jako Googlebot w swoim ciągu user-agent, twierdzą, że indeksują strony do wyszukiwania i polegają na fakcie, że większość serwerów sieciowych udzieli im preferencyjnego traktowania na podstawie tej zadeklarowanej tożsamości. Zoologia tych botów internetowych jest tak złożona, konkurencyjna i czasami dziwna jak każdy ekosystem biologiczny.

Zrozumienie tego ekosystemu jest ważne dla każdego, kto obsługuje witrynę, ponieważ decyzja o zaufaniu lub zablokowaniu bota ma bezpośrednie konsekwencje. Zablokowanie prawdziwego crawlera wyszukiwarki oznacza, że strony przestają pojawiać się w wynikach wyszukiwania. Zaufanie fałszywemu oznacza pozwolenie na scraper, narzędzie analityki konkurencyjnej lub działalność złośliwego aktora na zużycie zasobów serwera, jednocześnie udając, że zapewnia wartość. Umiejętność rozróżniania między prawdziwymi a fałszywymi crawlerami nie jest teoretycznym ćwiczeniem bezpieczeństwa. To praktyczna konieczność, która wpływa na koszty przepustowości, wydajność serwera, dokładność analityki i ochronę zawartości. API detekcji botów istnieje dokładnie w tym celu, zapewniając definitywną weryfikację tożsamości crawlera na podstawie jednej rzeczy, która nie może być sfałszowana: infrastruktura sieciowa, z której bot się łączy.

Gatunki Fałszywego Googlebot

Googlebot jest najczęściej podszywającym się crawler na całym internecie, a powody są oczywiste. Witryny rutynowo przyznają Googlebot specjalne przywileje. Limity szybkości są złagodzane. Mury płatności są usuwane. Zawartość ukryta za renderowaniem JavaScript jest wstępnie renderowana specjalnie dla crawlera Google. Reguły robots.txt często jawnie pozwalają Googlebot na dostęp do sekcji ograniczonych dla innych crawlerów. Twierdzając, że jest Googlebot, fałszywy crawler dziedziczy wszystkie te przywileje bez ich zarabiania. Witryna służy najlepszą zawartość, szybkie odpowiedzi i kompletne strony temu, co uważa za infrastrukturę indeksowania Google, gdy w rzeczywistości odbiorcą jest scraper działający z wynajętego serwera w centrum danych.

Prawdziwy Googlebot jest identyfikowalny z absolutną pewnością. Działa wyłącznie z adresów IP w autonomicznym systemie Google, AS15169. Odwrotne wyszukiwanie DNS na każdym prawdziwym adresie IP Googlebot zwraca nazwę hosta kończącą się na googlebot.com lub google.com. Bezpośrednie wyszukiwanie DNS na tej nazwie hosta rozwiązuje powrót do oryginalnego adresu IP. Ten trójstopniowy łańcuch weryfikacji, IP na hostname na IP, jest kryptograficznie powiązany z infrastrukturą DNS Google i nie może być sfałszowany bez naruszenia serwerów DNS Google, co jest praktycznie niemożliwe. Detektor bota Google wykonuje dokładnie ten łańcuch weryfikacji i zwraca definitywny wynik.

Fałszywy Googlebot, w przeciwieństwie, pochodzi z infrastruktury ogólnego przeznaczenia, którą każdy może wynająć za godzinę. Amazon Web Services, Google Cloud Platform (ironicznie), Microsoft Azure, DigitalOcean, Hetzner, OVH i Contabo to częste źródła. Ciąg user-agent jest kopiowany dosłownie z prawdziwego Googlebot, często włączając numer wersji i format adresu URL crawlu. Niektóre wyrafinowane podróbki nawet naśladują wzorce żądań Googlebot, rozkładając swoje żądania i podążając za linkami w wzorze przypominającym legitymacyjne crawling. Ale adres IP ich zdradza za każdym razem. Żadna ilość behawioralnego naśladownictwa nie może zmienić fakt, że żądanie pochodzi z AS16509 (Amazon) zamiast AS15169 (Google).

Bingbot i Jego Oszuści

Bingbot firmy Microsoft jest drugim najczęściej podszywającym się crawler, a jego weryfikacja podąża za podobnym wzorcem jak Googlebot, ale z pewnymi ważnymi różnicami. Prawdziwy Bingbot działa z infrastruktury Microsoft, a jego adresy IP rozwiązują się poprzez odwrotne DNS na nazwy hostów w domenie search.msn.com. Weryfikacja ASN sprawdza względem autonomicznych systemów Microsoft, które obejmują kilka ASN ze względu na rozległy zasób sieciowy firmy. Weryfikacja jest równie niezawodna, ale wymaga świadomości szerszej alokacji IP Microsoft w porównaniu z bardziej skonsolidowanym zakresom Google.

Fałszywy Bingbot służy wielu tym samym celom co fałszywy Googlebot, ale pojawia się w nieco niższych ilościach, odzwierciedlając mniejszy udział rynku Bing i odpowiednio mniejszy bodziec do jego podszywania. Jednak witryny, które konkretnie optymalizują się do Bing lub które służą inną zawartość Bingbot przyciągają nieproporcjonalnie dużo podszywania. Narzędzia SEO, które analizują, jak strona pojawia się crawlerze Bing, często używają fałszywych user-agentów Bingbot do pobierania wersji specyficznej dla Bing. Usługi analityki konkurencyjnej robią to samo, aby zobaczyć, jaką zawartość konkurenci służą specjalnie infrastrukturze wyszukiwania Microsoft.

Metodologia detekcji jest zasadniczo identyczna. Sprawdź adres IP względem znanych zakresów Microsoft. Wykonaj odwrotną i bezpośrednią weryfikację DNS. Potwierdź, że ASN się zgadza. Żądanie twierdzące, że jest Bingbot, które pochodzi z serwera Hetzner w Finlandii jest fałszywe z absolutną pewnością, niezależnie od tego, jak przekonywająco jest crafted ciąg user-agent. API detekcji botów obsługuje tę weryfikację automatycznie, sprawdzając zadeklarowaną tożsamość względem rzeczywistego pochodzenia sieciowego i zwracając jasny werdykt.

Crawler ChatGPT i Nowa Fala AI Botów

Pojawienie się dużych modeli języka stworzyło całkowicie nową kategorię crawlerów sieciowych i całkowicie nową kategorię podszywania. GPTBot OpenAI crawluje sieć w celu zbierania danych treningowych, a jego obecność stała się jednym z najbardziej kontrowersyjnych tematów w publikowaniu internetowym. Wielu wydawców chce zablokować GPTBot, aby zapobiec wykorzystaniu ich zawartości do szkolenia AI. Inni chcą go zezwolić, mając nadzieję na korzystne traktowanie w odpowiedziach ChatGPT. Tak czy inaczej, umiejętność rozróżniania prawdziwego GPTBot od jego fałszywych wersji jest krytyczna dla egzekwowania każdej polityki, którą wydawca wybrał.

Prawdziwy GPTBot, jak prawdziwy Googlebot, działa z określonego zestawu adresów IP powiązanych z infrastrukturą OpenAI. Ciąg user-agent wyraźnie się identyfikuje, a zakresy IP są publikowane i weryfikowalne. Fałszywy GPTBot, który rozprzestrzeniał się szybko od uruchomienia ChatGPT, używa tego samego ciągu user-agent, ale łączy się z niepowiązaną infrastrukturą. Motywacje do podszywania się pod GPTBot są różne. Niektóre scrapery go używają, ponieważ wydawcy, którzy zdecydowali się zezwolić na crawlery szkoleniowe AI będą służyć zawartość swobodnie czemukolwiek twierdzącemu, że jest GPTBot. Inni go używają jako ogólną tożsamość pokerową, licząc na założenie, że administratorzy serwerów są mniej zaznajomieni z zakresami IP OpenAI niż z Google i dlatego mniej skłonni do weryfikacji roszczenia. Detektor crawlera OpenAI odnosi się do tego bezpośrednio, weryfikując czy zadeklarowane żądanie GPTBot rzeczywiście pochodzi z sieci OpenAI.

Poza GPTBot, krajobraz crawlera AI szybko się rozszerza. Anthropic, Perplexity, Meta i liczne mniejsze firmy AI wszystkie obsługują crawlery sieciowe o różnym stopniu przejrzystości co do ich działań. Każdy z tych crawlerów może być podszywany, a każde podszywanie niesie ze sobą własne implikacje w zależności od tego, jak docelowa witryna traktuje tego konkretnego crawlera. Witryna, która blokuje wszystkie crawlery AI z wyjątkiem GPTBot, na przykład, tworzy silny bodziec dla scraperów do podszywania się pod GPTBot w szczególności, ponieważ jest jedyną tożsamością, która będzie służona zawartość bez ograniczeń.

Mniejsze Gracze i Długi Ogon Podszywania Botów

Ekosystem botów sięga daleko poza Google, Bing i OpenAI. Yandex obsługuje znaczący crawler dla rosyjskojęzycznej sieci, a fałszywe boty Yandex są powszechne na witrynach z zawartością w języku rosyjskim lub które specjalnie służą inną zawartość Yandex. Crawler DuckDuckGo, DuckDuckBot, jest podszywany pomimo względnie małego udziału rynku DuckDuckGo, ponieważ witryny, które dbają o użytkowników świadomych prywatności, często dają DuckDuckBot preferencyjny dostęp. Qwant, francuska wyszukiwarka, i Seznam, czeska wyszukiwarka, oba mają crawlery, które są podszywane na ich odpowiednich rynkach regionalnych.

Metodologia weryfikacji działa identycznie dla wszystkich z nich. Każdy legalny crawler działa ze znanego zestawu adresów IP powiązanych z infrastrukturą sieciową jego operatora. ASN identyfikuje sieć. Odwrotne DNS potwierdza hostname. Bezpośrednie DNS potwierdza IP. Ten łańcuch weryfikacji jest uniwersalny i stosuje się niezależnie od konkretnego sprawdzanego crawlera. Różnica jest tylko w danych referencyjnych: które ASN, które wzorce hostnamów i które zakresy IP należą do każdego crawlera. API detekcji botów utrzymuje te zestawy danych referencyjnych dla ośmiu głównych crawlerów i zapewnia weryfikację jako jedno wywołanie API.

Długi ogon ekosystemu botów obejmuje również crawlery, które nikogo nie podszywają. To są uczciwe boty. Narzędzia SEO takie jak Ahrefs, SEMrush i Moz obsługują crawlery, które dokładnie się identyfikują w swoich ciągach user-agent. Usługi porównywania cen, crawlery badań akademickich, narzędzia do sprawdzania dostępności i walidatory linków wszystkie ogłaszają swoją prawdziwą tożsamość. Te boty mogą być lub nie być mile widziane na żadnej danej witrynie, ale przynajmniej operator witryny może podjąć świadomą decyzję o tym, czy je zezwolić. Problem jest konkretnie z oszustami, botami, które kłamią o tym, kim są, aby uzyskać dostęp, którego w inny sposób nie otrzymaliby.

Budowanie Obrony na Podstawie Weryfikacji Tożsamości

Praktyczna obrona przed podszywaniem botów jest prosta, gdy mechanizm weryfikacji jest na miejscu. Każde przychodzące żądanie, które twierdzi, że pochodzi od crawlera wyszukiwarki, jest sprawdzane względem znanej infrastruktury crawlera. Żądania, które przechodzą weryfikację, są dozwolone z jakimikolwiek przywileje, które witryna przyznaje tym crawlerom. Żądania, które nie przechodzą weryfikacji, są albo blokowane całkowicie, albo traktowane jako ruch generyczny podlegający standardowym ograniczeniom szybkości witryny i kontrolom dostępu.

Takie podejście jest lepsze niż analiza behawioralna z kilku powodów. Analiza behawioralna próbuje określić, czy odwiedzający jest botem na podstawie tego, jak wchodzi w interakcję z witryną: szybkość żądania, wzorce nawigacji, wykonanie JavaScript, ruchy myszy. Te sygnały są hałaśliwe, generują fałszywe pozytywne i mogą być pokonane przez wystarczająco wyrafinowane boty, które naśladują ludzkie zachowanie. Weryfikacja oparta na IP, z drugiej strony, produkuje binarny wynik z zerowymi fałszywymi pozytywami. Żądanie albo pochodzi z sieci Google, albo nie. Nie ma dwuznaczności, nie ma progu do strojenia i nie ma modelu behawioralnego do trenowania.

Implementacja nie musi być synchroniczna z każdym żądaniem dla witryn, gdzie opóźnienie jest problemem. Weryfikacja może działać asynchronicznie, z wynikami buforowanymi na adres IP. Gdy adres IP zostanie zweryfikowany jako należący do Googlebot, wszystkie kolejne żądania z tego adresu IP mogą być dozwolone bez re-weryfikacji przez konfigurowalny okres. Takie podejście dodaje znikome opóźnienie do linii przetwarzania żądań, zapewniając jednocześnie wszechstronną ochronę przed podszywaniem. Okres buforowania odzwierciedla kompromis: dłuższe buforowanie oznacza mniej wywołań API, ale nieco większe okno, w którym wcześniej zweryfikowany adres IP mógł teoretycznie zmienić właściciela. W praktyce alokacje IP wyszukiwarek są niezwykle stabilne, a czasy pamięci podręcznej dwudziestu czterech godzin lub dłuższe są bezpieczne dla większości aplikacji.

Rezultatem implementacji weryfikacji botów opartej na tożsamości jest czystszy, bardziej uczciwy widok tego, co faktycznie trafia na serwer. Prawdziwe crawlery są mile widziane. Fałszywe crawlery są ujawniane i blokowane. Dane analityczne odzwierciedlają rzeczywistość zamiast fikcji. Zasoby serwera są przydzielane rzeczywistym odwiedzającym i legit crawlerom zamiast być zmarnowanymi na oszustów. Zoologia botów internetowych jest złożona i stale się ewoluuje, ale fundamentalna zasada weryfikacji poprzez pochodzenie sieciowe pozostaje skuteczna niezależnie od tego, jak ekosystem botów się zmienia.

Często Zadawane Pytania

Jak mogę sprawdzić, czy żądanie naprawdę pochodzi od Googlebot?

Wykonaj odwrotne wyszukiwanie DNS na adresie IP i potwierdź, że nazwa hosta kończy się na googlebot.com lub google.com. Następnie wykonaj bezpośrednie wyszukiwanie DNS na tej nazwie hosta i potwierdź, że rozwiązuje powrót do tego samego adresu IP. Alternatywnie sprawdź, że IP należy do AS15169, który jest autonomicznym systemem Google. API detekcji botów wykonuje wszystkie te sprawdzenia w jednym wywołaniu.

Czy bot może sfałszować swój adres IP, aby pojawić się jako Googlebot?

Adresy IP nie mogą być sfałszowane dla połączeń TCP, ponieważ uzgadnianie TCP wymaga dwukierunkowej komunikacji. Bot może sfałszować ciąg user-agent trywialnie, ale nie może nawiązać połączenia TCP ze sfałszowanym źródłowym adresem IP. Dlatego właśnie weryfikacja oparta na IP jest definityjna, podczas gdy identyfikacja oparta na user-agent nie jest.

Czym jest ASN i dlaczego ma znaczenie dla detekcji botów?

ASN, lub Autonomous System Number, identyfikuje sieć obsługiwaną przez jedną organizację. Sieć Google to AS15169, Microsoft używa kilka ASN, a OpenAI ma swoje własne wyznaczone zakresy. Sprawdzenie IP bota względem oczekiwanego ASN natychmiast ujawnia, czy żądanie pochodzi z infrastruktury zadeklarowanej organizacji, czy z niepowiązanego centrum danych.

Czy powinienem zablokować wszystkie boty, które nie przechodzą weryfikacji?

Blokowanie botów, które podszywają się pod konkretne wyszukiwarki, jest generalnie bezpieczne i rekomendowane. Jednak nie wszystkie niezweryfikowane boty są złośliwe. Niektóre są legit narzędziami, które po prostu nie podszywają się pod crawlery. Kluczowym rozróżnieniem jest między botami, które kłamią o swojej tożsamości, które powinny być blokowane, a botami, które uczciwwie się identyfikują, które mogą być oceniane indywidualnie.

Jak powszechne jest podszywanie botów na typowych witrynach?

Rozpowszechnianie się różni w zależności od rozmiaru witryny i typu zawartości. Witryny z wysoką autorytatem domeny, cenną zawartością lub dużą liczbą stron mają tendencję do przyciągania więcej fałszywych crawlerów. Dane branżowe sugerują, że ruch botów stanowi trzydzieści do pięćdziesięciu procent całego ruchu internetowego na całym świecie, a znaczna część to ruch podszywania twierdzący, że są legit crawlerami wyszukiwarek.

Czy blokowanie fałszywych botów wpływa na rzeczywiste indeksowanie wyszukiwarek?

Nie. Blokowanie oparte na weryfikacji dotyczy tylko żądań z adresów IP, które nie należą do zadeklarowanej wyszukiwarki. Prawdziwy Googlebot, Bingbot i inne legit crawlery przechodzą weryfikację i kontynuują dostęp do witryny normalnie. Jedynym wpływem są oszuści.