Интернетът има проблем с дивата природа. Под повърхността на човешката активност в мрежата съществува цяла екосистема от автоматизирани програми, които краулират, скрепват, сондират и заявяват уеб страниците в огромен мащаб. Някои от тези ботове са полезни. Краулерът на Google индексира страниците, така че те се появяват в резултатите от търсенето. Краулерът на Bing прави същото за търсачката на Microsoft. Краулерът на OpenAI събира данни за обучение за езиковите модели. Тези легитимни краулери се идентифицират честно, следват правилата, посочени в robots.txt файловете, и работят от известна инфраструктура. Но за всеки легитимен краулер има дузини самозванци, които носят същото значение, докато правят нещо напълно различно. Те се обявяват като Googlebot в своя user agent низ, твърдят, че индексират страниците за търсене, и разчитат на факта, че повечето уеб сървъри ще им дадат преференциално третиране на базата на това твърдение. Зоологията на тези интернет ботове е толкова сложна, конкурентна и понякога странна, колкото всяка биологична екосистема.

Разбирането на тази екосистема е важно за всеки, който управлява уебсайт, защото решението да се доверим или блокираме бот има преки последствия. Блокирането на реален краулер на търсачка означава, че страниците престават да се появяват в резултатите от търсенето. Доверяването на фалшив означава разрешаване на скреперът, инструмент за конкурентна разузнаватели или злонамерен актьор да консумира ресурси на сървъра, докато твърди, че предоставя стойност. Способността да се разграничат реални и фалшиви краулери не е теоретическо упражнение по сигурност. Това е практическа необходимост, която влияе на разходите за честотна лента, производителността на сървъра, точността на аналитиката и защитата на съдържанието. API за детекция на ботове съществува точно за тази цел, осигурявайки окончателна проверка на идентичността на краулера на базата на единственото нещо, което не може да бъде подделано: мрежовата инфраструктура, от която ботът се свързва.

Видовете фалшиви Googlebot

Googlebot е най-подражаваният краулер в интернета, и причините са очевидни. Уебсайтовете редовно дават на Googlebot специални привилегии. Ограниченията по скорост се облекчават. Платформите се премахват. Съдържанието, което е скрито зад JavaScript рендериране, предварително се рендира специално за краулера на Google. Правилата в Robots.txt често експлицитно позволяват на Googlebot достъп до раздели, които са ограничени за други краулери. Претендирайки, че е Googlebot, фалшив краулер наследява всички тези привилегии, без да спечели нито един от тях. Уебсайтът служи своето най-добро съдържание, най-бързи отговори и най-пълни страници на това, което смята, че е индексирането на Google инфраструктура, когато в действителност получателят е скреперът, работещ от наемен сървър в дата център.

Реалният Googlebot е идентифицируем с абсолютна сигурност. Той работи изключително от IP адреси в рамките на автономната система на Google, AS15169. Обратният DNS лукъп на всеки реален Googlebot IP адрес връща hostname, завършваща в googlebot.com или google.com. Преди DNS лукъпът на този hostname се разрешава обратно към оригиналния IP адрес. Тази верига от три стъпки, IP до hostname до IP, е криптографски обвързана с DNS инфраструктурата на Google и не може да бъде подделана без компрометиране на DNS сървърите на Google, което е практически невъзможно. Google детектор на ботове извършва точно тази верига от проверки и връща окончателния резултат.

Фалшивият Googlebot, напротив, произхожда от инфраструктурата за общо ползване в облака, която всеки може да наеме на час. Amazon Web Services, Google Cloud Platform (иронично), Microsoft Azure, DigitalOcean, Hetzner, OVH и Contabo са чести произход. User agent низът е копиран дословно от реален Googlebot, често включително номер на версията и формата на URL адрес за краулиране. Някои софистицирани подражатели дори имитират модели на заявки на Googlebot, разстояние на техните заявки и следене на връзки в модел, който наподобява легитимното краулиране. Но IP адресът ги издава всеки път. Никакво поведенческо подражание не може да промени факта, че заявката произхожда от AS16509 (Amazon) вместо AS15169 (Google).

Bingbot и неговите самозванци

Bingbot на Microsoft е вторият най-често подражаван краулер, и неговата проверка следва подобен модел на Googlebot, но с някои важни разлики. Реалният Bingbot работи от инфраструктурата на Microsoft, и неговите IP адреси се разрешават чрез обратен DNS към hostname в рамките на домейна search.msn.com. Проверката на ASN се проверява спрямо автономните системи на Microsoft, които включват няколко ASN поради обширната мрежова инфраструктура на компанията. Проверката е еднакво надежна, но изисква осъзнаването на по-широкото разпределение на IP адресите на Microsoft в сравнение с по-консолидирания диапазон на Google.

Фалшивият Bingbot служи на много от същите цели като фалшивия Googlebot, но се появява в малко по-нискорани обеми, отразявайки по-малкия пазарен дял на Bing и съответно по-малкия стимул да го подражаваме. Въпреки това, уебсайтовете, които специфично оптимизират за Bing или които служат на различно съдържание на Bingbot, привличат диспропорционално подражаване. Инструментите за SEO, които анализират как страницата изглежда за краулера на Bing, често използват фалшиви user agent Bingbot, за да извлекат версията на страницата, специфична за Bing. Услугите за конкурентна разузнаватели правят същото, за да видят какво съдържание конкурентите служат специално на мрежовата инфраструктура на Microsoft.

Методологията на детекцията е идентична по принцип. Проверете IP адреса спрямо известните диапазони на Microsoft. Извършите обратния и преден DNS верификацията. Потвърдете, че ASN съответства. Заявка, която твърди, че е Bingbot и произхожда от Hetzner сървър във Финландия, е фалшива с абсолютна сигурност, независимо колко убедително е изработен user agent низът. API за детекция на ботове автоматично обработва тази проверка, проверявайки твърдяното самоличност спрямо действителния мрежов произход и връща ясна преценка.

ChatGPT Crawler и новата вълна на AI ботове

Появата на големи езикови модели е създала напълно нова категория уеб краулери и напълно нова категория подражаване. GPTBot на OpenAI краулира мрежата, за да събере данни за обучение, и присъствието му стана една от най-спорните теми при уеб публикуване. Много издатели искат да блокират GPTBot, за да предотвратят съдържанието си от използване за AI обучение. Други искат да го позволят, надявайки се на благоприятно третиране в отговорите на ChatGPT. Както и да е, способността да се разграничат реалният GPTBot от фалшивите версии е критична за налагането на каквато и да е политика е избрал издателят.

Реалният GPTBot, както реалният Googlebot, работи от специфичен набор от IP адреси, свързани с инфраструктурата на OpenAI. User agent низът се идентифицира ясно, и IP диапазоните са публикувани и верифицируеми. Фалшивият GPTBot, който се разпространи бързо след стартирането на ChatGPT, използва същия user agent низ, но се свързва от несвързана инфраструктура. Мотивите за подражаване на GPTBot са различни. Някои скреперите го използват, защото издателите, които са решили да разрешат краулирането за AI обучение, ще служат съдържание свободно на всичко, което твърди, че е GPTBot. Други го използват като родов идентификатор на прикритие, разчитайки на предположението, че администраторите на сървърите са по-малко запознати с IP диапазоните на OpenAI, отколкото с диапазоните на Google, и следователно по-малко вероятно да проверят твърдението. OpenAI детектор на краулери се занимава с това директно, проверявайки дали твърдяното GPTBot заявка действително произхожда от мрежата на OpenAI.

Отвъд GPTBot, пейзажът на AI краулератори разширяващ бързо. Anthropic, Perplexity, Meta и множество по-малки AI компании всички работят уеб краулери с различни степени на прозрачност относно техните дейности. Всеки от тези краулери може да бъде подражаван, и всяко подражаване носи своите собствени последици в зависимост от това как целевият сайт третира този конкретен краулер. Сайт, който блокира всички AI краулери, освен GPTBot, например, създава силен стимул за скреперите да подражават на GPTBot специално, защото той е единственият идентификатор, който ще бъде служен съдържание без ограничение.

По-малките играчи и дългия опашка на подражанието на ботове

Екосистемата на ботовете се простира далеч отвъд Google, Bing и OpenAI. Yandex управлява значителен краулер за руския съдържание на мрежата, и фалшивите Yandex ботове са често срещани на сайтове с руско съдържание или които служат различно съдържание на Yandex. Краулерът на DuckDuckGo, DuckDuckBot, е подражаван въпреки относително малкия пазарен дял на DuckDuckGo, защото сайтовете, които обслужват потребители, обезпокоени от поверителност, често дават преференциално DuckDuckBot достъп. Qwant, френската търсачка, и Seznam, чешката търсачка, и двете имат краулери, които се подражават в техните съответни регионални пазари.

Методологията на верификацията работи идентично за всички от тях. Всеки легитимен краулер работи от известен набор от IP адреси, свързани с мрежовата инфраструктура на неговия оператор. ASN идентифицира мрежата. Обратният DNS потвърждава hostname. Преди DNS потвърждава IP. Тази верига от проверки е универсална и се прилага независимо от специфичния краулер, който се проверява. Разликата е само в референтните данни: които ASN, които модели на hostname и който IP диапазони принадлежат на всеки краулер. API за детекция на ботове поддържа тези набори от референтни данни за осем основни краулери и осигурява верификацията като едно API повикване.

Дългата опашка на екосистемата на ботовете също включва краулери, които не подражават на никого. Това са честните ботове. SEO инструментите като Ahrefs, SEMrush и Moz работят краулери, които се идентифицират точно в своя user agent низ. Услугите за сравнение на цени, краулери за академични изследвания, проверки на достъпност и валидатори на връзки всички обявяват своята истинска идентичност. Тези ботове могат да бъдат добре дошли или не на който и да е сайт, но поне операторът на сайта може да вземе информирано решение дали да ги позволи. Проблемът е специално със самозванците, ботовете, които лъжат за това кой са, за да получат достъп, който в противен случай не биха получили.

Построяване на защита на базата на проверката на идентичност

Практическата защита срещу подражанието на ботове е директна, след като механизмът на проверката е на място. Всяка входяща заявка, която твърди, че е от краулер на търсачка, се проверява спрямо известната инфраструктура на краулера. Заявки, които преминават проверката, се допускат с какъвто и да е привилегии сайтът предоставя на този краулер. Заявки, които не преминават проверката, са или напълно блокирани, или се третират като генерични трафик, подложени на стандартното ограничение на скорост на сайта и контрола на достъпа.

Този подход е по-добър от анализа на поведението по няколко причини. Анализът на поведението се опитва да определи дали посетителят е бот въз основа на това как взаимодейства със сайта: скорост на заявки, модели на навигация, изпълнение на JavaScript, движения на мишката. Тези сигнали са шумни, генериращи фалшиво положителни резултати, и могат да бъдат преодолени от достатъчно софистицирани ботове, които имитират човешкото поведение. IP базирана проверка, напротив, дава двоичен резултат с нула фалшиво положителни. Заявка или произхожда от мрежата на Google, или не. Няма двусмисленост, без праг, който да се регулира, и без модел на поведението, който да се обучи.

Внедряването не трябва да бъде синхронно със всяка заявка за сайтове, където латентността е проблем. Проверката може да работи асинхронно, с резултатите кеширани по IP адрес. След като IP е верифициран като принадлежащ на Googlebot, всички последващи заявки от това IP могат да бъдат позволени без повторна верификация за конфигурируем период. Този подход добавя незначителна латентност към конвейера на заявките, докато осигурява всеобхватна защита срещу подражанието. Периодът на кеширане отразява компромис: по-дълго кеширане означава по-малко API повиквания, но малко по-голямо прозорец, където преди верифициран IP теоретично може да промени собственост. На практика разпределенията на IP адреси на търсачки са чрезвичайно стабилни, и периодите на кеш от двадцет и четири часа или повече са безопасни за повечето приложения.

Резултатът от внедряването на проверката на идентичност на ботове на базата на идентичност е по-чист, по-честен преглед на това, което наистина удря сървъра. Реалните краулери са добре дошли. Фалшивите краулери са разкрити и блокирани. Данните за аналитика отразяват реалност вместо измишльки. Ресурсите на сървъра са отредени на реални посетители и легитимни краулери вместо да се разхищават на самозванци. Зоологията на интернет ботовете е сложна и постоянно се развива, но основния принцип на верификацията по мрежов произход остава ефективен, независимо от това как се изменя екосистемата на ботовете.

Често задавани въпроси

Как проверявам дали заявката наистина е от Googlebot?

Извършете обратен DNS лукъп на IP адреса и потвърдете, че hostname завършва в googlebot.com или google.com. След това направете преден DNS лукъп на този hostname и потвърдете, че се разрешава обратно към същия IP. Алтернативно, проверете дали IP принадлежи на AS15169, което е автономната система на Google. API за детекция на ботове извършва всички тези проверки в едно повикване.

Може ли бот да подправи своя IP адрес, за да изглежда като Googlebot?

IP адресите не могат да бъдат подправени за TCP връзки, защото TCP три пътен преговор изисква двупосочна комуникация. Бот може лесно да подправи user agent низ, но не може да установи TCP връзка с подправен IP адрес. Това е защо IP базирана верификация е окончателна, докато идентификацията на базата на user agent не е.

Какво е ASN и защо е важно за детекцията на ботове?

ASN, или Автономен системен номер, идентифицира мрежа, управлявана от един организация. Мрежата на Google е AS15169, мрежата на Microsoft използва няколко ASN, и OpenAI има своя собствена назначена диапазони. Проверката на IP на бот спрямо очаквания ASN веднага разкрива дали заявката произхожда от мрежовата инфраструктура на твърдяната организация или от несвързан дата център.

Трябва ли да блокирам всички ботове, които не преминат верификацията?

Блокирането на ботове, които подражават на специфични търсачки, е обикновено безопасно и препоръчително. Въпреки това, не всички неверифицирани ботове са злонамерени. Някои са легитимни инструменти, които просто не подражават на краулери. Ключевото разграничение е между ботовете, които лъжат за тяхната идентичност, които трябва да бъдат блокирани, и ботовете, които честно се идентифицират, които могат да бъдат оценени по отделни.

Как често се среща подражанието на ботове на типични уебсайтове?

Преобладаването варира по размер на сайта и тип съдържание. Сайтовете с висок домейн авторитет, ценно съдържание или голям брой страниц обикновено привличат повече фалшиви краулери. Индустрийните данни предполагат, че трафикът от ботове представлява тридесет до петдесет процента от целия трафик в интернета глобално, и значителна част от този е трафик на подражаване, твърдящ, че е легитимни краулери на търсачки.

Влияе ли блокирането на фалшиви ботове на реалното индексиране на търсачки?

Не. Блокирането на базата на верификация влияе само на заявките от IP адреси, които не принадлежат на твърдяната търсачка. Реалният Googlebot, Bingbot и други легитимни краулери преминават верификацията и продължават да имат достъп до сайта нормално. Единственият効果 е върху самозванците.