Sandbox зменшує наслідки помилки

Permissions обмежують дозволені дії, а sandbox визначає середовище їх виконання. Пісочниця потрібна не лише для того, щоб заборонити небезпечну команду, а й для зменшення наслідків помилки.

Перед початком визначте дозволені paths і commands, заборонені системні або production-зони, мережеві доступи та тип даних, із якими можна працювати.

Рівень ізоляціїКоли доречнийЩо не вирішує
Окрема гілкаМалі зміни та обовʼязковий reviewНе ізолює локальне оточення
Git worktreeВеликі або експериментальні зміниНе ізолює env, порти й локальні бази
КонтейнерЗалежності, runtime і тестові сервісиНе є повною VM-межею
Віртуальна машинаОсобливо небезпечні системні експериментиПотребує більше ресурсів і часу

Ізолюйте код, середовище й дані разом

  • використовуйте test DB замість production;
  • генеруйте synthetic records;
  • передавайте fake credentials або лише необхідні env;
  • вмикайте test profile конфігурації;
  • не вважайте навіть санітизований production dump автоматично безпечним.

Практичний sandbox workflow

  1. Класифікуйте ризик задачі.
  2. Оберіть branch, worktree, container або VM.
  3. Винесіть роботу з основної копії.
  4. Підключіть тільки test DB і синтетичні дані.
  5. Обмежте команди, paths, мережу та secrets.
  6. Запустіть build, тести й перевірку побічних ефектів.
  7. Перегляньте diff і прийміть окреме людське рішення.
  8. Після роботи приберіть тимчасові контейнери, дані, worktree й непотрібні гілки.

Вибір ізоляції за сценарієм

СценарійРекомендована межа
Документація або мала правкаОкрема гілка
Значна зміна кодуГілка або worktree
Оновлення залежностей і складний buildWorktree разом із контейнером
Міграція або масове оновленняWorktree, test DB і synthetic data
Записуваний MCP або неперевірений toolContainer або VM
Масове видаленняОдноразове середовище з контрольним набором

Sandbox не замінює інші controls

  • dry-run показує план, але не всі побічні ефекти;
  • backup допомагає відновитися, але не робить помилку безпечною;
  • staging може бути спільним і недостатньо ізольованим;
  • Git, тести, review і людський контроль залишаються обовʼязковими.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush