Безопасность

Четыре правила безопасности при вайб-кодинге: защита секретов, работа с терминалом и агентними IDE.

Дата составления: 2026-03-30
Статус: ✅ Актуально


Суть

Большинство проблем безопасности при вайб-кодинге связаны с одним: секреты (API-ключи, токены, пароли) попадают в публичный доступ или выполняется команда, последствия которой сложно обратить. Четыре правила ниже закрывают основные риски.


Правило 1 — Все секреты только в .env

Секреты — это любые данные, компрометация которых дает кому-то доступ к вашим аккаунтам, деньгам или переписке. К секретам относятся:

  • API-ключи нейросетей (OpenAI, Anthropic и т. д.) — одновременно идентификация и счет к оплате.

  • Токены Telegram-бота — дают полный контроль над ботом.

  • Session strings — строки сессии (Telethon, Pyrogram): эквивалент логина в аккаунт, даже без пароля.

  • Database URL — адрес базы данных с логином и паролем.

  • SMTP-данные — логин и пароль для отправки писем.

  • SSH-ключи — доступ к серверу.

Все они должны храниться только в файле .env в корне проекта:

OPENAI_API_KEY=sk-... TELEGRAM_BOT_TOKEN=7123456789:AAF... DATABASE_URL=postgresql://user:pass@host/db

При деплое на хостинг ключи вводятся в раздел «Переменные окружения» — в коде их быть не должно.


Правило 2 — .gitignore до первого коммита

Файл .gitignore говорит Git, какие файлы не нужно добавлять в репозиторий.

Создайте его до git add . — иначе .env попадет в историю коммитов, и даже если потом его удалить, он останется в старых коммитах.

Попросите нейросеть создать .gitignore для вашего проекта — она знает, какие файлы типичны для вашего стека и что из них нельзя публиковать.


Правило 3 — Просите LLM объяснять команды терминала

Нейросеть часто предлагает запустить команду в терминале — установить зависимость, настроить окружение, задеплоить. Не запускайте команду, которую не понимаете.

Если не знаете, что делает команда, спросите прямо:

«Объясни, что делает эта команда и каждый ее флаг: pip install -r requirements.txt —no-cache-dir»

Это особенно важно для команд, которые изменяют файловую систему или загружают код из Интернета. Особо опасные:

  • rm -rf — удаляет файлы и папки без возможности восстановления.

  • curl ... | bash — скачивает и сразу запускает код из Интернета.

  • chmod 777 — открывает файл для записи всем.

Добавьте в системную инструкцию вашей IDE или чата с нейросетью: «Перед тем как предложить команду для терминала, объясни, что она делает, и укажи, необратима ли она».


Правило 4 — Особые правила для агентних IDE

Агентние IDE (Cursor, Windsurf, Antigravity, Claude Code) действуют самостоятельно: создают файлы, удаляют их, запускают команды в терминале без вашего участия в каждом шаге. Это удобно, но требует дополнительной осторожности.

Изолируйте агента в папке проекта. Не запускайте агента из корня диска или домашней директории — он должен видеть только файлы вашего проекта, а не всю файловую систему.

Не отключайте «Ask before run». В большинстве агентних IDE есть режим подтверждения перед выполнением терминальных команд. Оставляйте его включенным, пока не разберетесь с проектом.

Делайте **git commit** перед каждой агентной сессией. Агент может случайно перезаписать или удалить файлы. Если есть коммит — всегда можно откатиться.

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


Если API-ключ утек

Если .env случайно попал в публичный репозиторий или вы поняли, что ключ скомпрометирован:

  1. Немедленно отзовите ключ — в личном кабинете сервиса (OpenAI, Anthropic и т. д.) найдите раздел API Keys и удалите скомпрометированный ключ

  2. Выпустите новый ключ и добавьте его в .env

  3. Проверьте расходы — в личном кабинете посмотрите, не было ли неожиданных списаний

  4. Очистите историю Git — попросите нейросеть: «Как удалить файл .env из всей истории Git-репозитория?»


Чек-лист безопасности

  • Все секреты в .env, не в коде

  • .env есть в .gitignore

  • .gitignore создан до первого git commit

  • Репозиторий приватный (или в коде точно нет секретов)

  • Все команды терминала поняты перед запуском

  • Для агентних IDE: включено подтверждение команд, агент изолирован в папке проекта

  • На хостинге переменные окружения добавлены в настройки, не в код


Что учесть

  • Даже если вы не подключали платежные данные к вашим API-ключам, это не значит, что их можно хардкодить. Бесплатные тарифы API нейросетей имеют лимиты. При утечке ключа злоумышленник быстро исчерпает лимит.

  • Устанавливая пакеты через pip install, проверяйте название на pypi.org: популярные библиотеки часто подделывают со схожими именами (reqeusts вместо requests).


Связанные статьи


Теги: #инструкция #новичок #вайб-кодинг #безопасность