КИБЕРБЕЗОПАСНОСТЬ

AI-агенты в AWS сожгли $14 тысяч за день и обошли лимиты

Три сотрудника получили счет AWS на $14 тысяч за сутки: облачные AI-агенты и украденные ключи тратят деньги быстрее, чем срабатывают биллинговые лимиты.

✍️ Редакция iTech News | 17.07.2026 | ⏱ 4 мин | Источник: InfoQ
🕵

Небольшое агентство с обычным счетом AWS на $10-15 в месяц однажды проснулось с расходами на $14 тысяч за сутки. Проблема не только в украденных ключах: облачные AI-агенты и сервисы GenAI тратят деньги с такой скоростью, что стандартные биллинговые ограничения облака узнают об этом уже постфактум. Для команд, которые выдают агентам доступ к AWS, это неприятный, но очень практический сигнал: контролировать надо не счет, а само действие в момент запуска.

Об инциденте сообщает InfoQ. По словам AWS-консультанта Тобиаса Шмидта, атакующие вытащили статические access keys с EC2-инстанса и начали жечь вызовы Claude через Amazon Bedrock. Команда до этого экспериментировала с чат-ботом на Bedrock и использовала уже существующие ключи. Дальше сработала классика плохих дефолтов: у ключей был Bedrock Full Access, а после изменений 2025 года в AWS все модели оказались включены по умолчанию, без отдельного переключателя доступа. Приложение вообще-то было рассчитано на Haiku и бюджет меньше $100, но в реальности за один день прилетел счет на $14 тысяч.

Это уже не выглядит единичной нелепостью. InfoQ связывает историю с майским случаем в сети DN42, который подробно описал сетевой инженер Лань Тянь. Там оператор дал автономному агенту полный доступ к AWS и задачу просканировать DN42, хоббийную BGP-сеть, где большинство узлов живет на маленьких VPS. Агент решил, что для работы нужны пять инстансов m8g.12xlarge, у каждого по 48 vCPU и 22,5 Гбит/с пропускной способности, плюс балансировщики и Lambda-функции. Этого ему показалось мало, и он еще несколько раз заново применил шаблон CloudFormation, фактически размножив стек. Через сутки оператор увидел списание с карты на $6 531,30. Позже AWS согласилась снизить счет до $1 894. По оценкам сообщества, ту же задачу можно было уместить в VPS за $5 в месяц.

Общий сюжет в обеих историях слишком узнаваем: заметили проблему не AWS, а банковская карта. Cost Explorer в AWS отстает от реальных расходов до 24 часов. AWS Budgets считает по тем же запаздывающим данным, поэтому защитные действия срабатывают уже после того, как деньги ушли. В комментариях к посту Шмидта облачный архитектор и бывший сотрудник AWS Магнус Эрикссон сформулировал это без дипломатии: бюджетные механизмы малоэффективны, если биллинг опаздывает на сутки. А для GenAI это особенно болезненно, потому что у атакующего больше нет промежуточного этапа с инфраструктурой, майнингом и выводом вычислений в деньги. Украденный ключ с доступом к Bedrock почти мгновенно превращается в товарные API-вызовы.

Именно поэтому облачные AI-агенты меняют модель угроз. В старом сценарии злоумышленнику скомпрометированный аккаунт был нужен, чтобы поднять инстансы, скрыть активность и несколько дней монетизировать вычисления. В новом сценарии достаточно доступа к GenAI-сервису. Как заметил solutions architect из Regula Игорь Жданко, Bedrock уже становится отдельным классом цели: с традиционными ресурсами еще нужно что-то строить, а с GenAI API украденные учетные данные сразу конвертируются в тысячи долларов расходов. Отсюда и базовый набор гигиены, который раньше многие считали избыточным для «песочницы»: IAM roles вместо статических ключей, минимальные права, ограничения по конкретным моделям, бюджеты и отдельный kill switch.

Шмидт в разборе делает важный акцент: обе аварии можно было остановить штатными средствами AWS, и это не история про отсутствие магического нового продукта. Самая практичная мера — запрещать дорогие семейства инстансов через Service Control Policies в отдельных member accounts. Если агент физически может запускать только маленькие инстансы, верхняя граница ущерба резко падает. Второй слой — оповещения по CloudTrail на RunInstances, InvokeModel и CreateStack. Это уже не контроль на уровне счета, а контроль на уровне события: инстанс или вызов модели виден в течение минут, а не после закрытия биллингового окна. Бюджеты и Cost Anomaly Detection в такой схеме остаются страховочной сеткой, но не первой линией обороны.

Для разработчиков и платформенных команд вывод довольно приземленный. Если агенту вообще нужен доступ в облако, его лучше запускать в отдельном аккаунте с заранее урезанным blast radius. Права должны быть короткоживущими и узкими: не «доступ к Bedrock», а доступ к конкретным моделям, которые реально вызывает приложение. Не «полный provisioning», а список разрешенных действий и размеров ресурсов. И главное: если мониторинг завязан только на стоимость, он по определению смотрит в прошлое. При агенте, который зациклился на CloudFormation или шлет шквал запросов в Claude через Bedrock, разница между событием и счетом — это весь размер будущего инцидента.

Для бизнеса тут неприятна не только сумма, но и ложное чувство безопасности. Многие команды привыкли считать, что песочница, прототип или внутренний бот не заслуживают такой же дисциплины, как production. Эти истории показывают обратное: как только у кода появляется облачный credential и доступ к GenAI, он начинает создавать финансовый риск production-уровня, даже если его писал маленький экспериментальный сквад. В DN42 сообщество отреагировало по-своему жестко: агента просто запретили, а в правила добавили норму, что участвовать могут только реальные люди. Но для компаний это вряд ли рабочий вариант. Им придется не запрещать облачные AI-агенты, а проектировать их так, будто это прод-ключи с правом мгновенно сжечь бюджет. Подробнее об инцидентах и комментариях участников пишет InfoQ.

Поделиться: Telegram X LinkedIn