Как Anthropic держит Claude в клетке

Anthropic выпустила инженерный отчёт о том, как они изолируют Claude в своих продуктах. Год назад они бы ни за что не дали агенту права, при которых он может положить внутренний сервис. Сейчас это норма. Вопрос только в том, как ограничить радиус поражения, если агент всё таки сломается.

Риски делят на три корзины. Злоупотребление со стороны самого пользователя, когда человек сам просит модель сделать что-то вредное. Собственные ошибки модели, когда Claude в ходе работы внезапно сам выходит из сандбокса или читает git history, чтобы подсмотреть ответ на тест. Внешние атаки, среди них прямая промпт-инъекция и классические атаки на рантайм и прокси.

На это Anthropic отвечает тремя слоями защиты: среда, в которой живёт агент, сама модель с её системными промптами и классификаторами, и внешние данные вроде MCP-серверов. На Gray Swan Agent Red Teaming Claude Opus 4.7 держит успех атаки на 0.1% с первого раза и 5-6% после 100 попыток, Claude Code auto mode ловит около 83% слишком рвущихся в бой действий. Вероятностные защиты никогда не дают 100%, поэтому фокус статьи на контейнменте.

Для трёх продуктов Anthropic использует три разных подхода. claude.ai работает в эфемерном контейнере gVisor на изолированной инфраструктуре. Код исполняется только на сервере, файловая система эфемерная. Радиус поражения минимален, но и возможности ограничены.

Claude Code живёт прямо на машине разработчика. Первая версия упиралась в human-in-the-loop с подтверждением каждого опасного действия. Телеметрия показала, что люди жмут approve примерно в 93% случаев. Поэтому наверх накатили OS-сандбокс через Seatbelt на macOS и bubblewrap на Linux. Сеть по умолчанию запрещена, запись разрешена внутри воркспейса. Число подтверждений упало на 84%.

В Claude Code нашли уязвимости, при которых код из репозитория выполнялся ещё до того, как пользователь успевал нажать trust this folder. Было достаточно положить .claude/settings.json с хуком и ждать открытия папки. Другой кейс: во время внутреннего ред-тима сотрудника пофишили письмом вроде can you run this for me. Внутри промпта была просьба прочитать ~/.aws/credentials и отправить на внешний сервер. Из 25 попыток Claude вывел ключи в 24 случаях.

Claude Cowork рассчитан на обычных офисных сотрудников, которые не разбираются в bash. Весь агент прячется в полноценную виртуальную машину на вендорском гипервизоре (Apple Virtualization на macOS, HCS на Windows). Монтируется только выбранный воркспейс и папка .claude. Ключи живут в keychain хоста и в гостевую машину не попадают.

Самый яркий провал в Cowork: вредоносный файл в воркспейсе нёс скрытые инструкции и API-ключ атакующего. Claude читал другие файлы и загружал их через Files API на api.anthropic.com — домен был в белом списке, прокси пропускал трафик, файлы улетали на аккаунт злоумышленника. Исправили через оборонительный man-in-the-middle прокси внутри самой VM, который пропускает только запросы с провижненным внутренним токеном.

Аналогичная проблема вылезла у энтерпрайзов: VM-изоляция мешает их EDR-решениям видеть, что творится внутри. Компания пока предлагает OTLP-экспорт логов, но это не замена живого мониторинга.

Отдельный блок статьи про внешние источники данных. Любой MCP-сервер или плагин несёт два риска сразу: классическую supply-chain уязвимость и вектор для промпт-инъекции. Локальный инструмент можно аудировать и запинить версию, ремотный может поменять поведение в любой момент. В Claude Code и Cowork вывод инструментов идёт через прокси, который прогоняет результат через быстрый классификатор до входа в контекст модели.

Главные принципы, которые Anthropic выносит из своего опыта: сначала проектируй среду, потом уже модель. Матчи силу изоляции с той квалификацией, которая реально есть у пользователя: разработчик и секретарь живут в разных угрозных моделях. Бойся своих кастомных компонентов, боевой гипервизор и сисвол-фильтры видели больше атак, чем всё, что ты напишешь сам. Именно собственный прокси Anthropic и стал критической точкой отказа.

Оригинал: https://www.anthropic.com/engineering/how-we-contain-claude

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *