💸 Неограниченное потребление и Denial of Wallet (LLM10): как защитить AI-систему от runaway-расходов и финансового истощения
Целевая аудитория: Команды, эксплуатирующие LLM-сервисы и AI-агентов на pay-per-token / pay-per-inference тарифах — там, где каждый запрос к модели стоит денег, а неконтролируемый поток вызовов превращается из инцидента доступности в прямой финансовый ущерб.
Неограниченное потребление (Unbounded Consumption, бывший Model Denial of Service) — это класс уязвимостей, при котором приложение допускает избыточный и неконтролируемый вывод модели: чрезмерное число запросов, раздувание контекста, ресурсоёмкие вычисления. Итог — отказ в обслуживании (DoS), деградация сервиса, кража модели и, что для бизнеса часто страшнее всего, экономический ущерб — «Denial of Wallet» (DoW): атакующий не роняет сервис, а генерирует объём оплачиваемых вызовов, который выставляет компании неподъёмный счёт. Этот класс зафиксирован в OWASP Top 10 для LLM 2025 как LLM10:2025 Unbounded Consumption. На этой странице мы разбираем векторы перерасхода и показываем, что с их делает защитный слой платформы Spectorn (набор движков обнаружения и блокировки, работающий в составе Spectorn). Сразу честная рамка: фактическое ограничение нагрузки — rate-limiting, квоты, бюджеты на токены и таймауты — живёт на вашем API-шлюзе, а не в движках детекции. Роль защитного слоя здесь — обнаружение и корреляция: распознать паттерн флуда или раздувания и поднять алерт, чтобы шлюз и плейбук применили throttling.
Часть серии угроз: OWASP LLM Top 10 · Автономные AI-агенты · Избыточные полномочия · Утечка данных.
Что такое Denial of Wallet и почему токены = деньги
В классической модели DoS цель атакующего — исчерпать вычислительный ресурс и сделать сервис недоступным. В мире LLM экономика другая: вывод модели тарифицируется поштучно — за токены ввода и вывода, за вызов inference, за время GPU. Это смещает центр тяжести атаки.
- DoS — перегрузить систему так, чтобы она перестала отвечать легитимным пользователям (деградация, очереди, отказ).
- Denial of Wallet (DoW) — не ронять сервис вовсе, а заставить его исправно работать на максимуме оплачиваемой нагрузки. Сервис «здоров», но в конце месяца приходит счёт, который способен закрыть компанию. На pay-per-token тарифах это самая коварная форма: метрики доступности зелёные, а финансовая тяга — красная.
- Кража модели (model theft) — серией дорогих запросов извлекать поведение/веса модели; это одновременно и перерасход, и интеллектуальная кража.
Почему агентские системы особенно уязвимы. Автономный AI-агент (см. Автономные AI-агенты) не делает один вызов — он рекурсивно планирует, вызывает инструменты, читает их вывод, снова обращается к модели. Одна команда верхнего уровня разворачивается в десятки и сотни вложенных inference-вызовов и API-запросов. Здесь DoW способен случиться даже без атакующего: благонамеренный сотрудник просит агента «изучи всех конкурентов и собери полный отчёт» — и плохо спроектированный human-in-the-loop запускает сотни рекурсивных вызовов инструментов, каждый из которых стоит денег. Перерасход — это не только злой умысел, но и архитектурный дефект контроля рекурсии.
Именно поэтому защита от неограниченного потребления — это два разных слоя, которые нельзя путать: инфраструктурное ограничение (шлюз режет поток) и поведенческое обнаружение (движок и SOC видят, что поток аномальный, и поднимают тревогу). Spectorn отвечает за второй слой и кормит сигналами первый.
🛑 Векторы перерасхода и как Spectorn их прикрывает
1. Token/input flooding — флуд запросами и раздутым вводом
Риск: Атакующий генерирует высокий объём запросов — много обращений подряд либо отдельные гигантские промпты с вводом переменной длины, специально подобранным, чтобы максимизировать число оплачиваемых токенов. Цель — не столько уронить сервис, сколько раскрутить счётчик: на pay-per-token тарифе каждый лишний токен превращается в деньги. Поток может идти с одного источника или быть размазан по сессиям, чтобы обойти наивные пороги.
OWASP LLM10:2025 Unbounded Consumption · MITRE ATLAS AML.T0034 (Cost Harvesting), AML.T0029 (Denial of ML Service).
Защита Spectorn:
- Движки/компоненты:
resource_exhaustion, корреляция в вашей SIEM, Decision Logger. resource_exhaustionраспознаёт ресурсоёмкий ввод — аномально большой промпт и паттерны, нацеленные на исчерпание ресурса, — и помечает запрос ещё до отправки в модель.- Закономерность, растянутую на много событий, ловит ваша SIEM: Spectorn отправляет туда каждую находку с правилом, категорией, серьёзностью и
verdict_id; собственная корреляция SOC (GoMCP) в облачных контурах не развёрнута.
Что Spectorn честно НЕ заменяет: само ограничение потока. Rate-limiting, per-tenant квоты и потолки на токены — это настройки вашего API-шлюза, которые физически режут трафик. Spectorn распознаёт, что поток аномальный, и поднимает алерт; throttling выполняет шлюз по плейбуку. Движок не «тормозит» трафик сам по себе.
2. Recursive context expansion — раздувание контекстного окна
Риск: Атакующий вынуждает систему раз за разом расширять контекст: каждый ответ подмешивается обратно во ввод, документы рекурсивно дописываются, история диалога раздувается до предела окна. Поскольку стоимость inference растёт с длиной контекста, такое «раскручивание окна» (context-window flooding) превращает один диалог в дорогостоящую воронку — число токенов на каждом шаге множится.
OWASP LLM10:2025 Unbounded Consumption · MITRE ATLAS AML.T0034 (Cost Harvesting), AML.T0029 (Denial of ML Service).
Защита Spectorn:
- Движки/компоненты:
resource_exhaustion, корреляция в вашей SIEM. resource_exhaustionраспознаёт паттерны лавинообразного расширения ввода и инструкции, направленные на раскрутку контекста, помечая их как ресурс-исчерпывающие.- Рост длины запросов в рамках одной сессии указывает на context-flooding: правило стройте в вашей SIEM, а потолок на длину/контекст ставьте на свой API-шлюз.
Что Spectorn честно НЕ заменяет: жёсткий потолок на размер контекста и длину запроса. Максимальное окно, обрезка истории и лимит на токены ввода — это настройки шлюза и самого приложения, а не движка детекции. Spectorn сигнализирует о раздувании, ограничение ставит инфраструктура.
3. Recursive agent cost attack — рекурсивный перерасход агента
Риск: Агенту дают задачу, которая разворачивается в неконтролируемое дерево вызовов: «изучи всех конкурентов и собери полный отчёт», «обойди весь сайт и проиндексируй каждую страницу». Агент рекурсивно планирует, вызывает инструменты, читает вывод и снова обращается к модели — сотни вложенных inference-вызовов и API-запросов на одну команду. Опасность в том, что инициатором может быть и атакующий, и благонамеренный сотрудник: один лишь плохо спроектированный human-in-the-loop без потолка рекурсии способен вызвать DoW-событие. Агент дрейфует от предсказуемой цели в режим бесконечного расширения, иногда «крутясь» без реального прогресса.
OWASP LLM10:2025 Unbounded Consumption, LLM06:2025 Excessive Agency · MITRE ATLAS AML.T0034 (Cost Harvesting), AML.T0029 (Denial of ML Service).
Защита Spectorn:
- Движки/компоненты:
goal_predictability,false_completion, корреляция в вашей SIEM. goal_predictability— эвристический поведенческий движок: в командах агента выявляет паттерны увода с штатной цели в режим runaway-расширения — рекурсивный «обход всего» помечается как такой паттерн задолго до того, как счёт раздуется.false_completionловит петли без реального прогресса: агент рапортует о продвижении или зацикливается, не приближаясь к завершению, — это поведенческий маркер cost-runaway. Связку «дрейф цели + всплеск вызовов» коррелирует SOC.
Что Spectorn честно НЕ заменяет: жёсткие лимиты рекурсии и контроль человека. Потолок на глубину/число шагов агента (max-recursion, max-steps), бюджет на число вызовов инструментов и обязательный human-in-the-loop на дорогих ветках — это контроль шлюза и оркестратора агента. Spectorn распознаёт runaway-поведение и поднимает тревогу; останавливает цепочку — инфраструктура по плейбуку. Принцип наименьших привилегий и human-in-the-loop остаются обязательными организационными мерами (см. Избыточные полномочия).
4. Кража API-ключа → Denial of Wallet
Риск: Атакующий получает украденный API-ключ (утёкший в репозитории, логах, через утечку данных или confused deputy) и прогоняет через него массовый поток дорогих inference-запросов — на ваш счёт. Это уже не гипотеза, а зафиксированные реальные инциденты. По данным исследования LLMjacking от Sysdig, использование скомпрометированных облачных учётных данных против AWS Bedrock приводило к расходам порядка $46 000 в сутки. В другом сообщённом случае (март 2026) украденный ключ Google Gemini API раскрутил счёт примерно на $82 000 за 48 часов. Сервис при этом «здоров» — атака бьёт по кошельку, а не по доступности.
OWASP LLM10:2025 Unbounded Consumption · MITRE ATLAS AML.T0034 (Cost Harvesting), AML.T0029 (Denial of ML Service).
Защита Spectorn:
- Движки/компоненты: корреляция в вашей SIEM, Decision Logger,
resource_exhaustion. - Закономерность, растянутую на много событий, ловит ваша SIEM: Spectorn отправляет туда каждую находку с правилом, категорией, серьёзностью и
verdict_id; собственная корреляция SOC (GoMCP) в облачных контурах не развёрнута. - Decision Logger ведёт хеш-связанную цепочку решений (SHA-256/HMAC): доказуемый след «когда начался аномальный поток и с какого источника» для форензики и оспаривания счёта.
resource_exhaustionпомечает ресурсоёмкие запросы в этом потоке.
Что Spectorn честно НЕ заменяет: управление ключами и финансовые предохранители. Ротация и отзыв ключа, биллинговые circuit breakers (автоматический стоп при превышении бюджета), per-tenant квоты и алерты по расходам — это контроль провайдера, шлюза и вашего billing-контура. Spectorn обнаруживает аномальный поток и поднимает тревогу; отзыв ключа и обрыв трат выполняют шлюз и провайдер.
5. Resource-intensive queries — ресурсоёмкие крафтовые запросы
Риск: Атакующий формирует отдельные запросы так, чтобы каждый вынуждал модель на затяжную обработку: задачи, провоцирующие длинную генерацию, многошаговое «рассуждение», обращение к тяжёлым инструментам. Даже умеренное число таких запросов даёт несоразмерную нагрузку и стоимость — много дорогих токенов вывода и долгое удержание вычислительного ресурса на каждый вызов.
OWASP LLM10:2025 Unbounded Consumption · MITRE ATLAS AML.T0029 (Denial of ML Service), AML.T0034 (Cost Harvesting).
Защита Spectorn:
- Движки/компоненты:
resource_exhaustion,cognitive_guard, корреляция в вашей SIEM. resource_exhaustionраспознаёт ввод, нацеленный на исчерпание ресурса — конструкции, провоцирующие несоразмерную обработку, — и помечает его до выполнения.cognitive_guardсигнализирует об аномально тяжёлых, выбивающихся из нормального профиля запросах; SOC коррелирует серию таких событий, чтобы шлюз применил таймаут и лимит на стоимость одного вызова.
Что Spectorn честно НЕ заменяет: таймауты и лимиты на единичный вызов. Максимальное время обработки запроса (request timeout), потолок на токены вывода и ограничение глубины «рассуждения» — это настройки шлюза. Spectorn распознаёт ресурсоёмкий запрос и поднимает алерт; обрывает затянувшуюся обработку по таймауту — инфраструктура.
🛠️ Настройка политики
Файла конфигурации, который нужно развернуть, нет: политику вашего тенанта по запросу задаёт оператор платформы, включая режим проверки (блокировка или наблюдение, при котором видно, что было бы заблокировано), списки разрешений и запретов, порог блокировки и веса категорий. Для этой отрасли важнее всего движки: resource_exhaustion, goal_predictability, false_completion, cognitive_guard. Начните с режима наблюдения на своём трафике, посмотрите, что было бы заблокировано, и затем включите блокировку.
🚨 Корреляция в вашей SIEM
Spectorn отправляет каждую находку в указанную вами SIEM как JSON-событие по HTTPS (spectorn.ai-finding.v1) с правилом, категорией, серьёзностью и verdict_id. Многошаговые правила для этой отрасли стройте там, например: аномальный всплеск событий от одного сенсора/сессии — индикатор флуда или скомпрометированного ключа; лавина вызовов инструментов от одной сессии агента в коротком окне — рекурсивный перерасход (DoW). Собственная корреляция SOC в Spectorn (GoMCP) в облачных контурах RU и Global не развёрнута.
❓ Частые вопросы (FAQ)
Что такое Denial of Wallet (атака на кошелёк)?
Denial of Wallet (DoW) — это атака, при которой злоумышленник не роняет сервис, а генерирует объём оплачиваемых вызовов модели (токены, inference), который выставляет компании неподъёмный счёт. На pay-per-token тарифах это особенно опасно: сервис формально «здоров», метрики доступности зелёные, а финансовая нагрузка способна закрыть бизнес. DoW — ключевой акцент класса OWASP LLM10 Unbounded Consumption. Закономерность, растянутую на много событий, ловит ваша SIEM: Spectorn отправляет туда каждую находку с правилом, категорией, серьёзностью и verdict_id; собственная корреляция SOC (GoMCP) в облачных контурах не развёрнута.
Что такое неограниченное потребление LLM (LLM10)? Неограниченное потребление (Unbounded Consumption, бывший Model Denial of Service) — класс OWASP LLM10:2025, при котором приложение допускает неконтролируемый расход ресурсов: чрезмерное число запросов, раздувание контекста, ресурсоёмкие вычисления. Итог — отказ в обслуживании (DoS), деградация, кража модели и экономический ущерб (Denial of Wallet). Особенно опасно для агентских систем с рекурсивными вызовами, где одна команда разворачивается в сотни оплачиваемых обращений.
Как защититься от перерасхода токенов и runaway API costs?
Это два слоя. Инфраструктурный — обязательный: rate-limiting, per-tenant квоты, потолки на токены, таймауты и биллинговые circuit breakers на вашем API-шлюзе. Закономерность, растянутую на много событий, ловит ваша SIEM: Spectorn отправляет туда каждую находку с правилом, категорией, серьёзностью и verdict_id; собственная корреляция SOC (GoMCP) в облачных контурах не развёрнута. Движки видят аномалию и поднимают тревогу; режет поток шлюз. Без инфраструктурных лимитов одна детекция перерасход не остановит.
Может ли AI-агент сам устроить Denial of Wallet?
Да, и без всякого атакующего. Автономный агент рекурсивно планирует, вызывает инструменты и снова обращается к модели — одна команда «изучи всех конкурентов и собери отчёт» разворачивается в сотни вложенных inference-вызовов. Если в дизайне нет потолка рекурсии и человека в петле на дорогих ветках, благонамеренный сотрудник способен вызвать DoW-событие сам. goal_predictability эвристически выявляет увод агента с штатной цели в runaway-расширение, false_completion — петли без прогресса; жёсткий max-recursion и human-in-the-loop ставятся на шлюзе.
Делает ли Spectorn rate-limiting? Нет — и это принципиально честная граница. Spectorn отвечает за обнаружение: движки распознают флуд, раздувание контекста и runaway-поведение агента, а каждая находка уходит в вашу SIEM. Фактический throttling — rate-limiting, квоты, таймауты, потолки рекурсии — выполняет ваш API-шлюз как инфраструктурный контроль. Spectorn кормит шлюз сигналами «поток аномальный, режь», но сам трафик не тормозит. Не верьте формулировкам, где движок детекции «ограничивает нагрузку» — это работа шлюза.
Как обнаружить флуд-атаку на LLM?
Флуд виден по частоте, а не по одному событию. Закономерность, растянутую на много событий, ловит ваша SIEM: Spectorn отправляет туда каждую находку с правилом, категорией, серьёзностью и verdict_id; собственная корреляция SOC (GoMCP) в облачных контурах не развёрнута. На уровне ввода resource_exhaustion помечает аномально большие и ресурсоёмкие запросы, а правило в вашей SIEM отличает легитимный пик от размазанного по сессиям потока. Decision Logger сохраняет хеш-связанный след для разбора. Дальше плейбук обращается к шлюзу за throttling источника.
Что делать при краже API-ключа?
Немедленно: отозвать и ротировать ключ, остановить расходы биллинговым circuit breaker, проверить квоты арендатора — это инфраструктурные действия на стороне провайдера и шлюза. Закономерность, растянутую на много событий, ловит ваша SIEM: Spectorn отправляет туда каждую находку с правилом, категорией, серьёзностью и verdict_id; собственная корреляция SOC (GoMCP) в облачных контурах не развёрнута. Реальные инциденты (LLMjacking от Sysdig — порядка $46 000/сутки на AWS Bedrock; украденный ключ Gemini — около $82 000 за 48 часов) показывают, что счёт раскручивается за часы, поэтому раннее обнаружение критично.
📚 Источники
- OWASP LLM10:2025 — Unbounded Consumption — первоисточник по классу неограниченного потребления и Denial of Wallet.
- OWASP Top 10 для LLM-приложений (2025) — каталог рисков LLM01–LLM10.
- MITRE ATLAS — AML.T0034 (Cost Harvesting), AML.T0029 (Denial of ML Service).
- Sysdig — LLMjacking: кража облачных учётных данных для атак на ИИ — исследование реальных инцидентов перерасхода (порядка $46 000/сутки на AWS Bedrock).
- NIST AI Risk Management Framework (AI RMF 1.0) — управление рисками доступности и устойчивости AI-систем.
- NIST AI 600-1 — Generative AI Profile — профиль рисков генеративного ИИ, включая исчерпание ресурсов.
Связанные руководства: OWASP LLM Top 10 · Автономные AI-агенты · Избыточные полномочия AI-агентов · Утечка данных · Supply-chain риски · Небезопасная обработка вывода