← Назад в блог

Безопасен ли ваш код, написанный ИИ? Что упускают Cursor, Copilot и Claude

ИИ-инструменты отлично генерируют работающий код. С безопасным кодом у них дела обстоят хуже. Дело не в том, что они плохие — дело в том, что безопасность — это про то, чего вы не делаете, а ИИ оптимизирует под то, что вы хотите получить.

Вот что я чаще всего встречаю при ревью кодовых баз, написанных с помощью ИИ.

Захардкоженные секреты повсюду

Это самая распространённая проблема. ИИ-модели предлагают код с API-ключами, URL баз данных и токенами прямо в исходных файлах. Даже если вы потом их перенесёте, если они хоть раз попали в коммит — они навсегда останутся в истории git.

Решение: Используйте переменные окружения с самого начала. Запустите сканер секретов (gitleaks, trufflehog) на вашем репозитории. Если что-то было раскрыто — немедленно ротируйте ключи.

Никакой валидации ввода

ИИ генерирует код, который доверяет пользовательскому вводу. Поля форм, параметры запросов, тела API-запросов — всё это передаётся напрямую в запросы к базе данных или рендерится в HTML без санитизации.

Решение: Валидируйте и санитизируйте данные на каждой границе системы. Используйте библиотеку для валидации (Zod, Joi, class-validator). Никогда не вставляйте пользовательский ввод напрямую в SQL или HTML.

Аутентификация, которая проверяет только «счастливый путь»

ИИ-сгенерированная аутентификация обычно обрабатывает вход и регистрацию. Она редко корректно обрабатывает истечение токенов, не предотвращает фиксацию сессий и часто имеет непоследовательные проверки авторизации на разных маршрутах.

Решение: Используйте проверенные библиотеки аутентификации вместо написания своей. Если вам нужна кастомизация — тестируйте «несчастливые пути»: истёкшие токены, невалидные сессии, попытки повышения привилегий.

CORS настроен на разрешение всего

Access-Control-Allow-Origin: * — это дефолт ИИ, потому что так всё работает. В продакшене это означает, что любой сайт может делать запросы к вашему API от имени ваших пользователей.

Решение: Настройте CORS на ваш реальный домен(ы). Явно укажите разрешённые методы и заголовки.

Нет ограничения частоты запросов

ИИ не думает о злоупотреблениях. Ваш эндпоинт логина, API-маршруты и отправка форм — всё это открыто для брутфорса и исчерпания ресурсов.

Решение: Добавьте rate limiting на чувствительные эндпоинты. Большинство хостинг-платформ предлагают это на уровне инфраструктуры, или используйте middleware в вашем фреймворке.

Зависимости с известными уязвимостями

ИИ-модели обучены на старом коде. Они предлагают пакеты, у которых могут быть опубликованные CVE. Они также склонны подключать больше зависимостей, чем нужно, расширяя поверхность атаки.

Решение: Запустите npm audit (или аналог). Удалите неиспользуемые зависимости. Зафиксируйте версии и настройте автоматическое обновление зависимостей.


Всё это — не причины отказываться от ИИ-инструментов. Это причины, чтобы человек проверил критически важные для безопасности части перед релизом. ИИ быстро доводит вас до 80% результата. Оставшиеся 20% — это то, где живёт реальный риск.

Хотите ревью безопасности вашего проекта, созданного с помощью ИИ? Закажите технический ревью — я пройдусь по вашей кодовой базе и дам приоритизированный список того, что нужно исправить.

Нужна помощь с подготовкой проекта к продакшену?