TrafficVeil
Боты 6 мин25 августа 2026 г.

OpenCode в логах: почему UA видит не весь трафик

OpenCode — открытый AI-агент для разработчиков, чей инструмент WebFetch запрашивает страницы по конкретной задаче, а не по расписанию, и при этом иногда маскируется под обычный браузер. Разбираем, как это меняет подход к обнаружению, verification и настройке allow, rate-limit или блокировки через TrafficVeil.

TV
TrafficVeil Team
Эксперты по защите веб-трафика
Содержание статьи
  1. Что такое OpenCode на самом деле
  2. Зачем OpenCode приходит на сайт
  3. Нагрузка и риски именно для OpenCode
  4. Как найти OpenCode в логах
  5. robots.txt для OpenCode
  6. Блокировка вручную и через TrafficVeil
  7. Nginx
  8. Apache (.htaccess)
  9. TrafficVeil
  10. С кем не путать OpenCode
  11. Стратегия allow/deny для OpenCode
DDoS L7

DDoS атака что это простыми словами и как защитить сайт

Разобрали виды атак, признаки DDoS, последствия, уровни защиты, L7 DDoS и схему подключения TrafficVeil через DNS/reverse proxy.

Читать про DDoS

Энциклопедия ботов TrafficVeil

618 ботов с описаниями, паттернами User-Agent и фильтром по категориям — открытый справочник для аудита логов и настройки защиты.

Открыть справочник

Токен opencode в access.log — не типичный анонимный скрапер, который методично вычитывает сайт по расписанию. За этим именем стоит реальный опенсорсный AI-агент для разработчиков, который умеет запрашивать веб-страницы в рамках конкретной задачи по коду — и, что важно, далеко не всегда честно представляется в заголовке запроса. В каталоге TrafficVeil бот помечен как нежелательный — но прежде чем полагаться только на UA для решения allow/deny, стоит понимать эту специфику.

Что такое OpenCode на самом деле

OpenCode — open-source AI-агент для разработки, предназначенный для задач с кодом, репозиториями и рабочими процессами разработчика — по своему классу это аналог инструментов вроде Claude Code или Cursor. У агента есть встроенный инструмент WebFetch, который умеет забирать содержимое веб-страниц в процессе выполнения задачи — например, чтобы свериться с документацией API или проверить актуальность какого-то технического факта, о котором его попросил разработчик.

Здесь есть важная оговорка, зафиксированная в открытом баг-трекере самого проекта: по умолчанию инструмент WebFetch отправляет полноценную строку User-Agent обычного Chrome-браузера на Windows, а не честно идентифицирует себя как агента — в отличие, например, от ChatGPT-User у OpenAI, который прямо называет себя в заголовке. Это значит, что часть реального трафика OpenCode в принципе не попадёт в лог с узнаваемым токеном opencode и будет неотличима от обычного браузерного визита по UA.

Параметр Значение
Название OpenCode
User-Agent / паттерн opencode (только для случаев, когда агент себя идентифицирует; часть трафика может маскироваться под обычный Chrome-браузер)
Оператор Open-source проект OpenCode; не привязан к одной коммерческой компании — используется независимыми разработчиками
Роль Инструмент WebFetch забирает страницы по запросу конкретного разработчика в рамках его задачи с кодом — реактивный fetch, а не системный обход по расписанию
Документация / ориентир Открытый репозиторий проекта на GitHub; отдельной страницы про поведение бота для веб-мастеров не публикуется
Список IP ❌ Публичного списка IP нет — трафик идёт с машин отдельных разработчиков, а не из единой инфраструктуры оператора
robots.txt Поведение зависит от версии и настроек конкретного разработчика; гарантий соблюдения нет
Пометка TrafficVeil Нежелательный / Прочие краулеры и сервисы

Зачем OpenCode приходит на сайт

В отличие от систематических краулеров, которые методично проходят по каталогу, OpenCode обращается к конкретному URL потому, что какой-то разработчик в моменте попросил своего AI-агента свериться с этой страницей — например, прочитать документацию, проверить факт для статьи или технической заметки. Это делает трафик скорее единичным и непредсказуемым по времени, чем регулярным фоновым обходом.

Практическое следствие для владельца сайта: если контент страницы важен для разработчиков как справочный материал (документация, технические гайды), такие визиты — это, по сути, разовое использование сайта как источника информации в конкретной рабочей задаче, а не попытка собрать данные впрок.

Нагрузка и риски именно для OpenCode

Отдельной строки в публичной сводке топ-ботов TrafficVeil у opencode может не быть, но стоит учитывать саму природу трафика: раз запросы идут с машин отдельных разработчиков, а не из единой инфраструктуры, классические метрики вроде «повторяемый path-паттерн» или «стабильные интервалы» здесь работают слабее, чем для системных краулеров. Смотрите не столько на объём, сколько на контекст:

  • единичность запроса — один-два URL за раз, а не систематический проход по разделам;
  • отсутствие cookie и признаков полноценной сессии — как и у любого автоматизированного fetcher-а;
  • то, что часть похожего трафика может вообще не нести токен opencode из-за маскировки под браузер — это стоит держать в уме при интерпретации общей картины по логам.

Как найти OpenCode в логах

Ищите конкретный токен opencode, но помните: он покажет только ту часть трафика, где агент честно представился.

# Базовый поиск
grep -i "opencode" /var/log/nginx/access.log

# Топ URL, которые вычитывает бот
grep -i "opencode" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head

# Топ IP за этим UA
grep -i "opencode" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head

# Суточная активность
grep -i "opencode" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c

Верификация здесь особенно ограничена: поскольку трафик идёт не из единой инфраструктуры оператора, а с множества разных машин разработчиков, связка UA + ASN малоинформативна сама по себе — IP будут разбросаны по случайным провайдерам и датацентрам без единого паттерна.

IP="1.2.3.4"
whois -h whois.cymru.com " -v $IP"
dig +short -x "$IP"

robots.txt для OpenCode

# Жёсткий запрет
User-agent: opencode
Disallow: /

# Разрешить всё
User-agent: opencode
Allow: /

# Компромисс: закрыть деньги/кабинет, оставить публичную часть
User-agent: opencode
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /api/
Allow: /

Важно понимать ограничение: даже жёсткий Disallow остановит только ту часть трафика, где агент прислал честный UA. Часть запросов, замаскированных под обычный браузер, robots.txt в принципе не увидит и не сможет ограничить — единственный надёжный рубеж для них в этом случае на уровне сервера или через TrafficVeil, да и то по поведенческим признакам, а не по UA.

Блокировка вручную и через TrafficVeil

Nginx

if ($http_user_agent ~* "opencode") {
    return 403;
}

limit_req_zone $binary_remote_addr zone=opencode:10m rate=10r/m;
location / {
    if ($http_user_agent ~* "opencode") {
        limit_req zone=opencode burst=20 nodelay;
    }
}

Apache (.htaccess)

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} opencode [NC]
RewriteRule ^ - [F,L]

TrafficVeil

  • найдите opencode / OpenCode в ботах домена или в /system/bots;
  • для нежелательного сценария — категория «запретить»; для мягкого — rate-limit;
  • allow оставляйте, только если для вас важно, чтобы разработчики через AI-агентов могли свободно обращаться к вашей публичной документации или контенту;
  • после изменения сверьте логи: хиты с токеном OpenCode должны уйти в блок/лимит, а нужные поисковики остаться нетронутыми — учитывая, что часть похожего трафика правило всё равно не увидит.

С кем не путать OpenCode

Бот / сосед Кластер UA Комментарий
360Spider Прочие краулеры и сервисы 360spider нежелательный
A360-Search Прочие краулеры и сервисы a360-search нежелательный
AASA-Bot Прочие краулеры и сервисы aasa-bot нежелательный
ABEvalBot Прочие краулеры и сервисы abevalbot нежелательный
ActiveComply Прочие краулеры и сервисы activecomply нежелательный

Стратегия allow/deny для OpenCode

Ситуация Действие
Важно, чтобы разработчики через AI-агентов могли обращаться к документации сайта Allow + закрыть /admin /cart /api
Единичные fetch-запросы нежелательны в принципе Disallow + запрет в TrafficVeil, с пониманием, что часть трафика правило не увидит
Нагрузка от честно идентифицированных запросов раздражает Rate-limit на nginx/TrafficVeil
Нежелательный по базе TrafficVeil Deny по умолчанию, исключения — точечно
Подозрение, что похожий трафик маскируется под браузер Полагаться на поведенческие признаки (единичность запроса, отсутствие сессии), а не только на UA

Главное, что стоит помнить про OpenCode: это не масштабный автоматический краулер, а инструмент отдельных разработчиков для точечных задач — и решение allow/deny здесь стоит принимать с поправкой на то, что UA-фильтр в принципе не видит всю картину целиком.

Частые вопросы

Действительно ли OpenCode обходит сайт по расписанию из очереди задач?

Нет — по факту это точечные запросы к конкретному URL, которые инициирует разработчик в рамках своей текущей задачи с кодом, а не системный обход по расписанию.

Почему токен opencode в логах показывает не весь реальный трафик этого агента?

Потому что известна проблема, зафиксированная в открытом баг-трекере проекта: инструмент WebFetch по умолчанию может отправлять UA обычного Chrome-браузера вместо честной идентификации себя как агента.

Можно ли полагаться на IP или ASN для верификации запросов OpenCode?

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

Остановит ли Disallow в robots.txt весь трафик OpenCode?

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

Стоит ли ожидать от OpenCode системной нагрузки на сервер, как от классических краулеров?

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

Что важнее учитывать при настройке правил для OpenCode: UA или поведение запроса?

Поведение — единичность обращения и отсутствие сессии значат больше, чем сама строка UA, которая в принципе видит не весь реальный трафик этого агента.

#OpenCode#AI-агенты#боты на сайте#WebFetch#robots.txt#защита от ботов#TrafficVeil
TV
TrafficVeil Team

Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак.

Похожие статьи

Podimo: европейский бот, которому нужен подкаст-фид

Podimo — реальный сервис подписки на подкасты, чей бот узко специализирован на чтении RSS-фидов, а не сайтов в целом. Разбираем, почему визит нетипичен без подкаст-контента, как найти бота в логах и настроить allow, rate-limit или блокировку.

5 мин

panscient.com: вежливый бот с коммерческой целью

panscient.com — реальная компания бизнес-разведки, которая собирает и перепродаёт корпоративные данные с сайтов, но при этом технически аккуратно соблюдает robots.txt и лимит запросов. Разбираем, почему проблема здесь не в нагрузке, а в согласии на использование данных, и как настроить блокировку через robots.txt и TrafficVeil.

6 мин

TweetmemeBot: бот, переживший свой первоначальный сервис

TweetmemeBot начинал в 2009 году как краулер сервиса TweetMeme, но сегодня по данным современных каталогов ботов ассоциируется с Meltwater — платформой медиа-мониторинга для бизнеса. Разбираем историю смены владельцев, отсутствие механизма верификации и настройку allow, rate-limit или блокировки через TrafficVeil.

6 мин

Проверьте защиту своего сайта

Подключение занимает несколько минут. Начните с анализа трафика и включайте блокировки после проверки логов.

OpenCode: AI-агент разработчика, а не системный краулер