Назад к блогу

Вас не забанили — вам скормили мусор: тарпиты и отравленные страницы в 2026

HTTP 200 больше не значит «данные собраны». Nepenthes, Iocaine и Cloudflare AI Labyrinth кормят краулеры бесконечным сгенерированным текстом, а отравленные страницы заставляют ИИ-агентов рекомендовать несуществующие бренды в 27–73,8% случаев. Разбираем три механики тихой порчи данных и семь проверок, которые ловят мусор до записи в базу.

📅13 сентября 2026 г.
Вас не забанили — вам скормили мусор: тарпиты и отравленные страницы в 2026

Парсер работает. HTTP 200 идут сплошным потоком, прокси живые, капча не всплывает, очередь ссылок растёт. А через неделю выясняется, что половина собранных цен — вымысел, а гигабайты трафика ушли на страницы, которых в реальном сайте не существует. Это не поломка парсера и не плохой пул IP. Это новый режим защиты: сайт вас не блокирует, сайт вас кормит.

За полтора года индустрия анти-бот защиты тихо сменила цель. Блокировка — дорогая и заметная мера: скрапер видит 403, чинит отпечаток, меняет подсеть и возвращается. Гораздо выгоднее не мешать ему работать, а сделать его работу бессмысленной. Ниже — три механики, которые уже работают в проде у миллионов сайтов, и набор проверок, которые ловят их на вашей стороне.

Механика первая: тарпит вместо блока

Тарпит (tarpit, «смоляная яма») — это генератор бесконечного сайта. Краулер получает валидную HTML-страницу с десятками ссылок, каждая ссылка ведёт на такую же сгенерированную страницу, и очередь обхода никогда не пустеет.

Самый известный открытый инструмент — Nepenthes. Его настройки хорошо показывают замысел: по умолчанию сервер держит ответ от 10 до 65 секунд, отдаёт текст «марковской болтовнёй», сгенерированной из корпуса, и делает это детерминированно — один и тот же URL всегда возвращает один и тот же мусор, чтобы страницы выглядели обычными статическими файлами, а не ловушкой. Данные отдаются мелкими порциями, «по несколько байт», чтобы выжечь таймауты клиента. Автор приводит замер за один час работы: 1850 разных клиентов, 10 015 запросов и 56 020 секунд суммарной задержки — около пятнадцати часов чужого машинного времени, потраченного впустую.

Iocaine устроен иначе: он работает как обратный прокси перед настоящим сайтом, при первом же перехвате выдаёт боту уникальную «отравленную» ссылку и по ней опознаёт его при возвращении, а текст генерирует марковскими цепями — расчёт на то, что этот текст попадёт в обучающую выборку.

У Cloudflare тот же приём стал продуктом — AI Labyrinth, представленный в марте 2025 года. Страницы-приманки не генерируются на лету: используется конвейер предгенерации на Workers AI, результат хранится в R2 и раздаётся быстро. Ссылки на лабиринт вшиваются в обычные страницы через HTML-трансформацию, а на самих приманках стоят мета-директивы против индексации, чтобы не пострадала выдача. Главное здесь — не потраченное время бота, а сигнал: по ссылкам, скрытым от человека и помеченным nofollow, ходит только автомат, и переход на три уровня вглубь такого лабиринта сам по себе становится отпечатком плохого бота. Масштаб проблемы, ради которой это делалось, Cloudflare оценивает в более 50 миллиардов запросов от ИИ-краулеров в сутки — чуть менее 1% всего трафика сети.

Как тарпит выглядит в ваших логах

Характерная картина: очередь на несколько тысяч URL, которая только растёт, время ответа стабильно держится в районе полутора секунд и выше, HTTP-коды — сплошные 200, а количество извлечённых полезных записей равно нулю. Ни одного 403, ни одной капчи, и никакого выхода: сколько бы страниц ни было обойдено, новые ссылки появляются быстрее, чем закрываются старые.

Механика вторая: отравленный контент для ИИ-агентов

Если первая механика жжёт ресурсы, вторая бьёт по результату. Исследователи Minghao Luo и Liang Chen в июне 2026 года опубликовали работу с симулятором FORGE (Fake Online Recommendations in Generative Environments): они проверили 12 крупных языковых моделей на 225 товарах в 15 категориях — от одежды до электроники. Механика атаки простая: в тексте страницы реальный бренд подменяется вымышленным.

Результат — одна подделанная страница даёт до 27% случаев, когда ассистент рекомендует несуществующий бренд, а подмена всех трёх верхних результатов выдачи поднимает эту долю до 73,8%. Модели не просто повторяли фальшивое название — они сочиняли под него достоинства, включая якобы популярность в сообществах. Три предложенные защиты (промпт на скепсис, консенсус по внутренним знаниям модели, сверка между документами) либо не сработали, либо создали новые проблемы. Вывод авторов: проверять нужно выше по потоку — на этапе сбора, а не на этапе рассуждения.

Третья механика замыкает картину. В работе «A Whole New World: Creating a Parallel-Poisoned Web Only AI-Agents Can See» (Shaked Zychlinski) описан клоакинг, нацеленный именно на ИИ-агентов: сайт распознаёт агента по атрибутам браузера, сигнатурам фреймворка автоматизации и сетевым характеристикам и отдаёт ему другую версию страницы — со скрытыми инструкциями и подменёнными фактами. Человек, открывший тот же URL, видит нормальную страницу, поэтому ручная проверка «я зашёл, всё в порядке» ничего не доказывает.

Почему это в первую очередь вопрос бюджета

Тарпит устроен так, чтобы каждая страница была дешёвой для сайта и дорогой для вас. Когда трафик оплачивается по гигабайтам, генератор бесконечных страниц превращается в счётчик ваших расходов: вы платите за мегабайты марковского текста, который никогда не станет строкой в базе. Ровно та же арифметика, что и с неудачными запросами — цена за гигабайт ничего не говорит о стоимости результата, пока вы не считаете стоимость одной успешной записи, а не запроса.

Отсюда первое практическое правило: лимит трафика должен стоять на уровне домена и задачи, а не только на уровне аккаунта. Домен, который съел больше гигабайта и не отдал ни одной записи, нужно останавливать автоматически — без этого одна ловушка способна выесть дневной бюджет за ночь.

Семь проверок, которые ловят мусор

  1. Считайте yield, а не коды ответов. Главная метрика конвейера — доля запросов, давших валидную запись с заполненными обязательными полями. Пока вы смотрите на долю 200-х, тарпит выглядит как идеально здоровый источник.
  2. Канареечный URL. Раз в N запросов запрашивайте заведомо несуществующий адрес внутри домена — со случайным сегментом пути. Нормальный сайт ответит 404 или редиректом, генератор отдаст полноценную страницу с текстом и ссылками. Это самая дешёвая и самая надёжная проверка.
  3. Кросс-валидация с другого IP-профиля. Берите один и тот же URL двумя разными маршрутами — например, через резидентный IP и через мобильный — и сравнивайте хэш ключевых полей: цены, названия, наличия. Расхождение при одинаковом URL и близком времени запроса означает, что вам показывают разные версии страницы, и как минимум одна из них предназначена не людям.
  4. Не ходите по невидимым ссылкам. Ссылки с nofollow, нулевыми размерами, display:none или вынесенные за пределы экрана — это приманка, и переход по ним и есть тот самый отпечаток бота. Фильтруйте их на этапе извлечения ссылок, а не после.
  5. Жёсткие потолки на ответ. Ограничивайте не только таймаут, но и максимальный размер тела и максимальную глубину обхода от точки входа. Медленная отдача мелкими чанками — типовой признак ямы, а не медленного сервера.
  6. Ищите шаблонность текста. Марковская генерация выдаёт себя статистикой: подозрительно ровная длина абзацев, повторяющиеся n-граммы между «разными» страницами, десятки исходящих ссылок при отсутствии структурных элементов вроде цены, артикула или даты. Простая проверка на повторяющиеся шинглы между соседними страницами домена отсекает такие источники пачкой.
  7. Проверяйте цифры на здравый смысл. Цена вне исторического коридора, товар без единого совпадения в вашей же базе брендов, внезапный скачок ассортимента — это правила валидации, которые должны стоять до записи в базу, а не в отчёте через месяц. Особенно если данные потом попадают в модель или в автоматическое решение о закупке.

Что делать с уже собранным массивом

Если подозрение возникло задним числом, сортируйте не по датам, а по источникам. Сгруппируйте записи по домену и посмотрите на три величины: долю страниц без обязательных полей, среднее число исходящих ссылок на странице и разброс длины текста. Домены-ловушки обычно выделяются сразу по всем трём. Затем выборочно перепроверьте спорные URL с другого IP-профиля — если данные не совпали, весь массив с этого домена нужно пересобирать, а не чинить фильтрами.

Отдельно стоит пересмотреть правила для агентных сценариев, где модель сама ходит по страницам и сама принимает решение. Именно там подмена одной страницы даёт максимальный эффект, а промежуточного человека, который заметил бы странность, в цепочке нет. Минимальная страховка — требовать подтверждения факта из двух независимых источников и не позволять агенту действовать по данным, полученным с единственного домена.

Коротко

Боты давно обогнали людей по доле трафика, и защита ответила не только фильтрами: сегодня дешевле скормить автомату правдоподобный мусор, чем спорить с ним блокировками. Практических следствий три. Считайте полезные записи, а не статусы ответов. Держите канареечные проверки и лимиты трафика на каждый домен. Сверяйте спорные страницы с разных IP-профилей — расхождение версий одной и той же страницы и есть доказательство, что вам показывают отдельный, приготовленный специально для ботов интернет. Прокси в этой схеме решают только одну задачу — дают независимый второй взгляд на страницу; всё остальное делает валидация на вашей стороне.