Claude Code 2.1.221 тепер дозволяє користувачам Linux та WSL2 маскувати файли облікових даних перед тим, як їх зможе прочитати команда в пісочниці. Ця функція надає команді нешкідливу копію-заглушку (sentinel copy) і замінює її на справжній секрет лише тоді, коли дозволений запит проходить через проксі-сервер.
Як виглядає процес маскування
- Копія-заглушка (Sentinel copy) – Коли файл позначено для маскування, Claude Code створює дублікат, який містить рядок-заповнювач замість справжнього секрету.
- Підміна через проксі (Proxy swap) – Пісочниця працює за проксі-сервером із термінацією TLS. Якщо пісочниця надсилає запит, що відповідає запису в списку
injectHosts, проксі замінює заповнювач на справжній токен перед тим, як запит покине машину. - Обробка помилок – Якщо регулярний вираз для вилучення не знаходить секрет, пісочниця може перервати роботу, замість того щоб продовжувати з відкритим оригінальним файлом.
Цей підхід працює лише на Linux та WSL2; у macOS за замовчуванням встановлено режим суворої заборони (hard deny), що означає, що пісочниця взагалі не може читати файл.
Контрольний список для безпечного впровадження
Перевірте версію
- Переконайтеся, що ви використовуєте Claude Code версії 2.1.221 або новішої. Рядок версії в терміналі — єдиний надійний метод; файли блокування пакетів (package lock files) можуть вводити в оману.
Використовуйте тимчасові токени
- Ніколи не експериментуйте зі своїми основними обліковими даними GitHub або хмарними обліковими даними. Створіть короткостроковий токен, який вказує на нешкідливу «канарейку» (canary endpoint), і негайно анулюйте його, якщо щось піде не так.
Виберіть правильний режим маскування
| Режим | Коли використовувати |
|---|---|
| File Deny | Сувора заборона; будь-яка спроба читання завершується невдачею. |
| Whole-File Mask | Файл містить один секрет (наприклад, API-ключ у відкритому тексті). |
| Structured Mask | Файл змішує секрети з іншими даними (JSON, YAML, .netrc). Використовуйте режим extract та регулярний вираз, який захоплює секрет у групу 1. Це дозволить зберегти валідність навколишньої синтаксичної структури для клієнтської програми. |
Встановіть суворі правила обробки помилок
- Встановіть
onExtractNoMatchна значення error. Якщо регулярний вираз не знайде збігу, пісочниця зупиниться. Значення за замовчуванням warn може призвести до того, що оригінальний файл пройде непоміченим.
Увімкніть термінацію TLS
- Проксі-сервер повинен термінувати TLS, щоб виконати підміну. Без термінації TLS проксі не зможе побачити корисне навантаження запиту (payload), і заміна не відбудеться.
Звузьте область хостів
- Заповніть
injectHostsявними іменами хостів із вашого спискуallowedDomains. Уникайте символів підстановки (wildcards), таких як*.example.com; широкі шаблони розширюють поверхню атаки та нівелюють мету маскування.
Перевірте результат
- Перевірте логи, аргументи процесів та повідомлення про помилки на наявність реального токена. Копія-заглушка має бути єдиним значенням, яке з'являється в цих артефактах.
Обмеження, які слід мати на увазі
Маскування захищає токен лише від доступу команди в пісочниці до файлової системи. Воно не заважає команді виконувати довільні мережеві виклики і не захищає від вбудованих інструментів Claude, які можуть мати привілейований доступ.
Підсумок
Функція маскування облікових даних у Claude Code 2.1.221 надає розробникам Linux та WSL2 практичний спосіб захистити секрети від процесів у пісочниці.
