Хакерский робот шпион маскируется под официального бота OpenAI

Анатомия access.log: 81% трафика от ИИ-ассистентов и 87% Googlebot в ваших логах — это фейк

Когда бот запрашивает страницу вашего сайта, он вежливо представляется в заголовке Request Header: ChatGPT-User, Claude-User или Googlebot. Ваш сервер послушно записывает это имя в access.log, плагин аналитики его учитывает, а вы делаете выводы о трафике. Но есть проблема: назваться в заголовке кем угодно можно абсолютно бесплатно. Это как если бы к вам в дверь постучался незнакомец в курьерской форме, которую легко купить в интернете.

Создатель сервиса CitationIQ проверил логи своего нового сайта по официальным IP-адресам ИИ-разработчиков и пришел к шокирующим выводам. Из 33 визитов «ИИ-помощников» реальными оказались только 6 (81.8% — фейк). С Googlebot ситуация еще хуже: из 799 запросов подлинными были лишь 107 (87% подделок). Фейковые боты маскировались под ИИ, но на самом деле сканировали сервер в поисках файлов .env.production, secrets.yaml и config.json.

Как проверить свои логи: мини-скрипт на Python

Крупные технологические компании публикуют официальные списки своих IP-диапазонов в JSON-файлах. Единственный способ узнать правду — сопоставить IP-адрес из вашего лога с этим списком. Имя — это лишь заявление, а IP — это юридическое доказательство.

Вот простой скрипт на Python, который проверяет подлинность бота ChatGPT-User:

import ipaddress, json, urllib.request

# Официальный список IP-адресов OpenAI
url = "https://openai.com"
data = json.loads(urllib.request.urlopen(url).read())

# Извлекаем все диапазоны адресов из файла
nets = []
def collect(node):
    if isinstance(node, dict):
        for v in node.values(): collect(v)
    elif isinstance(node, list):
        for v in node: collect(v)
    elif isinstance(node, str):
        try:
            nets.append(ipaddress.ip_network(node, strict=False))
        except ValueError: pass

collect(data)

# Запрос от ChatGPT-User реален только если его IP входит в эти диапазоны
def is_real(ip):
    addr = ipaddress.ip_address(ip)
    return any(addr in net for net in nets)

Две разные игры: Сбор данных vs Обучение модели

Важно разделять два типа ботов, которые ведут себя на вашем сервере совершенно по-разному:

  1. Retrieval (Сбор данных в реальном времени): Это боты с приставкой -User (например, ChatGPT-User). Они заходят на сайт прямо во время живой беседы пользователя с нейросетью, чтобы ИИ мог выдать актуальный ответ со ссылкой на вас. Они влияют на ваш текущий трафик.
  2. Training (Обучение моделей): Это фоновые краулеры (GPTBot, ClaudeBot). Они методично скачивают ваш контент «на будущее», чтобы заложить его в веса следующей нейросети. Этот трафик вы не увидите в обычных счетчиках, но именно он определяет, будет ли ИИ знать о вашем существовании завтра без повторного посещения сайта.

Загадочные случаи: CCBot и Gemini

Особое внимание стоит уделить двум крупным игрокам, логи которых невозможно проверить стандартным способом:

  • CCBot (Common Crawl): Это главный открытый массив данных, на котором обучается большинство мировых ИИ. Его боты часто не попадают в опубликованные IP-диапазоны. Чтобы поймать фейк, используйте Reverse DNS (подлинный CCBot всегда разрешается в хост commoncrawl.org) или проверяйте ручным WHOIS-запросом (фейки часто сидят на дешевых хостингах в Европе).
  • Gemini (Google): Вы никогда не найдете бота с именем Gemini в своих логах. Google принципиально не использует отдельного краулера. Все данные собирает стандартный Googlebot, а запрет на обучение Gemini регулируется скрытым токеном Google-Extended в вашем файле robots.txt. Вы можете подтвердить только подлинность самого Googlebot, всё остальное скрыто под завесой «(not provided)».

Если вы еще не знаете, из каких элементов состоит базовая строчка лога и что означают коды ответов сервера, сначала прочитайте наше подробное руководство Анатомия access.log: как распознать ботов и атаки.

Резюме для вебмастера: Прямо сегодня скачайте свежий access.log вашего сервера, выгрузите IP-адреса и проверьте их по официальным базам. Вы удивитесь, как много хакерских сканеров маскируются под дружелюбных роботов.

Прокрутить вверх