Claude Code раздавал сайтам email аккаунта в User-Agent — что делать
Модель вписывала email пользователя в заголовки запросов к сторонним сайтам; исправление обещают на следующей неделе.
Claude Code, консольный кодинг-агент Anthropic, в части сессий подставлял email аккаунта в заголовок User-Agent HTTP-запросов, которые модель сама писала через curl и скрипты, и этот адрес получали сторонние сайты. Об этом 5 ноября сообщил в issue 107757 на GitHub пользователь Taylor Edwards: по его словам, после этого он получает десятки мошеннических писем в день. Утечку подтвердила Лидия Халли (Lydia Hallie) из команды Claude Code: адрес уберут из контекста модели в следующем релизе, который ожидается в начале следующей недели.
Если вы работаете в Claude Code под своим аккаунтом и агент ходил в сеть сам, ваш email мог оказаться в логах API, сервисов и сайтов, к которым он обращался, вместе с названием проекта. Исправления в стабильной ветке пока нет, а временная защита в свежих версиях, по документации самой Anthropic, закрывает только часть сценариев. Ниже разбираем, как это устроено, что уже выпущено и как проверить свои сессии.
Ключевые выводы
- Источник утечки: в контекст модели для вошедших пользователей добавили email аккаунта, и Claude иногда вписывал его в User-Agent как «контактный адрес».
- Anthropic обещает убрать email из контекста в следующем релизе, ожидаемом в начале недели после 6 ноября; последняя версия на 7 ноября — 2.1.319, в её списке изменений про email ничего нет.
- Временная мера — встроенный мод
cc-plugin-privacyв версиях 2.1.317 и новее; стабильный канал обновлений на 6 ноября стоял на 2.1.311, где мода нет. - Мод не проверяет WebFetch, WebSearch, MCP-инструменты и скрипты, в которые адрес уже вписан; трое пользователей сообщили в issue, что на 2.1.317–2.1.319 он не срабатывает и в документированном случае.
- Проверить прошлые сессии можно поиском своего адреса в транскриптах ~/.claude/projects: один из пользователей нашёл 53 таких запроса в 8 сессиях с 9 августа по 1 ноября 2026 года.
Как email попадал в User-Agent?
Через контекст модели. Лидия Халли объяснила в обсуждении на Hacker News: пользователи жаловались, что Claude придумывает имена для тегов вроде @author, потому что ничего не знает об аккаунте. Тогда команда добавила email вошедшего пользователя в контекст, который Claude Code передаёт модели. Когда Claude сам составлял команду, например вызов curl, он иногда ставил этот адрес в User-Agent как контактный: некоторые сайты просят агентов указывать контакт, и модель брала тот адрес, что был у неё под рукой.
Такие просьбы действительно встречаются. Участники обсуждения приводят в пример EDGAR, базу отчётности Комиссии по ценным бумагам США: её документация просит автоматические клиенты объявлять User-Agent и в примере показывает заголовок с названием компании и контактным email. Модель, которая видит такое требование в документации и знает email пользователя, выполняет его буквально, хотя пользователь об этом не просил.
Типичный запрос из транскриптов, который привёл в issue пользователь mkubenka (данные заменены им самим):
Второй его пример — Python-скрипт, который модель сначала записала через Edit, а потом запустила: в нём заголовок User-Agent с адресом в виде «mailto:». По наблюдению mkubenka, вместе с адресом сторонний сервис получает и описательное имя клиента, которое модель берёт из сессии: название проекта, клиента или задачи. В его случае один запрос передал геосервису название проекта, email и адрес из поискового запроса.
Сколько это продолжалось и кого задело?
Точных данных Anthropic не публиковала: ни с какой версии email попадал в контекст, ни сколько пользователей затронуто. Разработчик Anthropic под ником mpoteat, на чей комментарий сослалась Халли, написал на Hacker News, что команда узнала о проблеме «несколько дней назад», когда о ней заговорили на Reddit. Тред на Hacker News к вечеру 7 ноября набрал 1585 баллов, под issue больше 100 комментариев.
Косвенную оценку дают сами пользователи. Автор issue работал на версии 2.1.318 под macOS. Пользователь morsik попросил Claude просканировать свои транскрипты и получил 53 вызова с его адресом в User-Agent в 8 сессиях с 9 августа по 1 ноября 2026 года; почти все — из субагентов, которые сами писали curl -A, а не из встроенного WebFetch. Это самоотчёт одного пользователя, а не замер Anthropic, но он показывает, что проблема старше нескольких дней.
Задеты те, кто работает в Claude Code, войдя в аккаунт (Халли говорит о signed-in users), и даёт агенту выполнять сетевые команды. Утечка идёт на те сайты и API, к которым агент обращался, а не во все подряд: morsik отмечает, что в его случае это были сервисы, где он и так зарегистрирован.
Что Anthropic уже выпустила и что обещает?
Окончательное исправление — убрать email из контекста модели — Лидия Халли обещала в следующем релизе и пообещала сообщить о выходе в треде Hacker News. На вечер 7 ноября последняя версия Claude Code — 2.1.319 от 6 ноября, и в её списке изменений нет ни email, ни User-Agent.
Временная мера — встроенный мод cc-plugin-privacy, который есть в версиях 2.1.317 и новее и включён по умолчанию. Халли описала его так: мод спрашивает пользователя, прежде чем Claude выполнит веб-вызов или curl-подобную команду с вашим email. При этом она оговорилась, что мод закрывает не все случаи, например скрипт, который Claude пишет и запускает сам. Стабильный канал обновлений, по её словам, на 6 ноября всё ещё стоял на 2.1.311, где мода нет.
README мода, который Anthropic выложила в репозиторий 6 ноября, описывает его скромнее и немного иначе. Мод отклоняет без вопроса пользователю вызов Bash, PowerShell или Monitor, если в нём одновременно есть адрес аккаунта и признак User-Agent: слово User-Agent, флаги curl -A, wget -U и их аналоги. Сами разработчики называют его «любезностью, а не границей» и перечисляют, что проходит мимо:
- адрес без явного User-Agent: в URL, теле запроса, curl -u, заголовке From;
- вызовы WebFetch и WebSearch, а также MCP-инструменты — их мод не проверяет;
- адрес, вычисленный при запуске (например, из git config), в переменной, в файле или в скрипте, который модель написала заранее;
- клиенты, которых нет в списке, и кодировки сложнее однократного percent-encoding.
Есть и вопрос, работает ли мод вообще. Трое пользователей независимо выложили в issue проверку безопасной командой вида echo 'User-Agent: test АДРЕС' > /dev/null, которая по описанию мода должна отклоняться: на macOS с версиями 2.1.317 и 2.1.318, на Windows 11 с 2.1.318 и снова на macOS с 2.1.319 команда выполнялась без отказа, хотя мод значился загруженным. Ответа команды на эти отчёты в issue на вечер 7 ноября нет.
Что сделать пользователю Claude Code сейчас?
Обновиться и не полагаться на мод как на единственную защиту. Порядок действий по сведениям Anthropic и проверкам из issue:
- Проверьте версию командой
claude --version. Если она ниже 2.1.317, обновитесь черезclaude update. На стабильном канале версии 2.1.317 пока может не быть: Anthropic советует перейти на 2.1.317 или новее, а канал задаётся настройкойautoUpdatesChannelв settings.json. - Убедитесь, что мод не выключен: он виден в
/pluginsкакcc-plugin-privacy@builtin. Настройки репозитория его не отключают; по README выключить его могут пользовательские, переданные через --settings или управляемые настройки, серверный переключатель Anthropic, хук установленного плагина, который переопределит отказ, и сессия, где модуль хуков не загрузился. - Не давайте агенту ходить в сеть без подтверждения, пока не выйдет релиз без email в контексте: оставьте сетевые команды curl, wget и запуск скриптов в режиме вопроса, а не в списке разрешённых.
- Найдите в транскриптах прошлые запросы со своим адресом (команда ниже) и посмотрите, каким сайтам он ушёл. Если среди них есть незнакомые, учитывайте риск целевого фишинга со ссылками на ваши реальные проекты.
- После выхода обещанного релиза обновитесь ещё раз и проверьте его список изменений.
Транскрипты сессий Claude Code лежат в ~/.claude/projects в виде файлов .jsonl; именно так проверяли свои сессии пользователи в issue. Адрес аккаунта хранится в ~/.claude.json в поле oauthAccount.emailAddress. Поиск фрагментов, где адрес (ищется как буквальная строка, без регулярных выражений) соседствует с User-Agent или флагами curl -A и wget -U:
Упоминаний адреса в транскриптах будет много и без утечки: он лежит в самом контексте. Значение имеют только те строки, где он стоит в заголовке исходящего запроса; в выводе второй команды смотрите на домены после адреса.
Пользователь KardKuro в issue описал временную защиту: собственный хук PreToolUse с тем же правилом (адрес плюс слово User-Agent или флаги curl -A и wget -U), который проверяет ещё и Write и Edit, чтобы адрес не попал в скрипт до запуска. Это самодельное решение пользователя, а не рекомендация Anthropic.
Почему одного удаления email может не хватить?
Удаление адреса из контекста убирает личность, но не привычку модели подписывать запросы. mkubenka предложил в issue, чтобы для запросов, которые модель составляет сама, по умолчанию использовался обезличенный User-Agent вида claude-code/<версия>, а описательное имя или контакт — только по просьбе пользователя. Anthropic на это предложение пока не ответила. По нашей оценке, до такого изменения стоит считать, что название проекта в User-Agent может уходить и после патча: сайты видят его вместе с IP.
Для Anthropic это не первая тема о том, что Claude Code делает за спиной пользователя: недавно мы писали, как новый инструмент раскрывает внутреннюю кухню Claude Code и как компания удешевила сводки фоновых субагентов. Соседние агенты тоже активно выпускают обновления: свежие изменения OpenCode и других инструментов собраны в обзоре кодинг-агентов от 6 ноября.
Следующая точка проверки — релиз Claude Code после 2.1.319: в его списке изменений должно быть удаление email из контекста. Отдельно стоит следить за ответом команды на отчёты о том, что мод cc-plugin-privacy не срабатывает.
Источники: GitHub: issue 107757 «Privacy violation in User-Agent header», Hacker News: ответ Лидии Халли из команды Claude Code, Hacker News: обсуждение «Claude Code sends your email address to websites», README мода privacy в репозитории Claude Code, Релизы Claude Code на GitHub
Изображение на обложке: логотип: Anthropic