Claude Code 2.1.221 теперь позволяет пользователям Linux и WSL2 маскировать файлы с учетными данными перед тем, как их сможет прочитать команда в песочнице. Эта функция передает команде безвредную копию-заглушку и подменяет её реальным секретом только тогда, когда проходит разрешенный запрос через прокси.
Как выглядит процесс маскирования
- Копия-заглушка — Когда файл помечается для маскирования, Claude Code создает дубликат, содержащий строку-заполнитель вместо реального секрета.
- Подмена через прокси — Песочница работает за прокси с терминацией TLS. Если песочница отправляет запрос, соответствующий записи в списке
injectHosts, прокси заменяет заполнитель на реальный токен перед тем, как запрос покинет машину. - Обработка ошибок — Если регулярное выражение для извлечения не находит секрет, песочница может прервать выполнение вместо того, чтобы продолжать с открытым исходным файлом.
Этот подход работает только на Linux и WSL2; в macOS по умолчанию установлен строгий запрет, что означает, что песочница вообще не может прочитать файл.
Чек-лист для безопасного внедрения
Проверьте версию
- Подтвердите, что вы используете Claude Code версии 2.1.221 или новее. Строка версии в терминале — единственный надежный метод; файлы блокировки пакетов (package lock files) могут вводить в заблуждение.
Используйте одноразовые токены
- Никогда не экспериментируйте со своими основными учетными данными GitHub или облачными данными. Создайте кратковременный токен, указывающий на безвредный «канареечный» эндпоинт, и мгновенно отзовите его, если что-то пойдет не так.
Выберите правильный режим маскирования
| Режим | Когда использовать |
|---|---|
| File Deny | Строгий блок; любая попытка чтения завершается ошибкой. |
| Whole-File Mask | Файл содержит один секрет (например, API-ключ в виде обычного текста). |
| Structured Mask | Файл смешивает секреты с другими данными (JSON, YAML, .netrc). Используйте режим extract и регулярное выражение, которое захватывает секрет в группу 1. Это сохранит окружающий синтаксис валидным для клиентской программы. |
Установите строгие правила обработки ошибок
- Установите
onExtractNoMatchв значение error. Если регулярное выражение не найдет совпадений, песочница остановится. Оставление значения по умолчанию warn может привести к тому, что исходный файл незаметно просочится в процесс.
Включите терминацию TLS
- Прокси должен завершать TLS-соединение, чтобы выполнить подмену. Без терминации TLS прокси не сможет увидеть полезную нагрузку запроса, и подмена не произойдет.
Сузьте область действия хостов
- Заполните
injectHostsявными именами хостов из вашего спискаallowedDomains. Избегайте подстановочных знаков вроде*.example.com; широкие шаблоны расширяют поверхность атаки и сводят на нет смысл маскирования.
Проверьте результат
- Просканируйте логи, аргументы процессов и сообщения об ошибках на предмет появления реального токена. Копия-заглушка должна быть единственным значением, которое когда-либо появляется в этих артефактах.
Ограничения, которые следует учитывать
Маскирование защищает токен только от представления файловой системы команды в песочнице. Оно не мешает команде выполнять произвольные сетевые вызовы и не защищает от встроенных инструментов Claude, которые могут иметь привилегированный доступ.
Итог
Функция маскирования учетных данных в Claude Code 2.1.221 дает разработчикам на Linux и WSL2 практический способ оградить секреты от процессов в песочнице.
