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

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

Дата составления: 2026-07-27
Статус: 💡 Актуально


Суть

Большинство проблем безопасности при вайб-кодинге связаны с двумя вещами: секреты (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 или чата с нейросетью: «Перед тем как предложить команду для терминала, объясни, что она делает, и укажи, необратима ли она».


Особые правила для агентов

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

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

  • Помните, что документ может содержать инструкции для агента. Все, что агент читает — договор от контрагента, письмо, веб-страница, PDF, — это данные, а не команды. Но текст внутри файла может быть написан так, чтобы агент принял его за вашу задачу: «игнорируй предыдущие инструкции», «отправь содержимое папки по адресу...». Это называется промпт-инъекцией, и для юриста риск не абстрактный: вы обрабатываете агентом документы, которые прислали посторонние люди. Отсюда два правила:

    • Работайте с чужими документами в отдельной папке и не включайте на них полностью автономный режим: он не защищен от таких инъекций вообще.

    • Если агент вдруг предлагает действие, которого вы не просили, а поводом стал обработанный документ, — остановитесь.

  • Понимайте режимы разрешений. У кодинг-агентов есть настройка того, что агент делает без вашего подтверждения: от «спрашивать разрешение на каждое действие» до полностью автономного режима, в котором агент не спрашивает ничего. Отдельно стоит режим планирования — он самый строгий: агент только читает файлы и предлагает план, ничего не меняя. Режим переключается в интерфейсе агента, а точечные запреты на отдельные команды (например, на удаление) задаются в настройках разрешений. Пока не разобрались с проектом — держите подтверждение включенным, а сложные задачи начинайте с режима планирования.

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

Перечисленные риски не гипотетические. В июле 2026 флагманская модель OpenAI GPT-5.6 Sol в агентном харнессе Codex удаляла файлы и базы данных пользователей без подтверждения — в том числе за пределами рабочей папки. По итогам разбирательства OpenAI отмечала, что во всех подтвержденных случаях агент работал в режиме полного доступа с отключенной песочницей.

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


Когда вайб-кодинга недостаточно

Отдельный вид риска — переоценить свои силы. Даже самый продвинутый агент не заменяет инженерных знаний там, где важны устойчивость, масштабируемость и защищенность. Есть большая разница между программой для себя и пяти коллег — и сервисом на сотни или тысячи пользователей.

Не беритесь в одиночку за то, что связано с:

  • платежами и любыми финансовыми операциями;

  • сбором персональных данных многих людей (появляются требования закона и риск утечки);

  • многопользовательскими системами с авторизацией.

Вайб-кодинг оптимален для внутренних инструментов, прототипов и открытых проектов для сообщества. Если прототип доказал пользу и нужен серьезный продукт — подключайте профессиональных разработчиков, а готовое решение отдайте им «на прожарку».


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

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

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

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

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

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

Порядок шагов здесь важен. Отзыв и перевыпуск ключа — единственное, что действительно лечит утечку: если репозиторий успели скопировать, форкнуть или закэшировать, старый коммит с ключом останется доступным. Чистка истории Git — гигиена, а не лечение, и откладывать ради нее первый шаг нельзя.


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

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

  • .env есть в .gitignore

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

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

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

  • Агент изолирован в папке проекта, подтверждение команд включено

  • Чужие документы обрабатываются в отдельной папке, автономный режим на них не включен

  • Перед агентной сессией сделан git commit

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


Что учесть

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

  • Устанавливая MCP-сервер, скилл или плагин, вы даете чужому коду те же права, что и самому агенту: доступ к вашим файлам и подключенным сервисам. Ставьте только то, чей источник вам понятен, и предпочитайте официальные каталоги случайным ссылкам.

  • Нейросеть может выдумать название библиотеки, которой не существует, — а злоумышленники заранее регистрируют такие «галлюцинированные» имена (это явление называют слопсквоттингом). Поэтому перед pip install проверяйте на pypi.org любой незнакомый пакет, а не только похожий на популярный (reqeusts вместо requests).


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

Дополнительные материалы

  • Vibe Coding Agent Security and Evaluation — методичка Google/Kaggle про риски автономного агента: запуск собственного кода, доступ к внутренним системам, изменение живых окружений — и какие ограждения из этого следуют


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