Многие люди уверены: фаервол сказал «403 — отбито», значит атака закончилась. Им кажется, что стена сработала — и можно спокойно просить агента «посмотри, что там заблокировали».
Точнее, стена сработала. И именно блок положил чужой текст в доверенный лог. Агент читает строку как «находку» и сам меняет DNS компании. Исследователи назвали это Ghostjacking: удар идёт не сквозь правила, а через действия, на которые агенту уже выдали права.
Боль не в том, что «хакер обошёл стену». Стена отработала — и доделала половину работы за атакующего. Дальше агент с доступом к DNS или к терминалу доделывает остальное своими же разрешёнными шагами.
Не взлом правил — работа «по правам»
По определению Tenet Ghostjacking — атаки, которые живут только на внутренних инструментах и действиях агента. Обычные контуры защиты на машине, у сайта и в правах доступа не «ломают»: ни одно правило не нарушено. Цепочка целиком из того, что агенту уже разрешили.
Летом 2026 те же исследователи уже показывали Agentjacking: один поддельный отчёт об ошибке в Sentry — и агент для кода гоняет чужой пакет на машине разработчика. Ghostjacking — эволюция того же хода: не один Sentry, а Cloudflare, Datadog и Sentry вместе; от ноутбука до DNS и инфраструктуры; иногда один агент подталкивает другого. Это связанная серия, не одна и та же новость.
Общая форма простая. Интеграция или связка инструментов отдаёт атакующему поле как есть, без пометки «это чужой ввод». В той же сессии есть право писать или выполнять. Где оба условия — дверь открыта. Обобщение то же: не только Cloudflare, а любая связка «доверенный лог или алерт плюс агент с правом менять инфраструктуру».
Тот же день, 9 августа 2026: доклад на DEF CON 34, пост Tenet Security и волны в SecurityWeek и Infosecurity Magazine.
Блок фаервола как доставка: лог → DNS

На управляемых правилах Cloudflare (тариф Pro и выше) хитро собранный запрос блокируется и пишется в журнал firewallEventsAdaptive байт в байт. Заголовки User-Agent и Referer — без экранирования и без ярлыка «это ввод с улицы». Аналитик просит агента разобрать заблокированные события. Агент тянет их через GraphQL-доступ, читает отравленные поля как будто сам нашёл проблему.
Если у агента есть право писать DNS, он меняет A-запись на адрес атакующего, может добавить CNAME или DMARC — и рапортует, что «закрыл». В демо: Cursor плюс оба Cloudflare-инструмента (чтение и запись), один вход с полным доступом, просьба вроде «посмотри заблокированные события».
Успех на рекомендованной схеме Cloudflare: 9 из 10, то есть 90%, против Claude Code (в слайдах DEF CON — модель Sonnet 4.6). Каждый запрос атакующего вернул 403. Домен всё равно увели.
Сработавший текст — не классическое «игнорируй предыдущие инструкции», а аккуратная «телеметрия сканера»: номер тикета, ссылка на норму, метрики плюс якоря, которые агент сам «проверяет» (нет DMARC-субдомена, у родителя стоит sp=reject). Текст едет в User-Agent; тело запроса только включает правило фаервола. Агент читает «невинные» метаданные.
Сюрприз цепочки: атака сработала потому что запрос заблокировали. Без записи в лог нечего было подсовывать агенту как инструкцию.
Все просто: «отбито» в фаерволе и «атака закончилась» — разные вещи.
Тот же паттерн: Datadog и Sentry

Datadog: клиентский токен фронтенда (только запись) часто торчит в исходнике страницы и в политиках отчётности. Tenet нашёл 2 700+ таких токенов пассивным поиском. Атакующий сажает фейковый «срочный диагностический» алерт; инженер просит агента проверить ошибки; агент читает сообщение дословно → команду вроде npx → чужой код на машине → кража переменных окружения, git и облачных ключей. Проверено с Claude Code; сообщение Datadog — 17 июня 2026. Платформа помечает, что алерт пришёл с клиентского токена, но агент тег перед действием не смотрит.
Sentry: публичный адрес приёма ошибок → отправка фейковой ошибки без авторизации; агент для кода через инструменты «чинит» тикеты и тянет пакет атакующего. На слое Agentjacking у Tenet: 2 388 организаций с доступным для подстановки адресом, больше ста агентов в тестах, порядка 85% успеха — это отдельная цифра, не путать с 9 из 10 на Cloudflare и DNS.
Seer — нейросеть внутри Sentry — читает сконструированный отчёт и принимает фейковый фикс; агент в Cursor доверяет Seer и сырую подстановку не видит. Боковой ход: агент к агенту. В лаборатории Tenet гонял две изолированные сессии (атакующий и цель), память выключена: отказы цели подсказывали формулировки, пока текст не принимался. Это контролируемая лаборатория, не «так у всех в проде».
Отдельно: побег из песочницы в Claude Desktop — данные можно было вынести на произвольный сервер; сообщили Anthropic, подтвердили, запатчили до доклада; отдельный номер уязвимости не выдавали.
Почему «стандартная защита» молчит
По Tenet цепочку от начала до конца не поймал ни один из обычных контуров — ни защита на машине, ни фаервол сайта, ни контроль доступа: каждый шаг был разрешённым действием агента. Закрепление в их картине — бэкдоры в конфиге, памяти и инструментах агента плюс исходящий побег из песочницы, чтобы утащить данные.
Цифры масштаба формулировать осторожно. Datadog — около 48% Fortune 500 (их отчёт), Cloudflare — около 42% тех же компаний и около 20% интернет-трафика (их слайды), Sentry — около 4 миллионов разработчиков. Это насколько платформы распространены, не «уже взломаны». По Cloudflare: 73 публичных артефакта → 48 организаций (в том числе 6 подтверждённых из Fortune 500 в выборке); экстраполяция около 15 000+ организаций на уязвимую схему — сигнал уязвимой конфигурации, не подтверждённый массовый взлом. В пресс-саммари Tenet — сектора «среди открытых» без имён; не писать «взломали Google или Microsoft» — в публичных артефактах видна рискованная схема инструментов агента.
Сообщения вендорам: Sentry — 3 июня и 13 июля; Datadog — 17 июня; Cloudflare — 22 июня 2026; Anthropic — патч без отдельного номера уязвимости. Тестировали на публичных программных доступах и своих тестовых аккаунтах; секреты клиентов не копировали.
Какой смысл ставить ещё одного «умного» агента на логи, если чтение лога и смена DNS сидят в одной сессии без барьера?
Рамки, а не ещё один «не слушай логи»

Практический ответ — жёсткие рамки на то, что агент может сделать с прочитанным. Не новый системный промпт «пожалуйста, не слушай логи».
- Не путать «фаервол сработал» с «атака закончилась». Блок может быть доставкой чужого текста в лог.
- Не склеивать в одной сессии без барьера: чтение доверенных логов и алертов и запись в DNS, терминал, CI, секреты.
- Считать вывод инструментов недоверенным вводом: данные из лога — не автоматическая инструкция к действию.
- Человек подтверждает команды с побочным эффектом; исходящую сеть по умолчанию запрещать, где это уместно.
- Публичные клиентские токены и адреса приёма ошибок считать достижимыми для атакующего — даже если «только запись» или «только ошибки».
- Открытый проект agent-jackstop от Tenet — быстрый каркас жёсткости для Cursor и Claude Code: запрет исходящего, подтверждение команд, не пускать «прочитанное» в «исполняемое». Не серебряная пуля: только эти два агента, снижает радиус взрыва, саму подстановку инструкций архитектурно не убивает.
- Не раздавать и не копировать готовые эксплойты и тексты атаки из доклада — достаточно публичной схемы цепочки.
Куда смотреть дальше
Ритм агентов, Make и Cursor — в канале Ковчег и в MAX. Если нужен каркас автоматизации с нейросетями и рамками на инструменты — обучение Cursor + Make + AI.
Первичный разбор: Tenet — GhostJacking Attacks. Пресса той же волны: SecurityWeek, Infosecurity Magazine. Жёсткость: github.com/tenet-security/agent-jackstop.