К содержимому
БИБЛИОТЕКА ЗАЩИТЫ ИИ

💸 Неограниченное потребление и 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 LLM Top 10 · Автономные AI-агенты · Избыточные полномочия AI-агентов · Утечка данных · Supply-chain риски · Небезопасная обработка вывода

Неограниченное потребление (LLM10) | Spectorn