Согласно новому исследованию компании Apiiro, занимающейся безопасностью приложений, самая удобная кнопка в Claude Code от Anthropic — «Да, и больше не спрашивать» — незаметно превратилась в машину для утечки учетных данных. Когда разработчики одобряют команду, содержащую секрет, Claude Code сохраняет именно эту команду, включая секрет, в локальный файл настроек, который часто попадает в общедоступные репозитории GitHub. Сканирование Apiiro обнаружило 2539 реальных секретов, хранящихся в 1994 общедоступных репозиториях: пароли баз данных, ключи облачных API, токены и корневые логины SSH, разбросанные по 63 организациям, большинство из которых являются компаниями-разработчиками программного обеспечения. Одна пострадавшая компания подтвердила исследователям, что открытый ключ был действующим. Это второй инцидент с конфиденциальностью Claude Code в этом месяце после того, как инструмент [раскрыл электронные письма пользователей веб-сайтам] (https://aibuzzwire.news/en/article/claude-code-leaked-user-emails-user-agent-header-spam-wave) через заголовки User-Agent — и этот инцидент касается производственной инфраструктуры, а не только контактных данных. Мы внимательно следим за безопасностью агента кодирования ИИ в нашем [освещении об инструментах ИИ] (https://aibuzzwire.news).

Как правило разрешения становится утечкой

Этот механизм является побочным эффектом системы разрешений Claude Code, которая запрашивает одобрение перед запуском команд оболочки — часто несколько раз за сеанс. Попросите агента отладить соединение с базой данных или вызвать внутренний API, и предлагаемая им команда будет содержать все учетные данные, необходимые для этой задачи, поскольку без них он не сможет работать.

Выберите «Да, и больше не спрашивать», и Клод Код запускает команду и записывает правило разрешения в `.claude/settings.local.json` внутри папки проекта. Правило не является абстракцией: оно представляет собой полную командную строку, пароль, введенный в виде обычного текста, и все такое.

Файл предназначен для того, чтобы оставаться на компьютере разработчика, и Claude Code пытается защитить его, добавляя в глобальный список игнорирования git разработчика. Это охватывает общий случай, но не крайние случаи: папка, которая позже становится хранилищем, клон на другом компьютере, где глобальное игнорирование не существует, или файл, который кто-то зафиксировал до добавления записи игнорирования. Важно отметить, что правило никогда не попадает в собственный `.gitignore` репозитория, поэтому никакая защита не передается вместе с проектом.

Проблема усугубляется тем, что Клод Код часто фиксирует сам файл. В 539 из 1105 репозиториев, где Апииро отследил настоящую тайну, коммит, соавтором которого был Клод, изменил файл настроек — это коммиты с именами моделей от Sonnet 4.5 до Opus 5.5. Апиро отмечает, что такое поведение принадлежит Клоду Коду, а не модели: фирма воспроизвела его как в Opus 5.5, так и в Fable 5.1.

Масштаб воздействия

Апииро насчитал 104 185 общедоступных копий .claude/settings.local.json на GitHub. Из них 1122 содержат по крайней мере один настоящий секрет. Исследователи обнаружили еще 1160 секретов, спрятанных в истории репозитория git, в общих файлах `settings.json`, которые команды намеренно сохраняют, а также в сохраненных стенограммах чата агентов, проверенных в репозиториях.

Примеры документов Apiiro читаются как контрольный список наихудших практик. Поставщик базы данных предоставил свой собственный ключ облачного API уровня администратора — с доступом для управления и без срока действия — вместе со своим узлом кластера. B2B-стартап опубликовал рабочий пароль Azure Postgres. Агентство по разработке программного обеспечения предоставило токен доступа Square к производству. Фирма, предоставляющая ИТ-услуги и создающая приложение для ведения медицинских записей, раскрыла пароль владельца этой базы данных. У проектов с открытым исходным кодом дела обстоят не лучше: один, получивший более 1000 звезд, опубликовал ключ API в формате OpenAI, другой — токен npm.

Контекст безопасности усугубляет результаты. Вредоносное ПО, крадущее учетные данные, уже массово захватывает компьютеры разработчиков — Апииро указывает на червя Shai-Hulud npm, который запускал сканер TruffleHog для файлов жертв. Тот же самый сканер пометит 643 из 1122 утекших файлов, найденных Apiiro. Еще большее беспокойство вызывает результат: каждый пятый из утекших файлов не помечен ни TruffleHog, ни gitleaks, обычно потому, что секретом является пароль, введенный внутри команды, а не ключ в узнаваемом формате токена. Другими словами, сканеры секретов структурно слепы к этому классу утечек.

Что следует делать затронутым командам

Рекомендации Апиро по устранению последствий начинаются с определения радиуса взрыва. Найдите в своей организации GitHub `.claude/settings.local.json` и `.claude/settings.json` — каждое попадание представляет собой файл, который каждый может прочитать прямо сейчас. Проверьте историю git каждого репозитория на наличие файла, даже если он был удален, поскольку каждая вилка и клон сохраняют всю содержащуюся историю. Затем проверьте локальные копии на каждой машине разработчика: каждая запись в списке разрешений представляет собой одобренную кем-то команду со всем, что в нее было введено.

Порядок фирмы имеет значение: сначала ротация, потом наведение порядка. Удаление файла из репозитория не влияет на учетные данные, которые уже были общедоступными, а история git сохраняет раскрытые секреты в течение неопределенного времени.

Образец, а не единичный экземпляр

Для Anthropic находка была сделана через неделю после того, как Клод Код был пойман на утечке адресов электронной почты пользователей на каждый посещаемый им веб-сайт через заголовки User-Agent — ошибка, исправленная путем выпуска модификации конфиденциальности, которую критики назвали пластырем. У этих двух инцидентов общая основная причина: агент, который обрабатывает мощный контекст — учетные данные, контактные данные, внутренние имена хостов — и принимает решения по умолчанию о том, куда перемещается этот контекст.

Урок выходит за рамки Клода Кода. Поскольку агенты кодирования становятся стандартным оборудованием, файлы, которые они записывают для самоорганизации, становятся новым, несканируемым звеном цепочки поставок программного обеспечения. Цифры Апииро показывают, что утечка уже достигла таких масштабов, которые большинство организаций даже не начали измерять.

Будьте впереди ИИ

Инструменты искусственного интеллекта поставляются быстрее, чем успевают их обзоры безопасности. Следите за каждым развитием событий в нашем освещении новостей AI.

Читать больше новостей об искусственном интеллекте →