ШІ-краулери все активніше сканують сайти, збираючи контент для генеративних моделей та RAG-систем. Для власників ресурсів це означає зростання навантаження, пікові запити та додаткові витрати на інфраструктуру. У статті розбираємо, чому AI-боти можуть перевантажувати сервер, як працюють zip-бомби та чи варто використовувати їх як спосіб захисту.
Деякі власники сайтів скаржаться на багато ботів, які створюють навантаження на сервери, особливо краулери для LLM (ІІ). За інформацією аналітичного звіту Fastly, краулери, скрапери та фетчери іноді створюють навантаження на сайт до 39 тис. запитів за хвилину.
У 2025 році навантаження від скраперів зросло на 87%, причому основний трафік йде від RAG -скраперов, а не для первинного навчання моделей.
Наразі ІІ-краулери генерують близько 80% всього трафіку ІІ-ботів в інтернеті. Усього 20% припадає на фетчери, але вони відповідальні за серйозні пікові навантаження. Наприклад, ClaudeBot компанії Anthropic відправив мільйон запитів за добу до сайту з технічними інструкціями iFixit.comта 3,5 млн запитів за чотири години Freelancer.com.

Серед усіх ботів одним із найнабридливіших є краулер Facebook Цей бот навіть періодично змінює user-agent (після блокування попереднього). Боти Perplexity AI помічені у виході за діапазон офіційних IP-адрес та ігноруванні директиви robots.txt.
Традиційно проти ботів використовується комбінація кількох методів, включаючи обмеження кількості запитів і капчі – завдання, складні для комп’ютерів, але тривіальні для людей, фільтрація по user-agent та інших.
Є й креативніші рішення. Наприклад, система Anubis перевіряє всі вхідні HTTP-з’єднання і змушує виконати на клієнті певну обчислювальну задачу SHA-256:
calcString := fmt.Sprintf("%s%d", challenge, nonce)
calculated := internal.SHA256sum(calcString)
if subtle.ConstantTimeCompare([]byte(response), []byte(calculated)) != 1 {
// ...
}
// compare the leading zeroes
if !strings.HasPrefix(response, strings.Repeat("0", rule.Challenge.Difficulty)) {
// ...
}
Це завдання схоже на ті, що виконують шкідливі біткоін-майнери. Самі розробники надихалися популярною антиспамерською системою Hashcash із 90-х.
Передбачається, що таким чином Anubis сильно навантажує дата-центри ІІ, звідки запускаються краулери. Якщо це не блокує їх доступ, то завдає противнику певних збитків.

Але критики такого підходу підрахували, що таке навантаження є несуттєвим, а захист до того ж легко обходиться.
Серед інших захисних варіантів – розпізнавання крауерів (фінгерпринтінг) за деякими характерними ознаками, такими як user-agent від старих браузерів або відмова приймати стислі файли, щоб уберегтися від zip-бомб.
Останнім для захисту від агресивних ІІ-краулерів стали активно використовуватися zip-бомби, які виснажують оперативну пам’ять у дата-центрі краулера. Це може бути стандартний архів розміром 10 МБ, який розпаковується в 10 ГБ:
$ dd if=/dev/zero bs=1M count=10240 | gzip -9 > 10G.gzip
Або валідний HTML:
#!/bin/fish # Base HTML echo -n '<!DOCTYPE html><html lang=en><head><meta charset=utf-8><title>Projet: Valid HTML bomb</title><meta name=fediverse:creator content=@[email protected]><link rel=canonical href=https://ache.one/bomb.html><!--' # Create a file filled with H echo -n (string repeat --count 258 'H') >/tmp/H_258 # Lots of H for i in (seq 507) # Concat H_258 with itself times cat (yes /tmp/H_258 | head --lines=81925) end cat (yes /tmp/H_258 | head --lines=81924) # End of HTML comment and body tag echo -n "--><body><p>This is a HTML valid bomb, cf. https://ache.one/articles/html_zip_bomb</p></body>"
…зі стиском 1:1030:
$ fish zip_bomb.fish | gzip -9 > bomb.html.gz $ du -sb bomb.html.gz 10180 bomb.html.gz
Звичайні краулери захищені від таких бомб, тому що сторінку з бомбою заборонено відвідувати в robots.txt.
Оскільки звичайні браузери на кшталт Chrome і Firefox теж виходять з ладу при спробі відобразити такий HTML, на нього не ставлять прямих посилань із веб-сторінок, щоб живі користувачі не зайшли туди помилково. Така сторінка доступна лише для ІІ-ботів.
На думку деяких активістів, ефективність zip-бомб вказує той факт, що розробники краулерів намагаються вберегтися через заборону на отримання zip-контенту. У свою чергу такі директиви – одна з ознак шкідливих краулерів, тобто вона корисна для фінгерпринтінгу.
Як додаткове навантаження на клієнта деякі веб-майстри пропонують такий варіант:
(echo '<html><head></head><body>' && yes "<div>") | dd bs=1M count=10240 iflag=fullblock | gzip > bomb.html.gz
Хоча такий захист завдає шкоди екології Інтернету, деякі веб-майстри все одно застосовують їх в умовах, коли роботи генерують більше 50% навантаження на сервери. Якщо старі пошукові роботи дотримуються директиви, то нові ІІ-краулери іноді поводяться деструктивніше. Наприклад, один веб-майстер показав графіки із системи аналітики, як краулер GPTBot від OpenAI витратив 30 ТБ трафіку на його тарифному плані за місяць, тобто всі його файли загальним обсягом 600 МБ були викачані приблизно 50 тис. разів:
Під час візиту краулерів навантаження на серверні CPU зростає у кілька разів:
У результаті навіть за поточну роботу ІІ-моделей платять власники сторонніх сайтів, не кажучи вже про те, що початкове навчання цих моделей відбувалося на їхньому контенті.
Неетична поведінка ІІ-краулерів, які ігнорують robots.txt, наводиться деякими веб-майстрами як виправдання для застосування деструктивних заходів захисту.
Цікаво, треба якось глибше почитать