Некоторые владельцы сайтов жалуются на большое количество ботов, которые создают нагрузку на серверы, особенно краулеры для LLM (ИИ). По информации аналитического отчёта Fastly, краулеры, скраперы и фетчеры иногда создают нагрузку на сайт до 39 тыс. запросов в минуту.

В 2025 году нагрузка от скраперов выросла на 87%, причём основной трафик идёт от RAG-скраперов, а не для первичного обучения моделей.


Сейчас ИИ-краулеры генерируют около 80% всего трафика ИИ-ботов в интернете. Всего 20% приходится на фетчеры, но они ответственны за серьёзные пиковые нагрузки. Например, ClaudeBot компании Anthropic отправил миллион запросов за сутки к сайту с техническими инструкциями iFixit.com и 3,5 млн запросов за четыре часа к Freelancer.com.

Изменение объёма запросов от ведущих ИИ-краулеров. Источник: отчёт Fastly
Изменение объёма запросов от ведущих ИИ-краулеров. Источник: отчёт Fastly

Среди всех ботов одним из самых назойливых является краулер 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 сильно нагружает дата-центры ИИ, откуда запускаются краулеры. Если это и не блокирует их доступ, то наносит противнику определённый ущерб.

У проекта Anubis 13 тыс. звёзд на Github, что косвенно указывает на количество сайтов под его защитой
У проекта Anubis 13 тыс. звёзд на Github, что косвенно указывает на количество сайтов под его защитой

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

Среди других защитных вариантов — распознавание крауеров (фингерпринтинг) по некоторым характерным признакам, таким как user-agent от старых браузеров или отказ принимать сжатые файлы, чтобы уберечься от zip-бомб.

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=@ache@mastodon.xyz><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, приводится некоторыми веб-мастерами как оправдание для применения деструктивных мер защиты.

Комментарии (10)