Вайб-кодинг — подход к разработке, при котором программист формулирует задачу на естественном языке, а ИИ-агент (например, Cursor, Claude Code, GitHub Copilot) генерирует код. Это резко ускоряет создание прототипов, но одновременно создаёт новые риски для безопасности. Автор гайда на Habr, имеющий опыт собственных провалов (слив ssh-ключей, открытый Redis, атака через npm), делится практическими советами.

Первый и самый важный шаг — сразу создать.gitignore, чтобы Git не отслеживал локальные секреты, ключи и служебные файлы. Но автор предупреждает:.gitignore не является границей безопасности. Он говорит Git не коммитить файл, но не запрещает ИИ-агенту, редактору, shell-команде или MCP-серверу читать этот файл. Особенно опасно, когда.gitignore добавляется после первых коммитов — в истории уже могут быть секреты.

ИнструментНазначениеТип
GitleaksПоиск секретов в коде и истории GitSecret scanning
TruffleHogПоиск секретов в коде и истории GitSecret scanning
BanditСтатический анализ Python-кодаSAST
Semgrep / OpengrepСтатический анализ с правилами для разных языковSAST

Минимальный безопасный маршрут, по мнению автора, состоит из пяти пунктов: 1. Создать.gitignore сразу. 2. Создать.env.example с названиями переменных, но без значений. 3..env не коммитить и не отправлять агенту без явной необходимости. 4. Перед публикацией на GitHub проверить проект сканером секретов. 5. Если проект работает с данными компании, платежами или пользователями, не выкладывать его публично без дополнительной проверки.

Минимальный набор:.gitignore,.env.example, не коммитить.env, проверить сканером, не публиковать критичные проекты.

Для автоматизации проверки автор рекомендует pre-commit хуки (Gitleaks, TruffleHog) — они останавливают коммит при обнаружении секрета. На стороне GitHub работает push protection, блокирующая пуш с найденным секретом. Для более глубокого анализа используются SAST-линтеры (Bandit для Python, Semgrep/Opengrep для разных языков) и dependency scanning (SCA) для проверки зависимостей на известные уязвимости.

Если проект перестаёт быть игрушкой, автор советует добавить CI/CD-пайплайн с секрет-сканированием, ограничить область действия токенов, использовать IAM и, возможно, провести лёгкое моделирование угроз по STRIDE. Контрольный список — создать SBOM, проверить открытые порты, хотя бы одну роль с минимальными правами, мониторинг подозрительного трафика, логирование, шифрование данных в покое и при передаче.

Главный вывод: безопасность вайб-кодинга — это не паранойя, а гигиена. Пять простых действий уже сегодня уберегут от публичного позора и потерь. А когда проект вырастет, наращивать защиту будет проще, если фундамент заложен правильно.