Claude Code удалил продакшн: защита инфраструктуры от AI-агентов в 2026 | AiManual
AiManual Logo Ai / Manual.
03 Май 2026 Гайд

Claude Code случайно удалил продакшн: ошибки доверия AI-агентам и как защитить инфраструктуру

Разбор инцидента с удалением базы данных Claude Code. Почему AI-агентам нельзя давать admin права, как настроить ручную проверку и защитить AWS.

Когда AI-агент становится твоим злейшим врагом

Ты сидишь в кресле, попивая кофе, а Claude Code только что выполнил DROP DATABASE production. Не потому что он злой. А потому что ты сам дал ему ключи от королевства. Звучит как хоррор? Добро пожаловать в 2026 год, где AI-агенты стирают продакшены быстрее, чем ты успеваешь сказать rollback.

На прошлой неделе DataTalks.Club опубликовал отчет об инциденте: один из пользователей Claude Code версии 2.7.1 доверил агенту автоматическое управление RDS-базами в AWS. Агент, следуя неверно интерпретированному промпту, выполнил aws rds delete-db-instance --db-instance-identifier prod-01 --skip-final-snapshot. Итог — потеря 2.3 ТБ данных, 47 часов даунтайма и репутация, разбитая вдребезги.

Это не первый случай. В нашем предыдущем материале мы уже разбирали фиаско на $1.78 миллиона, когда отсутствие валидации команд привело к катастрофе. Но сегодняшняя история — особенная. Она вскрыла фундаментальную ошибку: мы даём AI-агентам те же привилегии, что и доверенным инженерам, хотя те не проходили security review и не понимают контекста.

Почему AI-агенты убивают прод: три причины

Давайте разберем, что конкретно пошло не так. Инцидент не был случайным — он был системным. Вот три кита, на которых держится этот ад:

1. Админские права по умолчанию

Пользователь настроил Claude Code с IAM-ролью AdministratorAccess. «Для удобства», как он написал в своем блоге. Ирония в том, что в том же AWS есть managed policies для read-only доступа. Но кому нужны ограничения, когда скорость разработки важнее безопасности?

Предупреждение: Никогда не назначайте AI-агентам IAM-роли с правами на удаление ресурсов. Даже если агент «умный» — он все еще следует промпту, а промпт может быть двусмысленным.

2. Отсутствие человеческого подтверждения критических операций

Claude Code, как и многие AI-агенты, не спрашивает «Ты уверен?» перед terraform destroy. Потому что разработчики Anthropic сделали ставку на автономность. Внутренняя архитектура, которую мы обсуждали в разборе утечки кода, показывает: в Claude Code зашиты эвристики, которые отключают проверки после N успешных операций. Звучит как баг, но это фича для повышения скорости. Проблема в том, что эта же логика пропускает и опасные команды.

3. Неправильная интерпретация контекста

В том инциденте агент должен был удалить тестовый инстанс, но из-за опечатки в переменной окружения он получил имя production. Модель не увидела разницы — для нее это просто строки. Исследование ETH Zurich, о котором мы писали в статье CLAUDE.md убивает код, показывает, что контекстные файлы даже ухудшают точность на 3%. А тут контекст был смертельным.

Анатомия атаки: как именно агент уничтожил базу

Восстановим хронологию по логам CloudTrail (спасибо, что они хотя бы включены были):

  1. 02:34:17 — Пользователь отправляет запрос: «Очисти тестовые окружения для проекта alpha». Промпт не указал, что удалять только те instances с тегом Environment: test.
  2. 02:34:21 — Claude Code получает список всех RDS-инстансов через aws rds describe-db-instances.
  3. 02:34:25 — Агент самостоятельно решает, что «тестовые окружения» — это все инстансы, в названии которых есть «dev» или «staging». Но production называется prod-01 — никакого совпадения. Казалось бы, безопасно.
  4. 02:35:01 — Однако в пуле есть also alpha-db-test и alpha-db-stage. Агент выполняет delete-db-instance для них. Но между ними в списке затесался alpha-db-prod-replica — read replica production, которая использовалась для аналитики. Имя не соответствует паттерну удаления, но из-за особенности сортировки агент решил, что это тоже тестовое.
  5. 02:35:04 — Команда ушла. Без --skip-final-snapshot? Нет, как раз с этим флагом — потому что «для тестовых снапшоты не нужны». Результат — безвозвратная потеря production replica, а через 5 минут production начал сыпаться от перегрузки.

Вот так один плохо сформулированный промпт и отсутствие guardrails привели к каскадному сбою. И это не злой умысел, а банальная ошибка доверия.

Как защитить инфраструктуру от AI-агентов: пошаговый план

Теперь — к делу. Я не буду говорить «подумайте о безопасности». Я дам конкретные шаги, которые вы обязаны внедрить до того, как Claude Code или его аналоги появятся в вашем CI/CD.

1Ограничьте IAM-политики до минимума

Создайте отдельную роль для AI-агента с максимально узкими правами. Не копируйте AdministratorAccess. Используйте managed policies:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeDBInstances",
        "rds:ListTagsForResource"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "rds:DeleteDBInstance",
        "rds:DeleteDBCluster"
      ],
      "Resource": "*"
    }
  ]
}

Даже если агент попытается удалить — AWS вернет AccessDenied. Это ваш последний рубеж.

2Внедрите Approval Gate для деструктивных команд

Любая операция, меняющая состояние продакшена (удаление, изменение, деплой), должна требовать человеческого подтверждения. Используйте инструменты вроде Open Policy Agent (OPA) или встроенные в CI/CD approval steps. Для Claude Code можно настроить собственный MCP-сервер, который перехватывает опасные вызовы. В статье Атака на Claude через MCP мы показывали, как MCP может быть использован во вред — но тот же механизм работает и для защиты.

Совет: Настройте MCP-сервер, который перед выполнением aws rds delete-* отправляет запрос в Slack с кнопками Approve/Deny. Без нажатия кнопки — команда не выполняется.

3Используйте теги и resource-based policies

Пометьте все production-ресурсы тегом Environment: production и добавьте deny-правило для любых действий AI-агента на этих ресурсах. Вот пример SCP (Service Control Policy) для AWS Organizations:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Environment": "production"
        }
      }
    }
  ]
}

Конечно, это глобальный запрет — но для агента можно сделать исключение на read-only операции.

4Включите CloudTrail и настройте оповещения на аномалии

Логи CloudTrail должны мониториться в реальном времени. Настройте EventBridge-правило на событие DeleteDBInstance — пусть сразу шлет оповещение в ваш чат. И обязательно включите AWS Config с правилом rds-instance-deletion-protection-enabled. Это защитит от удаления даже при наличии прав.

5Проводите пентесты AI-агентов

Запустите проверку: дайте агенту промпт «удали все ресурсы» и посмотрите, что произойдет. Используйте sandbox-окружение, изолированное от продакшена. Если агент попытается удалить что-то важное — значит, ваши guardrails не работают. В статье Реальный кейс: AI-агент Meta устроил утечку описана похожая методология тестирования.

Ошибки, которые вы обязательно совершите (и как их избежать)

Даже после прочтения этого гайда вы, скорее всего, наступите на те же грабли. Вот типичные ловушки:

  • «Агент же умный, он поймет» — нет, не поймет. LLM не обладает пониманием последствий. Она генерирует наиболее вероятную последовательность токенов. Если в обучающих данных встречался код удаления базы — она его повторит.
  • «Мы отзовем права через минуту» — за эту минуту агент успеет выполнить 10 команд. Вспомните историю с утечкой архитектуры Claude Code, когда инженер случайно включил sensitive файлы в npm-пакет. Одна секунда — и данные утекли.
  • «У нас есть бекапы» — отлично! А время восстановления? А RPO? Если вы теряете 2.3 ТБ данных, восстановление из S3 может занять часы. И это при условии, что snapshot был создан.
  • «Мы сами пишем промпты, ничего страшного» — хитрые промпты вроде «сделай все возможное, чтобы оптимизировать производительность» могут привести к удалению индексов или изменению параметров.

Звучит логично, но есть нюанс: AI-агенты слишком послушны. Они не задают уточняющих вопросов, как человек. Они выполняют буквально, если их не научили иначе. А научить их — ваша задача.

Промпт-инжиниринг для безопасности: конкретные паттерны

Добавьте в системный промпт Claude Code такие правила:

You are an AI assistant with access to AWS infrastructure.

CRITICAL RULES:
- NEVER execute any destructive operation (delete, terminate, stop) on resources tagged with 'Environment: production' or 'prod'.
- ALWAYS confirm with the user before running any command that modifies infrastructure. Use the exact phrase: "I am about to execute: [command]. Do you confirm?"
- If a command could affect more than 3 resources, stop and ask for explicit approval.
- Assume all resources without explicit test/dev tags are production.

Но не полагайтесь только на промпт. Как показал скандал с удалением 8000 репозиториев, Anthropic и сама ошибается при массовых операциях. Промпт — это первый слой, но не единственный.

💡
Используйте инструмент claude-code policy — он появился в версии 2.8.0 (апрель 2026) и позволяет настраивать политики выполнения команд на уровне YAML-файла. Пример: запретить любые delete-операции в определенных регионах.

Что дальше? Революция AI-агентов и безопасность

Мы стоим на пороге новой эры. AI-агенты будут писать код, деплоить, управлять инфраструктурой. Но вместе с этим придут новые классы ошибок. Если раньше мы боялись хакеров, то теперь должны бояться и собственных агентов. Они — идеальное оружие для атак, как показано в материале про MCP-эксплойты. Но они же — наше будущее.

Мой прогноз: к концу 2026 года каждая крупная компания введет политику AI Access Control — отдельный набор правил для агентов, более строгий, чем для людей. Игроки вродe Anthropic, OpenAI и Google будут вынуждены встроить approval gates прямо в SDK. А пока этого не произошло — ваша безопасность в ваших руках. Не дайте агенту ключи от города, даже если он мило улыбается.

Подписаться на канал