К содержимому
Claude Code с 0:полный курс
Уровень 1 · Разрешения и безопасность 6 мин Проверено автором · 12 окт. 2026 г. Сверено с Claude Code v2.1.287 · 12 окт. 2026 г.

Песочница: граница, которую держит система

Правила разрешений решают, что Claude может запустить. Песочница решает, что запущенная команда может сделать, — и это ограничение держит уже операционная система. Включается /sandbox.

Уровень 1 · 0 / 4 уроков0%

В прошлом уроке ты научился разрешать и запрещать действия правилами. Но у правил есть слепое пятно. Правило Bash(npm test) пускает запуск тестов — и не знает, что окажется внутри. Если тест или его зависимость полезет писать в чужую папку или отправлять данные в сеть, правило ничего не заметит.

Для этого есть второй слой — .

Что делает песочница

Песочница оборачивает команды оболочки, которые запускает Claude, в границу, которую держит операционная система. По умолчанию команда внутри неё:

  • пишет только в папку проекта, во временную папку пользователя и в папки, которые ты добавил через --add-dir или /add-dir;
  • ходит в сеть только через прокси, который пропускает лишь разрешённые адреса.

Попробуй команда записать файл в домашнюю папку — система откажет: на macOS ты увидишь Operation not permitted, на Linux — Read-only file system.

Как включить

Песочница выключена по умолчанию. Внутри сессии набери:

/sandbox

и на вкладке Mode выбери режим автоматического разрешения. В нём команда, которая выполняется внутри песочницы, не требует подтверждения: граница и так держит её в рамках. Claude Code сохранит выбор в твой личный .claude/settings.local.json.

В файле настроек это выглядит так:

{
  "sandbox": {
    "enabled": true
  }
}

Что остаётся снаружи

Это важно понимать, чтобы не переоценить защиту:

  • собственные инструменты Claude для чтения, правки файлов и веба работают вне песочницы — их держат правила разрешений из прошлого урока;
  • хуки и локальные MCP-серверы работают вне песочницы с твоими полными правами.

Песочница не заменяет правила, а дополняет их. Правила решают, что можно запустить. Песочница — что запущенному можно сделать.

Мини-проверка

С включённой песочницей Claude запустил npm test, а скрипт теста попытался записать файл в ~/Documents. Что произойдёт?

Осторожно

Если песочница не смогла запуститься — например, в контейнере не хватает нужных системных компонентов, — Claude Code по умолчанию продолжит выполнять команды без неё. Для запусков без присмотра включай настройку sandbox.failIfUnavailable: тогда Claude Code откажется стартовать, а не тихо сработает без защиты.

Практика в терминале

Включи песочницу для себя в этом проекте: создай .claude/settings.local.json с блоком sandbox и enabled: true. Это личный файл — в git он не попадает.

Проверь себя

Отвечено 0/3
Режим:

Чем песочница отличается от правил разрешений?

Что по умолчанию может команда внутри песочницы?

Что НЕ попадает в песочницу?

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

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

ЗаданиеПодсказки придут сами, если застрянешь

Включи песочницу для себя в этом проекте — в личном файле настроек, который не попадает в git.

Tab дополнить · ↑ прошлые · Ctrl+L очистить · help команды

  • Не выполнено: Личный файл настроек проекта создан
  • Не выполнено: В нём есть блок sandbox
  • Не выполнено: Песочница включена

Вопросы и ответы по уроку

Чем песочница отличается от правил разрешений?

Правило «разрешить npm test» пускает команду, но не знает, что скрипт тестов полезет в чужую папку или в сеть. Песочница ставит границу уже на уровне системы.

Что по умолчанию может команда внутри песочницы?

По умолчанию запись ограничена проектом, временной папкой и папками, добавленными через --add-dir или /add-dir, а сетевой доступ идёт через прокси с проверкой адреса.

Что НЕ попадает в песочницу?

Песочница оборачивает только команды оболочки. Файловые и веб-инструменты Claude подчиняются правилам разрешений, а хуки и локальные MCP-серверы работают с твоими полными правами.

С включённой песочницей Claude запустил npm test, а скрипт теста попытался записать файл в ~/Documents. Что произойдёт?

Правило пустило саму команду, но граница песочницы не даёт ей писать за пределами проекта и временной папки.

Листай уроки клавишами ← → · поиск по ⌘K