Безопасный вайб-кодинг: 10 проверок перед запуском AI-приложения в продакшен

Вайб-кодинг позволяет быстро собрать приложение с помощью AI-ассистента, даже если разработчик пишет небольшую часть кода вручную. Скорость полезна для прототипа, но опасна в продакшене: модель может оставить секреты в клиентском коде, довериться данным браузера или создать слишком широкие права доступа.
Перед публичным запуском приложение стоит пройти по базовому чек-листу. Он не заменяет аудит, но помогает поймать наиболее частые ошибки.
1. Секреты остаются на сервере
API-ключи, пароли базы и служебные токены нельзя помещать в JavaScript, мобильный пакет или публичный репозиторий. Переменная окружения безопасна только на серверной стороне. Утёкший ключ нужно отозвать, а не просто удалить из последнего коммита.
2. Сервер проверяет все входные данные
Проверка в интерфейсе улучшает удобство, но её легко обойти. Тип, длина, формат, допустимый диапазон и права пользователя должны проверяться сервером для каждого запроса.
3. Авторизация проверяется для каждого объекта
Недостаточно знать, что пользователь вошёл в систему. Сервер обязан проверить, имеет ли он право читать или изменять конкретный документ, заказ или профиль. Простая замена идентификатора в URL не должна открывать чужие данные.
4. База данных получает параметризованные запросы
Не соединяйте пользовательский текст со строкой SQL. Используйте параметры ORM или подготовленные выражения и выдавайте приложению минимально необходимые права.
5. Есть ограничения частоты
Rate limit нужен для входа, восстановления пароля, отправки сообщений и дорогих AI-запросов. Он защищает от перебора, спама и неожиданного счёта за использование модели.
6. CORS настроен точечно
Разрешение запросов с любых доменов удобно в разработке, но редко оправдано в рабочей системе. Перечислите доверенные источники и проверьте передачу cookies и токенов.
7. Ошибки не раскрывают внутренности
Пользователь не должен видеть трассировку, SQL, пути файлов или секреты. Подробности сохраняются в защищённом журнале, интерфейс получает нейтральное сообщение и идентификатор инцидента.
8. Загрузки файлов ограничены
Проверяйте реальный тип, размер и содержимое файла, переименовывайте его и храните вне исполняемой директории. Для публичных загрузок добавьте антивирусную проверку и лимиты.
9. Зависимости и права минимальны
Удалите неиспользуемые пакеты, обновите критичные зависимости и проверьте lock-файл. Контейнер, серверная функция и база должны работать с минимальными разрешениями.
10. Резервное копирование проверено восстановлением
Бэкап считается рабочим только после успешного тестового восстановления. Подготовьте также план отката релиза, мониторинг ошибок и контакт человека, который реагирует на инцидент.
Отдельно для функций с ИИ
Не доверяйте ответу модели как команде. Инструменты агента должны иметь узкие разрешения, опасные действия — требовать подтверждения, а пользовательский контент — отделяться от системных инструкций. Ограничьте стоимость запроса, объём контекста и число шагов агента.
Как использовать AI для проверки AI-кода
Попросите ассистента построить модель угроз, найти места обработки секретов и перечислить доступные без авторизации маршруты. Затем подтвердите выводы тестами и ручным просмотром. Модель хорошо расширяет список гипотез, но не доказывает безопасность.
Основной ориентир: OWASP Top 10. Для AI-функций следует дополнительно применять актуальные рекомендации OWASP по безопасности LLM-приложений.








