Каждый день в Telegram-канале - что нового в вайб-кодинге: инструменты, ошибки, истории. Подпишись, чтобы быть в курсе.
Что случилось ночью на DN42: разбор истории с $6 500
Тред на HackerNews от 12 июня 2026 - 1 461 апвоут, 533 коммента, заголовок переводится как «ИИ-агент разорил своего оператора, пытаясь сканировать DN42». Оператор сам пришёл в IRC, признался, попросил донат в крипте и заявил: «в следующий раз нужен агент получше». Тред тут.
Что конкретно делал агент:
- развернул несколько CloudFormation-стеков с EC2
- спавнил sub-agents, один из них ушёл в IRC за информацией о сети
- запросил 5 EC2-инстансов с 100 Гбит/с network egress - буквально промышленный объём
- продолжал бы и дальше, но истекли AWS-credentials
AWS после ревью снизил счёт с $6 500 до $1 800. Это редкая удача - обычно amazon никто не возвращает деньги.
Языковые модели не настолько умны. Поведение этого агента - это про слабые ограничения, а не про сложное мышление.
Ключевой урон: оператор обвинил модель, а не своё решение выдать агенту неограниченный доступ к AWS. Никакого learning в его post-mortem нет. Это и есть типичный сценарий 2026 - люди ставят autonomous-агентов, дают им IAM-ключи с правами на всё, и потом пишут «вот видите, опасно».
Где ещё агенты сжигают деньги в 2026: 4 публичных истории
Подборка свежих историй:
| Дата | Кто | Сумма | Что произошло |
|---|---|---|---|
| Апрель 2026 | Uber | Весь годовой ИИ-бюджет | Praveen Neppalli Naga (CTO): «возвращаюсь к чертёжной доске, потому что бюджет, который я планировал, уже сдут» |
| Май 2026 | Анонимный enterprise | $500 миллионов | Компания не поставила usage-cap для сотрудников. Разработчики гоняли долгие сессии, агенты крутили chained workflows автономно. ИИ-консультант обнаружил, Polymarket подтвердил |
| Май 2026 | Microsoft Experiences & Devices | $500-2000 на инженера/мес | Cancel большинства лицензий Claude Code, миграция на GitHub Copilot CLI к 30 июня |
| Май 2026 | Безымянный соло | $6 000 за ночь | Оставил Claude Code работать на ночь, утром обнаружил счёт |
| Май 2026 | OpenClaw framework | $1 000-5 000 в день | Внутренний ИИ-фреймворк жрал по тысячам долларов в день на $200/мес-подписке |
Возвращаюсь к чертёжной доске, потому что бюджет, который я планировал, уже сдут.
Общее у всех историй: нет hard-cap на расходы. Везде alerts «вот ты приблизился к лимиту» приходят, но никто не останавливает агента. Notify - не shutdown.
Куда уходят деньги: 3 категории расходов автономного агента
Не путай эти три канала - они работают независимо и лечатся разными настройками:
- Токены LLM. Сам Claude / OpenAI / Gemini берёт деньги за входной и выходной контекст каждого запроса. Тут спасает Anthropic Task Budgets (см. правило 2) и подписка вместо API-pay-as-you-go.
- Облако (cloud-инфра). Агент через MCP или Bash-tool создал EC2, RDS, S3, развернул лямбды. Тут спасает AWS Budgets / GCP / Yandex Cloud с kill-switch (правило 5).
- Сторонние API. Агент вызвал Stripe charge, отправил 100 СМС через шлюз, поставил тысячу подписок в Telegram. Тут спасают sandbox-ключи со scope-narrow и hard cap в кабинете провайдера (правило 6).
DN42-история из раздела 1 - это категория 2 (cloud). $500M-история Anthropic - категория 1 (токены LLM). Микро-Claude-Code-overnight у MakeUseOf - тоже категория 1. То есть в большинстве публичных catastrophes 2026 виноваты токены, а не облако - потому что у людей чаще есть AWS-аккаунт без агента, чем с агентом, но почти у каждого есть Claude Pro/Max или API.
Дальше идут 7 правил. Каждое закрывает один или два канала.
Как поставить hard cap на API-расходы (Правило 1)
Где включить (минимум 2 минуты на каждого провайдера):
Anthropic Console. console.anthropic.com → Settings → Limits → Monthly spend limit. Ставишь сумму, которую готов сжечь в худшем месяце. При достижении API возвращает 429 и записывает это в логи. Никакого «попробую ещё раз через минуту» - заблокировано до конца месяца.
OpenAI Platform. platform.openai.com → Billing → Usage limits. Аналогично - soft limit (alert на email) и hard limit (остановка API). Ставь оба, hard ставь в 1.5x от soft, чтобы был запас на reaction time.
AWS Bedrock / Google Vertex. Если ходишь к Claude/Anthropic через облако-прокладку - hard cap на стороне облака, не на стороне Anthropic. Это уже правило 5.
Что не считается hard cap: alerts по email («ты сжёг 80% бюджета»). Они приходят с задержкой, а ночью никто не читает почту. Только синхронный шлагбаум в провайдере.
Как работают Anthropic Task Budgets и где их ставить (Правило 2)
Подробности в официальных доках Anthropic. Главное: это soft boundary, не hard. Если агент уже создал EC2 - Task Budget этого не отменит.
Как это работает на практике: ты передаёшь поле task_budget в payload запроса (например, 100 000 input tokens на всю задачу). Claude получает информацию о бюджете и сам режет планы, упрощая шаги или скипая под-задачи. По мере приближения к нулю - сворачивается, отдаёт промежуточный summary вместо «спасибо за внимание».
Ограничения:
- Только для Anthropic API. Не работает в Bedrock/Vertex, потому что там свой биллинг
- Только в beta-моделях (Opus 4.7, 4.8, Fable 5, Mythos 5). На Sonnet 4.6 и Haiku - нет
- Не покрывает cloud-расходы и сторонние API. Если Claude поднял EC2 - Task Budget молчит
Используй вместе с правилом 1 (hard cap), не вместо.
Хочешь не только поставить cost-guardrails, но и собрать связку, которая делает Claude стабильным? Cost-guardrails - часть контекст-инжиниринга: ты решаешь, что агент может, что нет и где у него стоп-кран. На практикуме за 3 эфира собираешь все три кита: ИИ-клон + Второй мозг + Контекст-инжиниринг - связка, без которой ИИ галлюцинирует, а теперь и сжигает деньги.
Что блокировать через PreToolUse hooks в Claude Code (Правило 3)
Permissions в Claude Code (с 1 июня 2026) считаются в порядке deny → ask → allow. Это значит:
- если в
settings.jsonестьdenyнаBash(rm -rf *)- даже глобальный--dangerously-skip-permissionsне даст агенту его запустить - если в hook есть
exit 2- tool call блокируется allowedToolsдействует только если deny и hooks молчат
Минимальный PreToolUse hook для блокировки опасного:
#!/usr/bin/env bash
# ~/.claude/hooks/block-dangerous-bash.sh
INPUT=$(cat)
COMMAND=$(echo "$INPUT" | jq -r '.command // ""')
# Блокируем удаление, кики кластеров, очистку S3, terraform destroy
if echo "$COMMAND" | grep -qiE '(rm -rf|aws s3 rb|terraform destroy|kubectl delete|drop database)'; then
echo "Заблокировано: команда деструктивная" >&2
exit 2
fi
exit 0Привязываешь в ~/.claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "~/.claude/hooks/block-dangerous-bash.sh" }]
}
]
}
}Подробности - официальные доки + практический разбор от Pasquale Pillitteri.
Это второй периметр после провайдер-cap. Если первый - про деньги, то этот - про что вообще агент может делать руками.
Зачем allowedTools whitelist и почему --dangerously-skip-permissions не для хоста (Правило 4)
Whitelist - принцип минимальных привилегий. Вместо «разрешаю всё» (--dangerously-skip-permissions) вписываем точечно то, что нужно для задачи:
{
"permissions": {
"allow": [
"Bash(npm install:*)",
"Bash(npm run build)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Read(./src/**)",
"Write(./src/**)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(curl * | sh)",
"Write(/etc/**)",
"Write(~/.ssh/**)"
]
}
}Что важно знать про bypass-режим:
- Linux/macOS отказываются стартовать Claude Code в bypass-режиме под root или sudo - встроенная защита
- На своей машине bypass отключает все confirmation prompts, и агент свободно
rm -rf-ает что хочет, открывает SSH-ключи, заливает в облако - Community consensus: никогда не запускать
--dangerously-skip-permissionsна хосте, только в:- Docker-контейнере с ограниченным volume mount (только нужная папка)
- изолированной VM (Multipass, Lima, Orbstack)
- GitHub Codespaces / Replit / другой sandbox
Минимальный docker-run для bypass-режима:
docker run --rm -it \
-v "$PWD:/workspace" \
-w /workspace \
--network host \
ghcr.io/anthropics/claude-code:latest \
claude --dangerously-skip-permissionsЕсли агенту нужны облачные креды - отдельные scope-narrow ключи, не твои основные (это правило 6).
Как настроить cloud budget alerts с kill-switch в AWS, GCP и Yandex Cloud (Правило 5)
Настройка в каждом облаке:
AWS Budgets (docs). Создаёшь Budget на месяц + thresholds (50%, 80%, 100%). На threshold 100% подключаешь SNS-топик → Lambda, которая:
import boto3
def lambda_handler(event, context):
iam = boto3.client('iam')
# Деактивируем все ключи юзера 'claude-agent'
keys = iam.list_access_keys(UserName='claude-agent')['AccessKeyMetadata']
for key in keys:
iam.update_access_key(
UserName='claude-agent',
AccessKeyId=key['AccessKeyId'],
Status='Inactive'
)
return {'statusCode': 200, 'body': 'Killed'}GCP Budget Alerts (гайд). Создаёшь Budget → Pub/Sub topic → Cloud Function, которая отключает Service Account. Важная подсказка из доков: alerts только notify, не shutdown, поэтому Cloud Function обязательна.
Yandex Cloud (docs). Бюджеты в Биллинг → Бюджеты + квоты ресурсов как hard cap. Можно подключить уведомления в Telegram-бот через Cloud Functions.
OpenAI API (гайд). Soft + hard spending limits прямо в dashboard - hard limit автоматически останавливает API, никакой Lambda не нужно.
Минимум для autonomous-агента: hard limit на провайдере + alert + автоматический kill-switch. Без последнего в лучшем случае увидишь $6 000 утром, в худшем - $500 миллионов через месяц.
Зачем агенту отдельный sandbox API-ключ со scope-narrow (Правило 6)
Минимальный setup на AWS:
- Создать IAM-юзера
claude-agent-dn42-scan - Политика: только нужный набор действий (например,
ec2:RunInstancesв одном регионе сt3.microsize, без VPC-elastic-IP) - Привязать к отдельному AWS-аккаунту (через Organizations) с monthly budget $100
- Сгенерировать access keys, передать только агенту, не класть в свой
~/.aws/credentials - После сессии - rotate keys или удалить юзера
Аналогично на других провайдерах:
- OpenAI / Anthropic: отдельный API-ключ для каждого агента, hard cap в кабинете на каждый ключ, теги
agent_idв request metadata - Stripe / Yookassa: restricted API key с одним action (например, только
charges:read), отдельный merchant если возможно - Telegram Bot API: отдельный bot token, не основной
Тут работает старый security-принцип: least privilege - агент получает ровно то, что нужно для задачи, ни байтом больше. Если задача «сканировать сеть» - не давай ему ec2:* и s3:*, дай только ec2:DescribeInstances и точка.
Когда нужен pre-flight dry-run и лимит на iterations (Правило 7)
Plan Mode (/plan) включается в начале сессии. Агент собирает план, показывает в чате, ждёт подтверждения, и только потом идёт делать. Это бесплатно, и закрывает 70% случаев «упс, я думал он сначала спросит».
--max-turns - флаг при запуске. Каждый turn = один цикл «агент думает + tool call + результат». Для autonomous-задач:
- мелкая правка: 5-10 turns
- средняя задача: 15-30 turns
- большая autonomous-задача: 50-80 turns
На DN42-история агент явно работал часами без max-turns - там были тысячи tool calls.
Дополнительные техники:
- Wall-clock timeout через
timeoutLinux-команду:
timeout 1800 claude --dangerously-skip-permissions --max-turns 30 -p "scan task"
# 1800 секунд = 30 минут. Прибиваем процесс gracefully.- Логирование каждого tool call через PostToolUse hook в файл - постфактум видно что произошло
- Cron monitoring - раз в 5 минут проверяешь, что у тебя нет 10 запущенных Claude-процессов одновременно (типичный признак, что что-то пошло не так)
Готовый чек-лист на 5 минут перед запуском autonomous Claude Code
Чек-лист перед claude --dangerously-skip-permissions:
[ ] 1. Hard cap на API-провайдере (Anthropic Console → Limits → Monthly spend limit)
[ ] 2. Task Budget в payload запроса (если Opus 4.7+/Fable/Mythos)
[ ] 3. PreToolUse hook на блокировку rm -rf, aws s3 rb, terraform destroy
[ ] 4. allowedTools whitelist в settings.json или работа в Docker-контейнере
[ ] 5. Cloud Budget Alert + Lambda kill-switch на отдельном агентском IAM-юзере
[ ] 6. Sandbox API keys (отдельный ключ для агента, не основной)
[ ] 7. --max-turns N + timeout NNN секунд + cron-monitoring процессовЕсли все семь стоят - запускай. Если хоть один пуст - остановись и поставь. 30 минут сейчас экономят 6 000 - 500 000 потом.
Чтобы не взломали твой на Колд-коденный софт - поставь SKИLL по безопасности. Если коротко: открытая библиотека на гитхабе, уже больше 11 тысяч звёзд. Внутри 754 готовых навыка по кибербезопасности. Подключаешь к своему ИИ - и он проверяет твой код как сеньор-безопасник.
История из тренинга для контекста (обезличенно): вайб-кодер запустил приложение для интернет-магазина с стандартным паролем postgres у БД - за пару дней нашли, поставили майнеры, развернули свои бэкдоры. Сервер пришлось убить, биллинг за месяц вырос из-за чужого crypto-майнинга.
Эта история - про категорию 3 из раздела 3 (третьи лица крутят на твоей инфре), но логика та же: периметр расходов не должен зависеть от того, кто инициировал расход - твой агент, твой сотрудник или майнер из Нигерии.
Полезное дальше:
- Как защитить Claude Code от поломок - про
--dangerously-skip-permissionsи permissions с другой стороны - Безопасность вайб-кодинга - pillar про security
- Как не сжечь лимиты Claude Code за день - про токены подписки (не путать с этим гайдом про cloud-bill)
- 754 готовых security-скилла - готовая библиотека
Источники
- HackerNews: тред про разорённого DN42-оператора
- TechStartups: компания случайно потратила $500M на Claude за месяц
- TheNextWeb: тихий отказ Microsoft от Claude Code
- MakeUseOf: оставил Claude Code на ночь, получил счёт на $6 000
- Стат-агрегатор: Uber сжёг годовой ИИ-бюджет за 4 месяца
- Anthropic Docs: Task budgets
- Claude Code Docs: Configure permissions
- Pasquale Pillitteri: PreToolUse hooks 2026
- Thomas Wiegold: почему dangerously-skip-permissions опасно
- AWS Budgets - настройка custom cost и usage бюджетов
- GCP: создание Budget Alerts
- Yandex Cloud: Бюджеты
- Torii: 3 способа мониторить spend OpenAI в 2026
- Bitsminds: как сжечь $500 миллионов на Claude
- ByteIota: как агентные петли ломают энтерпрайз-бюджеты
Полная схема по вайб-кодингу за вечер: ИИ-клон + Второй мозг + Контекст-инжиниринг. 3 эфира, 2 000 ₽. Записи остаются у тебя.
Новые материалы - дайджестом, без спама
Гайды выходят регулярно. Подпишись, чтобы не пропускать: пришлю подборку в Telegram или на email. Раз в неделю или каждый день - выбираешь сам.

