Claude Code использует многоуровневую систему разрешений для баланса между возможностями и безопасностью:

Тип инструментаПримерТребуется одобрениеПоведение “Да, больше не спрашивать”
Только чтениеЧтение файлов, LS, GrepНетН/Д
Bash-командыВыполнение shellДаПостоянно для директории проекта и команды
Модификация файловРедактирование/запись файловДаДо конца сессии

Доступные инструменты Claude

Claude Code имеет доступ к набору мощных инструментов, которые помогают ему понимать и модифицировать вашу кодовую базу:

ИнструментОписаниеТребуется разрешение
AgentЗапускает суб-агента для обработки сложных многошаговых задачНет
BashВыполняет shell-команды в вашем окруженииДа
GlobНаходит файлы на основе сопоставления шаблоновНет
GrepИщет шаблоны в содержимом файловНет
LSПоказывает список файлов и директорийНет
ReadЧитает содержимое файловНет
EditВносит целевые изменения в определенные файлыДа
WriteСоздает или перезаписывает файлыДа
NotebookEditИзменяет ячейки Jupyter notebookДа
NotebookReadЧитает и отображает содержимое Jupyter notebookНет
WebFetchПолучает контент с указанного URLДа

Правила разрешений можно настроить с помощью /allowed-tools или в настройках разрешений.

Защита от инъекции промптов

Инъекция промптов - это техника, при которой злоумышленник пытается переопределить или манипулировать инструкциями ИИ-ассистента путем вставки вредоносного текста. Claude Code включает несколько защитных мер против таких атак:

  • Система разрешений: Чувствительные операции требуют явного одобрения
  • Контекстный анализ: Обнаруживает потенциально вредоносные инструкции путем анализа полного запроса
  • Санитизация ввода: Предотвращает инъекцию команд путем обработки пользовательского ввода
  • Черный список команд: Блокирует рискованные команды, которые получают произвольный контент из сети, такие как curl и wget

Лучшие практики при работе с недоверенным контентом:

  1. Проверяйте предлагаемые команды перед одобрением
  2. Избегайте прямой передачи недоверенного контента Claude
  3. Проверяйте предлагаемые изменения в критически важных файлах
  4. Сообщайте о подозрительном поведении с помощью /bug

Хотя эти меры защиты значительно снижают риск, ни одна система не является полностью immune ко всем атакам. Всегда соблюдайте хорошие практики безопасности при работе с любым ИИ-инструментом.

Настройка сетевого доступа

Claude Code требует доступ к:

  • api.anthropic.com
  • statsig.anthropic.com
  • sentry.io

Добавьте эти URL в белый список при использовании Claude Code в контейнеризированных средах.

Эталонная реализация контейнера разработки

Claude Code предоставляет конфигурацию контейнера разработки для команд, которым нужны согласованные, безопасные среды. Эта предварительно настроенная конфигурация devcontainer отлично работает с расширением VS Code Remote - Containers и подобными инструментами.

Усиленные меры безопасности контейнера (изоляция и правила брандмауэра) позволяют запускать claude --dangerously-skip-permissions для обхода запросов разрешений при автоматической работе. Мы включили эталонную реализацию, которую вы можете настроить под свои нужды.

Хотя devcontainer обеспечивает существенную защиту, ни одна система не является полностью immune ко всем атакам. Всегда соблюдайте хорошие практики безопасности и отслеживайте действия Claude.

Ключевые особенности

  • Node.js для продакшена: Построен на Node.js 20 с необходимыми зависимостями для разработки
  • Безопасность по дизайну: Пользовательский брандмауэр ограничивает сетевой доступ только необходимыми сервисами
  • Удобные инструменты для разработчиков: Включает git, ZSH с улучшениями производительности, fzf и другое
  • Бесшовная интеграция с VS Code: Предварительно настроенные расширения и оптимизированные настройки
  • Сохранение сессии: Сохраняет историю команд и конфигурации между перезапусками контейнера
  • Работает везде: Совместим со средами разработки macOS, Windows и Linux

Начало работы в 4 шага

  1. Установите VS Code и расширение Remote - Containers
  2. Клонируйте репозиторий эталонной реализации Claude Code
  3. Откройте репозиторий в VS Code
  4. При появлении запроса нажмите “Reopen in Container” (или используйте Command Palette: Cmd+Shift+P → “Remote-Containers: Reopen in Container”)

Разбор конфигурации

Настройка devcontainer состоит из трех основных компонентов:

  • devcontainer.json: Управляет настройками контейнера, расширениями и монтированием томов
  • Dockerfile: Определяет образ контейнера и установленные инструменты
  • init-firewall.sh: Устанавливает правила сетевой безопасности

Функции безопасности

Контейнер реализует многоуровневый подход к безопасности с конфигурацией брандмауэра:

  • Точный контроль доступа: Ограничивает исходящие соединения только белым списком доменов (реестр npm, GitHub, Anthropic API и т.д.)
  • Политика запрета по умолчанию: Блокирует весь остальной внешний сетевой доступ
  • Проверка при запуске: Проверяет правила брандмауэра при инициализации контейнера
  • Изоляция: Создает безопасную среду разработки, отделенную от вашей основной системы

Варианты настройки

Конфигурация devcontainer разработана для адаптации под ваши нужды:

  • Добавляйте или удаляйте расширения VS Code в зависимости от вашего рабочего процесса
  • Изменяйте распределение ресурсов для разных аппаратных сред
  • Настраивайте разрешения сетевого доступа
  • Настраивайте конфигурации оболочки и инструменты разработчика