Назад в ленту

GhostJacking: атака на AI-агентов через отравленные логи угрожает DNS-безопасности

Как заблокированный запрос в Cloudflare превращается в инструкцию для ИИ-агента — и переписывает DNS компании без ведома админов

GhostJacking: атака на AI-агентов через отравленные логи угрожает DNS-безопасности

Агент безопасности прочитал лог Cloudflare, нашел внутри промпт-инъекцию атакующего и переписал DNS компании. Файрвол уже заблокировал эту нагрузку — и именно блокировка записала её в лог.

Эта цепочка получила название GhostJacking, и Tenet Security продемонстрировала её на главной сцене DEF CON 34 9 августа. Запрос попадает в управляемый набор правил Cloudflare, блокируется и сохраняется байт в байт вместе с отравленным заголовком User-Agent. ИИ-агент для написания кода, просматривающий эти заблокированные события, читает текст атакующего как инструкцию — без возможности отличить её от той, что компания собиралась дать сама, — и выполняет её с помощью учетных данных, выданных месяцами ранее. В тестах Tenet, Claude Code на Sonnet 4.6 следовал внедренной инструкции в девяти из десяти попыток при рекомендованной конфигурации Cloudflare.

Доля блокировок — не граница

Ничего не сломалось. Файрвол работал, а каждый последующий вызов имел действительные учетные данные, уже выданные агенту. Система обнаружения конечных точек, межсетевой экран и управление идентификацией молчали, потому что ни одно правило не было нарушено.

Tenet обнаружила публичные свидетельства такой уязвимой конфигурации у 48 организаций, включая шесть подтвержденных компаний из списка Fortune 500. SecurityWeek сообщила о той же цепочке атак против Datadog и Sentry, где поверхностью инъекции служат алерты и отчеты об ошибках. Ни один единичный патч платформы не устраняет архитектурный риск: агент, потребляющий данные, доступные атакующему, и способный самостоятельно выполнять изменения с высоким воздействием. Именно поэтому высокий процент блокировки промпт-инъекций не может считаться защитной границей.

Соруководитель OWASP называет решение

«Первое, что я бы сделал, — поставил шлюз авторизации за пределами модели», — заявил Стив Уилсон, директор по AI и продуктам в Exabeam и соруководитель проекта OWASP Top 10 for LLM Applications, в письменных ответах VentureBeat. «Агент может предложить точное изменение DNS, но не может сам себе выдать разрешение на его выполнение».

Этот шаг переносит решение в код, который либо пропускает, либо отклоняет действие. Безопасное изменение, четко определенное, проходит детерминированную проверку политики и остается автономным. Любое неоднозначное или с большим радиусом поражения действие направляется конкретному человеку, который утверждает фактическое изменение.

«Компромисс в том, что агент теряет способность самостоятельно импровизировать произвольные изменения инфраструктуры с высоким воздействием, сохраняя автономное расследование и рутинное ограниченное восстановление», — написал Уилсон. О командах, которые пытаются решить эту проблему внутри промпта, Уилсон высказывается прямо: «Мы должны помнить, что правила безопасности, написанные в промптах, могут формировать поведение модели, но это всего лишь предложения для модели, а не обязательные к исполнению защитные механизмы».

Заблокированная нагрузка стала инструкцией

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

Механизм специфичен. SC Media сообщила, что агентом, которым Tenet управляла вживую в Cloudflare, был Cursor, читающий через интеграцию GraphQL и пишущий через Cloudflare API, и именно эта связка замыкает цепочку. Tenet протестировала её не только на одном агенте. Cursor использовался в демонстрации, а цифра «девять из десяти» появилась в результате отдельных тестов той же атаки против Claude Code. Cursor поглощает отравленный заголовок, изменяет A-запись DNS и добавляет CNAME, чтобы «разрешить» внедренную находку, давая атакующему путь для перенаправления веб-трафика и почты компании.

Вывод одного агента стал входом следующего

События попадают в Sentry через публичный эндпоинт, доступный только для записи, без аутентификации, по дизайну. Tenet использовала утекший идентификатор, чтобы опубликовать сфабрикованный отчет об ошибке. По обычному триажному промпту кодинг-агент передал его собственному ИИ Sentry, Seer, а затем доверился полученному анализу. Seer уже впитал предложенное атакующим исправление и выдал его как свой вывод. До кодинг-агента дошла рекомендация от другого ИИ, и он её выполнил.

Это прошло прямо сквозь контроль, который Sentry уже был написан. Инструкции Sentry предписывают агентам, читающим данные событий, никогда не следовать указаниям, найденным там, и кодинг-агент соблюдал букву этого правила. Он действовал на основе вывода Seer, а этот вывод принадлежал атакующему. Граница авторизации, которая принимает вывод другой модели, наследует все инъекции, поглощенные этой моделью, поэтому шлюз Уилсона нужен и между агентами.

OWASP поднял чрезмерную автономию с шестого на третье место

Опубликованный 4 августа список OWASP Top 10 for LLM Applications за 2026 год поднял «Чрезмерную автономию» на три позиции в рейтинге, сочетающем 75% голосов практиков с 25% данных об инцидентах из 6639 задокументированных случаев. Это был самый значительный подъем в списке, вызванный реальными инцидентами, сконцентрированными в агентных развертываниях.

Решение — не улучшенный промптинг, а карта разрешений: какие действия предварительно одобрены, а какие требуют человека. Чтение логов, корреляция алертов и составление таймлайнов остаются автономными. Ограниченное восстановление, например перезапуск конкретного сервиса в заданных условиях, проходит проверку политики за пределами модели. Любое изменение DNS, изменение привилегий идентификации, развертывание кода или перенаправление производственного трафика требует конкретного человека, а если позволить агенту открывать новые пути доступа или одобрять собственные предложения — весь смысл шлюза теряется. Полезная автономия переживает это. А вот путь от текста атакующего к непроверенным производственным полномочиям — умирает.

Во что обходится такой контроль на практике

Сооснователь и генеральный директор Tenet Барак Штернберг рассказал Dark Reading, что входом стал запрос, который файрвол уже заблокировал, и что файрвол никогда не падал — он просто перестал иметь значение. Его собственное решение — разделить то, что агент может читать, и то, что он может выполнять. Он признает цену, потому что агент, который читает алерты, но не может на них реагировать, — это не тот агент, которого все развертывали. Более дешевый первый шаг — инвентаризация. Каждый агент, который читает внешние данные и может также писать или выполнять, должен быть внесен в реестр рисков, и для этого реестра не нужно новых инструментов.

Дизайн Уилсона переживает эту цену, потому что разделение проходит между предложением и утверждением, а не между чтением и записью. Агент по-прежнему читает свои алерты, расследует и выполняет ограниченную работу. Он теряет способность придумать изменение с высоким воздействием и выполнить его самостоятельно.

Почти никто этого не построил. Кейн Макглэдри, старший член IEEE, годами утверждает, что развертывание ИИ требует жесткого порога управления, конкретного человека с аварийным рубильником и возможности отката. На вопрос, есть ли хоть одна компания из Fortune 500, которая это делает, он ответил прямо: «Я такого не видел, и нет, публично они об этом не заявляли».

Причина экономическая. Компании, по его словам, «принимают риск, осознанно или бессознательно», делая ставку на то, что преимущество перевесит наказание. «Я думаю, что изменило бы поведение в этой сфере, если бы штрафы и последствия перевесили преимущества». Шлюз должен находиться за пределами модели по причине, не связанной со злым умыслом. «Если вы проникнете в слой инференса, он не скажет вам, что обманывает, и будет лгать об этом», — утверждает он, ссылаясь на выводы, в том числе, Британского института безопасности ИИ. Система, которая не может достоверно сообщать о своих собственных сокращениях, не должна сама себя авторизовывать.

Индустрия не готова быстро провести такое разделение. В отчете Ivanti State of Cybersecurity Report за 2026 год говорится, что 77% специалистов по безопасности как минимум в некоторой степени готовы позволить ИИ действовать без проверки человеком — именно то, что ограничивает шлюз Уилсона. В июле CrowdStrike расширила свою таксономию промпт-инъекций до более чем 200 техник, назвав непрямую инъекцию через данные, которые читает агент, критическим вектором для агентов, вызывающих инструменты и выполняющих команды.

Архитектор, сдвинувший границу еще до того, как у атаки появилось имя

Эгизиако Чоффи столкнулся с похожим сбоем в продакшене за месяцы до того, как GhostJacking получил имя, с одной оговоркой. Чоффи — генеральный директор SynSphere Italia, реселлера Microsoft, архитектор, который построил и продал систему, а не защищает унаследованную. Его ассистент на базе Azure OpenAI поверх SharePoint показывал высокие результаты по точности, но все равно возвращал контент, который запрашивающий пользователь не мог открыть. «Набор для оценки без измерения идентичности не может провалить ошибку авторизации, как бы ни был высок показатель точности», — заявил Чоффи в письменных ответах VentureBeat. Он исправил это с помощью фильтра времени запроса, построенного на групповых утверждениях пользователя, чтобы неавторизованный фрагмент никогда не становился кандидатом и не попадал в модель. GhostJacking же касается того, что модель может делать, — та половина, для которой и построен шлюз Уилсона.

Здесь остается один пробел. Ни один действующий CISO не заявил публично об изменении, внесенном после 9 августа, и о том, во что оно обошлось в плане возможностей агента. Пока этого не произойдет, цена ложится на тех, кто специфицировал контроль, а не на тех, кто защищает с его помощью продакшен.

Что лидерам безопасности нужно сделать на этой неделе

Четыре вопроса дадут честную картину быстрее, чем любой цикл закупок. Какие агенты читают материалы, доступные атакующему? Какие из них могут также изменять производственные системы? Чьи разрешения действуют при извлечении данных? И какие изменения политический движок может одобрить без человека?

Затем проведите негативный тест. Внедрите враждебную инструкцию в лог, который агент должен проверить, и сохраните транскрипт, потому что именно транскрипт отличает заявление о контроле от демонстрации теста. Tenet, которая продает средства защиты для ИИ-агентов, в своих рекомендациях защитникам первым делом советует запрещать агенту исходящий доступ в сеть по умолчанию, отрезая путь, по которому отравленная инструкция загружает полезную нагрузку и перенаправляет трафик. Но агент, который расследует без постоянного выхода в открытый интернет, теряет возможность, по которой мало кто будет скучать.

Перечислите сервисные принципалы в тенанте, удалите предустановленные приложения Microsoft first-party, затем отфильтруйте те, у которых есть учетные данные или назначение ролей приложения. Каждая идентичность в этом списке нуждается во владельце и сроке действия, потому что та, у которой есть оба, будет проверена, а та, у которой нет ни одного, — никогда. Для любого агента с производственными полномочиями напишите последовательность изоляции до инцидента, а не во время него. Отзовите или ротируйте его рабочую учетную запись, отключите его API с правом записи или интеграцию инструментов, сохраните транскрипт выполнения, затем проверьте и откатите любую инфраструктуру, которую он изменил.

Макглэдри считает, что причина, по которой эта работа постоянно откладывается, неприятна. «Я думаю, что сейчас в области ИИ наблюдается уровень терпимости, не похожий ни на что другое в обществе», — сказал он. GhostJacking делает это видимым. Заблокированная нагрузка достигает агента через систему, созданную для записи заблокированных нагрузок, и как только она прибывает, вопрос уже не в том, распознает ли модель атаку. Вопрос в том, есть ли у модели полномочия превратить ее в производственное изменение.

Справка по теме (FAQ)
Что такое GhostJacking?
GhostJacking — это техника атаки на AI-агентов, продемонстрированная Tenet Security на DEF CON 34. Злоумышленник помещает вредоносную инструкцию в лог (например, заблокированный файрволом запрос), агент читает этот лог и выполняет инструкцию, не отличая её от обычной задачи — например, изменяет DNS-записи компании.
Какие платформы уязвимы для GhostJacking?
Tenet Security продемонстрировала атаку против Cloudflare, Datadog и Sentry. В случае Cloudflare агентом был Cursor, работающий через GraphQL и Cloudflare API. Атака также протестирована на Claude Code с успешностью 9 из 10 попыток.
Как защититься от GhostJacking?
Соруководитель OWASP Top 10 for LLM Стив Уилсон рекомендует поставить шлюз авторизации за пределами модели: агент может предлагать изменения, но не может сам их утверждать. Tenet также выпустила открытый инструмент agent-jackstop, который блокирует исходящий доступ агентам и требует явного одобрения человека для команд.
Почему GhostJacking не обнаруживается стандартными средствами защиты?
Атака не требует взлома администратора или обхода файрвола. Каждый шаг — чтение логов, выполнение действий — разрешён агенту легитимно. EDR, WAF и IAM не видят нарушений, потому что все действия формально авторизованы. Проблема в архитектуре: агент не может отличить данные для анализа от инструкций к выполнению.