Две сессии Claude Code съели 32% месячного счёта команды

Двенадцать сессий Claude Code из 342, каждая дороже 300 долларов, дали 65% месячного счёта команды из десяти человек. Дешёвая половина сессий набрала всего 2%. Такую картину показал разбор Promptarmor, опубликованный 24 сентября.
В основе разбора 310 009 событий OpenTelemetry за 30 дней работы Claude Code и Cowork. Данные дал корпоративный партнёр, перед публикацией их анонимизировали. Кроме денег авторы смотрели на риски: где агент держит секреты открытым текстом, сколько чужого текста читает и как долго работает без человека. По расходам на модели счёт за месяц складывается примерно в 16 тысяч долларов на 65 892 вызова API.
Кто платит за перечитывание
97% всех токенов пришлись на чтение из кэша: на каждом шаге агент заново отправляет модели всю свою переписку. Кэш тарифицируется по десятой части цены ввода, это 1 доллар за миллион токенов на Fable 5 и 0,50 доллара на Opus 5. Но объём его перекрывает скидку, и на кэш ушло около 68% расходов.
Две самые дорогие сессии вместе съели 32% счёта, 5 079 долларов. Обе в основном работали на Fable, и обе держали открытыми больше недели, возобновляя каждый день. В среднем каждый вызов модели в них тащил за собой около 500 тысяч токенов закэшированного контекста. Похожую кривую видно и на другой выборке: в сентябре разбор 144 сессий показал, что ход после 141-го стоит в 2,1 раза дороже, чем в первой двадцатке той же сессии.
За месяц команда пользовалась восемью моделями, но 89% расходов разделили две. Fable 5 взял 54% счёта (8 573 доллара) при 27% вызовов, Opus 5 взял 36% (5 699 долларов) при 50% вызовов. Fable вызывали на 45% реже, а заплатили за него на 50% больше. Причин две. Средний вызов Fable 5 нёс 319 тысяч токенов против 201 тысячи у Opus 5, а смешанная цена (ввод, вывод и кэш вместе) составила 1,31 доллара за миллион токенов против 0,75. В итоге вызов Fable в среднем стоил 0,42 доллара, Opus 0,15.
Haiku 4.5 обслужила 5% вызовов и меньше 1% счёта, 46 долларов. В основном это вспомогательная работа: 2 067 вызовов ушли на предобработку результатов веб-поиска и загрузки страниц, ещё часть на заголовки сессий.
Секрет до сжатия контекста
Claude обучен работать с учётными данными, не читая их: передать секрет дочернему процессу без вывода на экран или программно поставить его в HTTP-заголовок. За месяц так произошло 2 979 раз. А 66 раз Claude напечатал секрет прямо в вывод. Это около 2% случаев работы с учётными данными, но напечатанное значение остаётся в контексте до сжатия и уходит в Anthropic с каждым следующим вызовом. Поэтому открытый секрет был в 5 840 из 65 892 вызовов API, или в 9%, и затронул 32 сессии из 342.
Чуть меньше половины таких утечек пришлись на чтение из менеджера секретов команды, около трети на дамп окружения запущенного процесса. Остальное - вывод локального .env, секрета кластера или записи из связки ключей macOS. Кроме запросов к API, значение оседает в стенограмме сессии, а в зависимости от настроек и в логах OTel. Там, где оно висит в контексте, его может выманить непрямая промпт-инъекция.
Насколько подробно пишутся логи, решает администратор. Телеметрия выключена по умолчанию и включается переменной CLAUDE_CODE_ENABLE_TELEMETRY=1, промпты пользователя по умолчанию скрыты (OTEL_LOG_USER_PROMPTS=1 их открывает), а подробности и содержимое вызовов инструментов добавляют OTEL_LOG_TOOL_DETAILS=1 и OTEL_LOG_TOOL_CONTENT=1. Согласно документации Claude Code, настройки OpenTelemetry для всех задаются через управляемый файл настроек, а .claude/settings.json в репозитории включить телеметрию или сбор содержимого не может. Форма OpenTelemetry для Cowork в админ-консоли действует только на сессии Cowork, ни CLI, ни вкладка Code в заданный там коллектор не пишут.
Откуда приходит чужой текст?
В 14% ходов (1 308) агент читал недоверенный внешний текст, всего 135 МБ. Ход здесь - всё, что агент делает после одного промпта пользователя. Распределение по источникам такое:
- серверы MCP: 70,1 МБ, 52%;
- загрузка веб-страниц: 44,5 МБ, 33%;
- результаты веб-поиска: 16,5 МБ, 12%;
- shell-команды к внешним хостам: 3,9 МБ, 3%.
Медианный такой ход прочитал 2,9 КБ, каждый десятый больше 141 КБ, каждый сотый больше 833 КБ, двенадцать ходов больше мегабайта. К серверам MCP за месяц обратились 3 500 раз, в среднем по 20 КБ за вызов; серверов было 49, почти по пять на человека, а самый крупный ответ весил 1,07 МБ.
Из 61 МБ веб-данных до основного агента доходит только часть: харнесс сначала прогоняет их через Haiku, которая вырезает нужное. Авторы оговаривают, что риск инъекции это снижает, но не убирает: инъекция может выдать себя за важное и уговорить Haiku передать её дальше. Ещё 255 хостов агент открыл через bash, среди них API сервисов команды вроде GitHub и произвольные сайты, скачанные через curl вместо веб-инструментов. Всего внешних хостов набралось 650, и 56% соединений с ними случились больше чем через 10 вызовов модели после последнего сообщения пользователя.
Сколько шагов без человека
Шагом авторы считают один цикл, в котором модель думает и вызывает инструменты, включая шаги порождённых субагентов. Медианный промпт занимал 86 символов, медианный ход 3 вызова модели. Каждый сотый ход превышал 72 шага, самый длинный растянулся на 1 102.
Половина вызовов инструментов пришлась больше чем на 10 шагов после последнего сообщения человека. Каждый десятый случился дальше 160 шагов, каждый сотый дальше 782. Команды, которые удаляют файлы, коммитят, пушат код или ходят в сеть, держались ближе к пользователю, с медианой в 5 шагов, но каждая десятая ушла дальше 56. По времени 13% ходов шли больше пяти минут без участия человека, 2% больше пятнадцати и меньше 1% больше часа.
Одна команда rm -rf выполнилась через 920 шагов после последнего сообщения пользователя.
Дальше
Claude заменил 4,9 МБ таблиц эмулятора PSP на 10,5 КБ
«У железа точно нет 5 МБ ПЗУ под это», рассудил Claude, глядя на таблицы, которыми эмулятор PPSSPP повторял математику PSP. Примерно за час Opus 5.5 нашёл настоящую схему, и 4,9 МБ сжались до 10,5 КБ без потери точности.
Читайте также
- Claude Code шлёт Anthropic хеши файлов даже с DeepSeek
- Пользователь: Claude Code отправлял его email наружу
- После 141-го хода ход в Claude Code стоит в 2,1 раза дороже
- Патчи в CI у Anthropic жили 70 дней, 29 дней и меньше суток
- Пароли из Claude Code осели в 1 122 публичных файлах
- Фильтр Claude Code от утечки email видит три инструмента
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

