Claude Code чинил запреты. Они не всегда запрещали
Поручаешь своему ИИ-агенту поправить код, а доступ к лишним файлам закрываешь. Вроде нормальная договоренность. Но в свежем обновлении Claude Code выяснилось, что некоторые запреты можно было обойти, просто изменив форму команды или путь к файлу. Замок есть. Дверь рядом тоже есть.

4 октября по московскому времени Anthropic выпустила Claude Code 2.1.289. Claude Code работает с проектом через терминал и редактор: читает файлы, запускает команды, меняет код. Поэтому ошибки в проверке доступа здесь касаются вполне реальных действий на компьютере.
В обновлении исправили несколько таких ошибок, добавили возможности для запуска помощников из плагинов и убрали ряд сбоев интерфейса. Самое интересное, собственно, в первой части.
Запрет мог потеряться внутри команды
У Claude Code есть правила, которые запрещают определенное действие или требуют сначала спросить пользователя. Скажем, агенту разрешено запускать обычные проверки проекта, но конкретную опасную команду нужно согласовать.
В некоторых случаях проверка пропускала команду, если перед ней стояло присваивание переменной. Отдельная ошибка возникала, когда значение переменной в начале команды разворачивалось перед выполнением. Оба случая затрагивали режим, где команды автоматически разрешаются при работе в изолированной среде.
Для человека смысл действия не меняется: операция все та же. А проверка могла не распознать ее из-за того, как она записана. Примерно как охранник, который не пускает человека через главный вход, но перестает его узнавать, если тот надел шарф.
Еще одно исправление касается составных команд на компьютерах, которыми управляет организация. Запрет или требование подтверждения для вложенной части команды не всегда имели приоритет над разрешением пользовательского расширения. В этой версии такую ошибку тоже исправили.
К запрещенному файлу находился другой путь
Отдельная проблема была с чтением файлов через символические ссылки. Если без технических подробностей, это другой путь, который ведет к тому же файлу.
Правило запрета чтения не применялось в определенных сценариях редактора: когда файл упоминали через @, выбирали или изменяли, обращаясь к нему через такую ссылку. В результате ограничение зависело от пути, по которому файл попадал к агенту.

К слову, в истории со взломом Hugging Face агентами OpenAI мы уже разбирали, как ограничения тестовой среды перестали удерживать агентов внутри. Здесь речь о других ошибках, в другом продукте. Но вопрос вполне знакомый: что именно проверяет система, прежде чем разрешить действие?
Плагины тоже получили свою порцию ремонта
Anthropic закрыла возможность пользовательского плагина менять описания инструментов входа на MCP-сервере, которым управляет организация. MCP здесь связывает помощника с внешними инструментами и сервисами. Описание инструмента объясняет, что он делает, поэтому возможность незаметно переписать его выглядит, мягко говоря, неудачно.
Заодно разработчики исправили несколько зависаний и аварийных завершений. Среди них сбои при отображении определенных фрагментов кода в терминале и на опубликованных страницах, а также ошибки компонентов плагинов, которые могли завершить всю сессию.
В версии для VS Code откатили изменение из предыдущего релиза, из-за которого выходы из аккаунта могли происходить чаще. Работаешь над проектом, а авторизация решила взять перерыв. Класс.
Помощников запускать проще. Ограничивать их все еще необходимо
В обновлении появился agent.spawn для запуска агентов-помощников из плагинов. Разработчики также добавили единый идентификатор агента в событиях плагинов и состояния ожидания и бездействия в списке агентов. Это помогает запускать участников команды и отслеживать, что с ними происходит.
Описанные исправления подтверждают конкретные ошибки проверки доступа. О реальных атаках через них в заметках к релизу не сообщается. Но сам факт того, что запрет мог зависеть от формы записи, уже неприятный.
В проектировании ИИ-агентов, которыми я занимаюсь, ограничения должны проверять само действие и конечный объект доступа. Иначе агенту выдали правила, а компьютеру оставили право их трактовать. Хорошо, что Anthropic такие случаи исправляет. Именно эта работа делает самостоятельных помощников пригоднее для реальных задач.
Больше авторского мнения про нейронки без цензуры в моем телеграм-канале Тима из AVENIR.



