Исследование продукта · 28 августа 2026

Ограниченный режим Claude Code: что блокируется и что не блокируется

Тестирование Claude Code 2.1.248 в ограниченном режиме, посмотрите, какие инструменты остаются, поймите его сетевую раскрытость и выберите реальную изоляцию для недоверенной работы.

Время чтения
13 минут
Проверено
23 окт. 2026 г.
Бумажная рабочая область с карточками файлов внутри границы и закрытыми командами и веб-запросами
Ограниченный режим удаляет важные инструменты; отдельная граница процесса по-прежнему обеспечивает изоляцию
Итог

Ограниченный режим Claude Code 2.1.248 является полезным средством сокращения инструментов: команды и WebFetch исчезают по умолчанию, файловые инструменты остаются внутри объявленного рабочего пространства, сохранённые настройки пользователя и проекта игнорируются, а bypassPermissions отклоняется. Это не виртуальная машина, не контейнер и не сетевая песочница. Используйте одноразовый контейнер или виртуальную машину с явными ограничениями исходящего трафика и учётных данных, когда репозиторий или полученный контент недоверенный.

Claude Code 2.1.248 добавил --restricted флаг и его эквивалент CLAUDE_CODE_RESTRICTED=1 . Anthropic’s Примечание к выпуску 2.1.248 говорит, что этот режим удаляет встроенные инструменты, которые выполняют команды или код, и удаляет WebFetch если только эти инструменты явно не указаны с --tools. Он также ограничивает инструменты работы с файлами рабочими каталогами, отказывает bypassPermissions, и игнорирует файлы настроек пользователя, проекта и локальные файлы.

Это полезно, но название легко истолковать слишком широко. Ограниченный режим изменяет инструменты, которые предоставляет Claude Code, и настройки, которые он загружает. Он не помещает Claude Code в виртуальную машину, контейнер или песочницу для всего процесса. Anthropic’s сравнение песочниц рассматривает контроль разрешений, песочницу Bash для каждой команды, среду выполнения песочницы для всего процесса, контейнеры и виртуальные машины как разные уровни.

Что изменилось с момента исходного теста

Проверенные официальные источники: 23 октября 2026 г. Захват схемы инструмента от 28 августа ниже является историческим доказательством для 2.1.248, а не тестом текущего релиза. Мы не повторяли этот захват и не запускали аутентифицированную сессию для этого обновления.

Anthropic’s официальный журнал изменений фиксирует последующие исправления, которые имеют значение для этой границы:

ВыпускЗадокументированное исправлениеЧто делать с этим доказательством
2.1.290Aн @-упоминание о том, что можно было читать за пределами рабочих каталогов через ссылку, изменённую во время чтения. Ограниченные сессии также открывали сокет межсессионных сообщений.Не рассматривайте исходный тест в пределах файла или список инструментов сообщений как доказательство поведения последующих релизов.
2.1.295--tools и --restricted не применялось к встроенным инструментам, зарегистрированным после запуска; устаревшие имена инструментов могли получать доступ к инструментам за пределами выбранного набора вызывающего.Проверяйте фактически доступные инструменты во время выполнения задачи, а не только список, зафиксированный при запуске.

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

С текущая справка по CLI также уточняет, что --tools default не восстанавливает удалённые инструменты: варианты включения должны указывать отдельные инструменты. В записи документируется отказ от создания облачных сеансов и говорится, что только управляемые настройки и явные --settings нагрузка. Это пояснения, подтвержденные документацией, а не новые результаты теста Mantis.

Практический результат

Начните с этой таблицы решений.

ВопросClaude Code 2.1.248 ограниченный режим
Может ли Claude по умолчанию вызывать Bash, PowerShell, REPL или другой встроенный исполнитель кода?Нет. Эти инструменты удалены из списка инструментов.
Может ли Claude использовать WebFetch по умолчанию?Нет. Он удалён из списка инструментов.
Может ли оператор восстановить любую из этих возможностей?Да. Название Bash или WebFetch с --tools снова делает этот инструмент доступным. Правила обычных разрешений по-прежнему решают, выполняется ли вызов.
Может ли Claude читать и изменять файлы?Да. Инструменты работы с файлами остаются, ограниченные рабочей директорией и любым путём, добавленным с помощью --add-dir. Записи по-прежнему подчиняются системе разрешений.
Делает --dangerously-skip-permissions Может лиНет. Версия 2.1.248 завершает работу с bypassPermissions not supported in restricted mode.
Загружены ли настройки репозитория и пользователя?Файлы настроек пользователя, проекта и локальные файлы игнорируются. Управляемая политика и явный --settings ввод всё ещё могут применяться.
Исчезнут ли сервера MCP автоматически?Не делайте таких предположений. В справочном тексте для версии 2.1.248 говорится о необходимости добавлять --strict-mcp-config когда вы также хотите пропустить настроенные серверы MCP.
Весь сетевой трафик заблокирован?Нет. Трафик модели/API требуется, WebSearch может продолжать работать, явно включенные инструменты могут выходить в сеть, а также опциональные сообщения или управляемые интеграции могут взаимодействовать с внешними системами.
Является ли это изоляцией хоста?Нет. Нет отдельного ядра, границы контейнера или границы виртуальной машины.

Различие соответствует документации на права доступа Anthropic: разрешения определяют, разрешён ли вызов инструмента или появится запрос; изоляция определяет, к чему может получить доступ выполняющийся процесс.

Воспроизведите историческое поведение версии 2.1.248, не изменяя вашу обычную установку

Это лаборатория воспроизведения старой версии. Держите конфиденциальные данные вне её и не используйте для ненадежных репозиториев. Для проверки текущей версии используйте вашу поддерживаемую установку, записывайте claude --version и claude --help, и повторяйте ограниченные проверки, а не предполагайте, что старые имена инструментов всё ещё применимы.

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

mkdir -p /tmp/claude-2.1.248-proof/tool
mkdir -p /tmp/claude-2.1.248-proof/work
npm install --prefix /tmp/claude-2.1.248-proof/tool \
  @anthropic-ai/claude-code@2.1.248
printf 'restricted-mode-marker\n' > /tmp/claude-2.1.248-proof/work/marker.txt

/tmp/claude-2.1.248-proof/tool/node_modules/.bin/claude --version

Ожидаемая строка версии:

2.1.248 (Claude Code)

Запустите из временной рабочей директории и исключите ранее настроенные MCP-серверы:

cd /tmp/claude-2.1.248-proof/work
../tool/node_modules/.bin/claude --restricted --strict-mcp-config

Запросите ограниченную проверку:

Прочитайте marker.txt. Затем скажите мне, есть ли у вас инструмент для выполнения команд и есть ли у вас WebFetch. Не редактируйте ничего, не используйте WebSearch и не обращайтесь к каким-либо внешним сервисам.

Важные доказательства не в том, использует ли модель успокаивающие формулировки. Спросите What tools do you have access to?, проверьте расшифровку и убедитесь, что никакой Bash, PowerShell, REPL, кодовый исполнитель или WebFetch вызов не появляется. Чтение файла всё ещё должно работать, потому что Read остаётся внутри рабочего пространства.

Проверьте явное включение инструмента

Начните новую ограниченную сессию выбрав из встроенного набора инструментов только WebFetch:

../tool/node_modules/.bin/claude \
  --restricted \
  --strict-mcp-config \
  --tools WebFetch

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

Повторите с --tools Bash , если нужно протестировать крайний случай команды. Используйте безвредную команду, такую как pwd, одобрите это один раз, а затем выйдите. Результат демонстрирует точную границу: ограниченный режим по умолчанию удаляет инструмент команд, но при запуске его можно намеренно добавить обратно.

Не объединяйте этот тест с --allowedTools Bash, широким правилом разрешения или настоящими учетными данными. Доступность инструментов и автоматическое одобрение - это отдельные элементы управления.

Докажите, что режим обхода отклонен

../tool/node_modules/.bin/claude \
  --restricted \
  --dangerously-skip-permissions \
  --strict-mcp-config

Версия 2.1.248 должна остановиться до начала сеанса:

Ошибка: bypassPermissions не поддерживается в ограниченном режиме

После завершения выйдите из Claude Code и удалите /tmp/claude-2.1.248-proof. Тест не изменяет вашу обычную установку или проект Claude Code. Проверьте временный каталог перед удалением, если нужно сохранить журналы для аудита.

Что выявил наш тест схемы инструментов

Mantis протестировал npm-пакет @anthropic-ai/claude-code@2.1.248 на Linux 28 августа 2026 года. Мы направили ANTHROPIC_BASE_URL на локальный сервер захвата HTTP, предоставили фиктивный тестовый ключ и сделали так, чтобы сервер записывал только имена инструментов из исходящего запроса Messages перед возвратом запланированного HTTP 400. Ни один промпт не был отправлен Anthropic, ни одна команда не выполнялась, и ни один сайт не был загружен.

ЗапускДоказательства схемы инструмента
--restricted --strict-mcp-configЗапрос включал инструменты для работы с файлами и координации, такие как Read, Glob, Grep, Edit, Write, NotebookEdit, Agent, Skill, WebSearch, ListAgents, и SendMessage. Он не включать Bash или WebFetch.
Те же флаги плюс --tools WebFetchВыбранный список встроенных инструментов содержал WebFetch.
Те же флаги плюс --tools BashВыбранный список встроенных инструментов содержал Bash.
Те же флаги плюс --dangerously-skip-permissionsCLI остановился с bypassPermissions not supported in restricted mode перед отправкой запроса задачи.

Точный оставшийся список может варьироваться в зависимости от платформы, плана, управляемой политики, провайдера и функций продукта. Утверждение стабильной версии 2.1.248 более узкое: исполнители команд/кода и WebFetch удаляются, если не выбраны явно; инструменты файлов остаются в области рабочего пространства; обходной режим отклоняется. Это соответствует заметке о выпуске Anthropic’s и описанию флага, напечатанному тестируемым бинарным файлом .

Диагностируйте результат, который отличается от таблицы

Используйте Справочник CLI чтобы разделить эти случаи перед изменением правил разрешений:

  • Флаг неизвестен: записывайте путь исполняемого файла и версию. Ограниченный режим требует версии 2.1.248 или новее; проверьте наличие более старого исполняемого файла или обертки перед повторной попыткой.
  • Bash или WebFetch присутствует: проверьте фактические аргументы запуска для отдельных --tools согласий. На исправленном выпуске, --tools default сам по себе не должен их восстанавливать. Остановите задачу, если набор инструментов превышает ваш предполагаемый доступ.
  • Ваши обычные правила запрета исчезли: обычные файлы настроек игнорируются в ограниченном режиме. Проверьте управляемую политику и явные --settings; не предполагаете, что ваши обычные локальные правила загружены.
  • Инструменты MCP остаются: --tools выбирает встроенные инструменты. --strict-mcp-config ограничивает загрузку MCP до явного --mcp-config ввода, поэтому проверьте и этот ввод. В управляемых средах необходимо проверить политику администратора.

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

Остальные разрешения имеют значение

Ограниченный не означает только для чтения. Остальные инструменты работы с файлами могут просматривать и, при наличии соответствующего разрешения, изменять файлы внутри рабочей области. Следовательно, рабочая область, содержащая производственные секреты, SSH-данные, учетные данные облака, профили браузера или несвязанные репозитории, обеспечивает сессии большее воздействие, чем пустой временный каталог.

Граница рабочей директории также расширяется, когда вы передаете --add-dir. Рассматривайте каждый добавленный каталог как явное предоставление данных. Запускайте Claude Code из самого узкого подкаталога репозитория, который все еще поддерживает задачу, затем проверьте, какие тесты и конфигурационные файлы действительно нуждаются в доступе.

Режим с ограничениями также игнорирует обычные пользовательские, проектные и локальные настройки, но управляемые настройки и файл или JSON-объект, предоставленные через --settings все еще могут применяться. Скрипты запуска должны показывать эти аргументы, а не скрывать их в псевдониме. Используйте --strict-mcp-config когда тест не должен иметь ранее настроенных MCP серверов; инструменты MCP отделены от встроенного списка инструментов.

WebFetch не охватывает всю сеть

Удаление WebFetch закрывает один прямой путь получения страницы. Это не создаёт отказ по умолчанию на исходящие соединения.

В нашем ограниченном запросе по-прежнему был доступен WebSearch. Anthropic’s справочник по инструментам говорится, что WebSearch выполняет поиск через поисковую систему Anthropic и возвращает заголовки результатов и URL-адреса. Само содержимое страниц результатов оно не загружает, но при этом остается внешним каналом информации.

Claude Code также должен отправлять подсказки и любой выбранный для контекста файл в Anthropic или к настроенному поставщику модели. Руководство Anthropic по изоляции явно указывает, что песочница не изменяет то, что отправляется модели. В зависимости от сессии и учетной записи, инструменты такие как сообщения, уведомления, облачные сессии, интеграция с браузером или серверы MCP могут создавать другие сетевые пути.

Для создания надежной сетевой границы обеспечьте выходные соединения вне контроля модели и вне диспетчера инструментов Claude Code:

  • разрешайте только конечную точку модели/API и любые проверенные пакеты или домены источников;
  • блокируйте конечные точки метаданных, внутренние плоскости управления и диапазоны частных сетей;
  • используйте краткоживущие, узко специализированные учетные данные внутри изолированной среды;
  • храните производственные облачные, Git, браузерные и SSH учетные данные вне нее;
  • ведите журнал DNS и исходящих соединений, чтобы тест имел доказательства;
  • проводите тест завершения работы, который доказывает, что среда останавливается, а учетные данные истекают.

Рекомендация по изоляции

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

Для недоверенного репозитория, внешнего веб-контента, автономной работы, анализа вредоносного ПО или чувствительных учетных данных запустите весь процесс Claude Code внутри одноразовой виртуальной машины (VM), microVM или строго настроенного контейнера. Предоставляйте ему только необходимую копию проекта, используйте политику исходящих соединений с запретом по умолчанию и явным списком разрешённых адресов и не вводите производственные учетные данные. Anthropic рекомендует использовать отдельную VM или Claude Code в вебе для небезопасных репозиториев в его руководстве по среде песочницы.

Песочница на уровне всего процесса также может ограничивать встроенные инструменты, хуки и серверы MCP, в отличие от песочницы Bash на уровне команды. Anthropic обозначает текущую среду песочницы как бета-версию для исследований, поэтому для задач с высокой надежностью лучше использовать технологию изоляции, которую ваша команда уже проверяет и эксплуатирует.

Прежде чем считать среду одноразовой, подтвердите все четыре выхода:

  1. Завершите сессию и убедитесь, что ни один процесс Claude, MCP, хук, браузер или дочерний процесс не остался.
  2. Отзовите тестовый токен или дождитесь истечения срока его действия и подтвердить, что он больше не аутентифицирует.
  3. Просмотрите изменения в рабочем пространстве и журнал исходящих подключений.
  4. Уничтожить контейнер или виртуальную машину, затем подтвердить, что его записываемый слой и временные учетные данные исчезли.

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

Источники

Проверено 23 октября 2026 года. Доказательства теста остаются от 28 августа 2026 года; более позднее поведение выше приписывается документации.

Запустите это в работу

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

Попробовать

Используйте актуальный патченный релиз для проверки scratch-каталога; закрепленную лабораторию 2.1.248 оставьте для исторического воспроизведения.

Докажите, что это сработало

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

Где это может оплатить

Документированный регламент работы агента в ограниченном режиме может стать частью более безопасной службы проверки кода или оценки поставщиков.

Держите в поле зрения

  • Claude Code 2.1.248 удаляет инструменты для выполнения команд и WebFetch из ограниченных сессий, если только вы явно не добавите их обратно с помощью ---tools.
  • Инструменты чтения, поиска, редактирования, записи, веб-поиска, агентов, обмена сообщениями и других некомандных инструментов могут оставаться доступными.
  • Ограниченный режим ограничивает возможности внутри Claude Code, но не изолирует процесс, учетные данные, трафик модели или все сетевые пути.
  • Используйте --strict-mcp-config, когда не хотите, чтобы настроенные MCP-серверы загружались в тест.
Изучите рабочий процесс: курируемый рабочий процесс Claude Code