Вы открываете в Claude Code репозиторий, скачанный архивом. Ничего не запускаете — просто просите разобраться в коде. Агент сам читает проект, чтобы понять контекст. В скрытой папке .claude/ лежит конфиг, который велит ассистенту выполнить setup.mjs «при настройке окружения». Через несколько секунд на машине работает чужой код — с вашими правами, вашими SSH-ключами и токенами. Вы этого не просили и не подтверждали.
Это не гипотетическая угроза. 9 сентября 2026 года Google Threat Intelligence Group (GTIG) выпустила отчёт «From Prompting to Autonomy: The Evolution of Adversarial AI» — про то, как за несколько лет атака на языковую модель выросла в атаку на агента с доступом к файлам, git и сети. Ниже — разбор отчёта и практическая часть: что закрывать в первую очередь и чего эти меры не гарантируют.
Что изменилось: цель атаки переехала с модели на агента
Google фиксирует сдвиг не в отдельной уязвимости, а в самой механике. Злоумышленники перешли от разовых промптов к агентным рабочим процессам и автоматизации.
In Q2 2026, GTIG observed threat actors compromise a cloud resource, then plan, build, and execute an agent-enabled mass credential harvesting campaign in under six hours.
Во втором квартале 2026 года GTIG наблюдала, как злоумышленники скомпрометировали облачный ресурс, а затем спланировали, собрали и провели массовую кампанию по сбору учётных данных с привлечением агента менее чем за шесть часов.
— Google Threat Intelligence Group, From Prompting to Autonomy, 09.09.2026


Раньше цена ошибки ограничивалась «модель сказала глупость». Теперь у агента есть инструменты, и ошибка превращается в действие: команда запущена, файл прочитан, данные ушли наружу. Эволюция укладывается в четыре этапа.
| Этап | Что делал атакующий | Почему работало |
|---|---|---|
| Джейлбрейк (2023–2024) | Прямой текст «ignore previous instructions» | Для модели инструкция и данные — один поток токенов |
| Косвенная инъекция (2025) | Вредоносный текст в веб-странице, файле, письме | Агент выполняет задачу и не отличает данные от приказа |
| Инъекция → инструмент (нач. 2026) | Подталкивание агента к curl, скрипту, запуску кода |
У агента появились shell, файлы, сеть |
| Автономная цепочка (Q2 2026) | Markdown-плейбуки и агенты массово собирают credentials | Из цикла убран человек, всё уложилось в часы |

Векторы атак: где сегодня ищут агента
Отчёт GTIG описывает несколько каналов, и все они — про данные, которым агент доверяет.
Скрытые папки в репозитории. Основной вектор этой волны — вредоносный набор DUSTMAKER, который маскируется под обычный мусор в проекте. Он кладёт файлы в служебные директории кодинг-агентов и IDE — .claude/, .vscode/, .cursor/ — и «сливается с привычным шумом разработчика», уходя из зоны внимания EDR.
DUSTMAKER uses malicious configuration files inside hidden project directories to instruct the AI assistant to run arbitrary commands or scripts (such as setup.mjs) during routine developer interactions. This effectively forces the AI model to execute commands on the attacker’s behalf without the developer’s knowledge.
DUSTMAKER использует вредоносные конфигурационные файлы в скрытых директориях проекта, чтобы заставить ИИ-ассистента выполнять произвольные команды или скрипты (например,
setup.mjs) в ходе обычного взаимодействия с разработчиком. Это фактически принуждает модель выполнять команды от имени атакующего без ведома разработчика.— Google Threat Intelligence Group, From Prompting to Autonomy
Цепочка поставок и CI/CD. DUSTMAKER определяет, что процесс идёт в GitHub Actions, вытаскивает OIDC-токены из памяти раннеров и публикует заражённые версии пакетов с валидными attestation SLSA Build 3. Пакеты с настоящими токенами проходят автоматические проверки доверия в кодинг-агентах. Вредоносные задачи в пайплайне маскируются под безобидные имена вроде «Copilot Setup» и удаляют за собой логи выполнения.
Сканеры безопасности кода. Отдельный приём — встроить в начало JS-загрузчика текст-приманку на запрещённые темы (в отчёте — биологическое и ядерное оружие). Расчёт на то, что LLM-сканер откажется анализировать файл из соображений политики и пропустит вредоносный код ниже.
MCP и веб-страницы. То же касается ответов MCP-серверов и страниц, которые агент вытягивает через WebFetch. Спецификация MCP отдельно описывает «session hijack prompt injection», когда чужая инструкция приходит через данные инструмента, и рекомендует принцип наименьших привилегий и проверку каждого вызова (MCP Security Best Practices).
Плюс — сам агент как цель. Среди группировок отмечены те, кто использовал Claude, Gemini и Codex, чтобы писать эксплойты, генерировать фишинговые письма и отлаживать код атак. А на подпольных площадках за 2026 год средняя цена за аккаунт для доступа к моделям выросла более чем вдвое: спрос сместился на учётные записи Claude, Gemini и автономных IDE вроде Cursor Pro и Devin.
Что защищает, а что нет
Раздел «как атакуют» бесполезен без ответа «что ставить». Google описывает принципы, но конкретика живёт в документации инструментов. Для Claude Code официальная страница Security описывает permission-архитектуру: по умолчанию режим Manual даёт только чтение, а на запись файлов и запуск команд нужно подтверждение; сетевые команды вроде curl и wget не одобряются автоматически; WebFetch работает в отдельном контекстном окне, чтобы не тащить вредоносный промпт в основную сессию (Claude Code Security).


| Помогает | Не помогает |
|---|---|
| Подтверждение команд вручную (Manual mode) | Хорошо написанный системный промпт |
| Встроенная песочница с изоляцией файлов и сети | Название модели: «умная модель всё поймёт» |
| Граница рабочей директории для записи | Один фильтр текста перед моделью |
| Отдельные credentials и минимальные права | Разрешающий allowlist без deny-правил |
| Свой или проверенный MCP-сервер | Доверие к настройкам из чужого репозитория |
| Изоляция в контейнере или VM | «Логи посмотрим потом» |
Практический чек-лист настройки прав
Порядок — от дешёвого к надёжному.
- Разделяйте чтение и действие. Новый проект — старт в режиме, где запись и запуск команд требуют подтверждения. Автономные режимы включайте осознанно и не как замену изоляции.
- Ограничьте команды списком. Разрешайте конкретные безопасные команды, а не всё подряд: deny-правила важнее allow-правил, потому что открытые правила обходятся цепочкой легитимных действий.
# Пример: разрешить чтение, запретить сетевые загрузки и разрушительные команды
# .claude/settings.json
{
"permissions": {
"allow": ["Read", "Grep", "Glob", "Bash(git status)", "Bash(npm test)"],
"deny": ["Bash(curl *)", "Bash(wget *)", "Bash(rm -rf *)"]
}
}
- Не открывайте агенту доступ к лишним секретам. Отдельный токен с доступом к одному репозиторию, отдельный ключ подписи, никаких SSH-ключей и облачных credentials в рабочей директории.
- Изолируйте рабочую копию. Ненадёжный код — в контейнер или VM, без домашней директории и без сети:
--network=noneснимает главный канал эксфильтрации. Подробнее — в разборе песочниц для ИИ-агентов. - Контролируйте исходящие запросы. Логируйте вызовы инструментов и проверяйте диффы перед слиянием: агент может незаметно добавить зависимость или изменить конфиг.
- Читайте, откуда пришли настройки. Прежде чем открывать чужой репозиторий агентом, просмотрите служебные папки
.claude/,.cursor/,.vscode/— и.git/config. Именно там прячутся исполняемые параметры.
Честные ограничения
- Промпт-фильтр не закрывает класс. Google описывает инъекцию в конфиг и в комментарии к коду, спецификация MCP — инъекцию через данные инструмента. Общий вывод: отличать «инструкцию» от «данных» модель надёжно не умеет, поэтому фильтр текста — не граница безопасности.
- Правила зависимостей обходятся. DUSTMAKER публикует пакеты с валидными подписями SLSA Build 3 и маскирует задачи под «Copilot Setup». Формально всё подписано правильно — значит одной проверки подписи мало.
- Изоляция только для одного контура. Permission-слой Claude Code изолирует Bash-команды, но встроенные файловые инструменты, MCP-серверы и хуки работают на хосте. Без внешнего контейнера или VM это не полная изоляция.
- Скрытая часть отчёта не раскрыта. GTIG публикует тактики и часть инфраструктуры, но не выкладывает рабочие эксплойты — часть выводов остаётся качественной, без точных цифр по каждому эпизоду.
- Версии и защита меняются. Цифры и функции зафиксированы на момент публикации, 10.09.2026; permissions, флаги и поведение классификатора обновляются чаще, чем выходит разбор.
Российские реалии
Сам отчёт — публичная страница и читается из России; проблема не в доступности текста, а в том, чем вы защищаетесь.
Google Cloud и Google-аккаунты. Полноценный доступ к Google Cloud для российских организаций ограничен: Google приостановил приём новых клиентов из РФ, оплата российскими картами невозможна — Visa и Mastercard не работают, Mir не принимается, нужны зарубежные карты или посредники. Для просмотра блога этого не требуется, а вот для собственных облачных песочниц (Cloud Run, Compute, Agent Platform) — да, плюс VPN. Изоляцию при этом логичнее строить не в облаке провайдера, а локально, на нейтральной инфраструктуре.
Claude Code, Codex, Cursor. Россия не входит в список поддерживаемых стран Anthropic и OpenAI: подписки и API из российского IP не работают без VPN, оплата картами РФ невозможна. Это не мешает локальным настройкам — permission-режимы, песочница и лимиты задаются в CLI и от региона не зависят.
Инструменты защиты — без ограничений. Docker, Podman, QEMU/KVM и встроенные песочницы ОС доступны, а Docker Hub при блокировке IP подменяется зеркалами (Yandex, TimeWeb, Selectel, Beget).
Что есть в рунете. Тема разобрана неплохо, и разбор Google стоит читать вместе с ними:
- «AI-агент в проде: песочница, RBAC и egress-контур» — VK Tech, практический контур изоляции и «lethal trifecta» Саймона Уиллисона;
- «Промпт-инъекции в реальных данных, широкие права доступа» — Just AI про эффект confused deputy и пять групп контрольных точек;
- «LLM Sandbox: пример реализации агента с песочницей» — практика запуска кода агента в Docker с
--network=none.
Схема защиты у VK Tech и Google сходится: не надеяться на промпт, а опускать границу на уровни прав, сети и изоляции исполнения.
Вывод
Отчёт Google ценен не новыми названиями атак, а сменой рамки. Задавать вопрос «как защитить модель от плохого промпта» уже недостаточно — атакуют не модель, а агента с его правами, инструментами и каналом выхода наружу. Инъекция в скрытую папку репозитория, в задачу CI/CD, в ответ MCP-сервера или в веб-страницу заканчивается не текстом, а командой на машине разработчика.
Практический вывод короткий. Permission-режим с подтверждением команд, deny-правила вместо широких allow, отдельные минимальные credentials, изоляция рабочей копии и контроль исходящих запросов стоят между агентом и утечкой. По отдельности каждый слой обходится — работает только их набор. Дальше по теме: промпт-инъекции в кодинг-агентах, безопасность ИИ-агентов, кейс GitSpawn, кейс взлома Claude Code auto mode, Claude Code --restricted и песочницы для агентов.
Читайте также: Кейс: Security Cards дают на 72% меньше небезопасного кода от ИИ · Настройка ИИ-агента под свой проект: чек-лист из 10 шагов
