Anthropic изучает, как не дать Claude Code сохранять пароли, пишет iTnews
Агент для программирования Claude Code может записать в файл настроек пароли из команд, которые пользователь разрешил запускать без вопросов. Исследователи нашли тысячи таких секретов на GitHub, а в Anthropic говорят, что ищут защиту.

Борис Черный, руководитель Claude Code в Anthropic, признал, что агент для программирования не вычищает пароли и ключи из команд, которые сохраняет в настройках разрешений. По данным австралийского издания iTnews, команда собирается попробовать несколько способов это исправить. Срок исправления не назван.
Почему это важно: разработчики жмут «больше не спрашивать», чтобы не отвлекаться, а в открытом коде остаётся доступ к рабочим базам данных и серверам. Пароль, набранный после PGPASSWORD= или в команде входа на сервер по SSH, выглядит как обычное слово, а не как ключ известного формата. Поэтому 215 из 1 122 файлов с настоящими паролями и ключами не заметил ни один из двух популярных сканеров секретов — Gitleaks и TruffleHog.
Повод: 5 ноября компания Apiiro, которая занимается защитой кода, опубликовала исследование. На GitHub она нашла 104 185 открытых копий файла .claude/settings.local.json в 103 617 репозиториях; в 1 122 таких файлах лежит хотя бы один настоящий секрет. Действуют ли найденные ключи, Apiiro не проверяла. Но одна из компаний, которую предупредили исследователи, подтвердила, что её ключ работал.
Как это работает: почти перед каждой командой в терминале Claude Code спрашивает разрешения. Если ответить «Да, и больше не спрашивать», агент записывает правило в файл настроек проекта. Когда в правиле стоит точная команда, а не шаблон, пароль, набранный прямо в ней, остаётся в файле открытым текстом. Apiiro воспроизвела это с Claude Opus 5.5 и Claude Fable 5.1 и считает, что дело в самом агенте, а не в модели.
В цифрах: вот что Apiiro нашла в нынешних копиях файла.
- Всего там 1 379 разных секретов, больше трети из них дают прямой доступ к базе данных: это 379 паролей от баз и 122 служебных ключа Supabase1.
- Ещё там 43 набора учётных данных для входа на публичные серверы по SSH, в том числе пароли администратора, а также 42 токена GitHub, GitLab и npm2 и 23 ключа AWS.
- Если добавить прошлые версии файла, общий файл настроек команды и сохранённые переписки с агентом, выходит 2 539 секретов в 1 994 репозиториях.
Детали: «Исторически Claude Code не вычищал секреты (для этого есть много хороших инструментов), но мы изучаем, что можно сделать, чтобы это предотвратить», — написал Черный на Hacker News3. По данным iTnews, команда попробует встроить в агента простой поиск секретов и научить автоматический режим перехватывать такие команды, хотя Черный не уверен, что это решит проблему. Он напомнил, что файл должен оставаться на компьютере разработчика: создавая его, Claude Code сам вносит его в список файлов, которые не отправляются в репозиторий. Значит, в открытый код эти файлы добавили вручную. Ручные правила разрешений Черный назвал вчерашним днём. Он советует перейти на автоматический режим: там команды вместо человека проверяет фоновый классификатор, отдельная модель, которая решает, соответствует ли действие запросу.
Другая сторона: по данным Apiiro, в 539 из 1 105 репозиториев с настоящим секретом файл изменяла запись в истории проекта (коммит), где соавтором указан Claude. Такую отметку Claude Code по умолчанию ставит на записи, которые делает сам. Выходит, файл нередко вносит в историю проекта сам агент, а на GitHub он попадает уже вместе с этой историей. Кроме того, это исключение записывается в настройки одного компьютера. Оно не защищает папку, которая стала репозиторием позже, и копию проекта на другой машине. О проблеме пользователи писали на GitHub с августа 2025 года. По словам Apiiro, Anthropic не ответила ни на одно обращение, а три из них закрылись автоматически.
Если шире: 9 ноября свои данные выложила GitGuardian, которая следит за утечками секретов в открытом коде. Она проверяет каждую версию файла в момент отправки, включая удалённые. С января 2025 года по 7 ноября 2026-го она насчитала в этом файле 31 088 разных секретов в 23 276 репозиториях. Из этих секретов 5 343 в момент обнаружения работали. Больше всего утечек было в апреле 2026 года, а к октябрю их число за месяц упало на 92%. «Я не знаю, что изменилось весной», — пишет автор исследования Гийом Валадон.
Что говорят: обсуждение на Hacker News собрало больше 400 комментариев, и многие спорили с советом Черного перейти на автоматический режим. «Я хочу задать жёсткие границы того, что может агент. Мне не нужен вероятностный подход к безопасности», — написал один из участников обсуждения.
Так уже было: в апреле 2026 года Lakera4 нашла учётные данные в 33 таких файлах из 30 пакетов npm.
Apiiro советует сначала сменить все пароли и ключи, которые когда-либо попадали в файл, и только потом его удалять: в истории изменений репозитория, форках и чужих копиях проекта он останется. Секреты лучше хранить отдельно, в переменных окружения, а в командах ссылаться на них, не вписывая сами значения. Разрешать стоит шаблоны команд, а не конкретные строки.