v
vibecode
Модуль 01 · Глава 04·10 минут

Секреты, .env и почему это важно


Самая частая и самая дорогая ошибка начинающих — утечка секретов. API-ключ от Claude в чате, пароль БД в git, токен в скриншоте. Один промах — потерял $1000. Сегодня разберём как не попасть.

Что такое секрет

Секрет — это любая строка которая даёт доступ от твоего имени:

  • API-ключи (OpenAI, Anthropic, Stripe, Cloudflare, AWS, ...)
  • Пароли от баз данных
  • Личные токены GitHub, GitLab
  • Webhook URLs со встроенным токеном (https://hooks.slack.com/services/AAA/BBB/CCC)
  • SSH-ключи
  • OAuth client secrets

Если кто-то получит твой секрет — он сможет делать действия от твоего имени. Через Claude API можно нагенерить контента на тысячи долларов за час. Через AWS-ключ — поднять майнеры на твоей кредитке.

Что такое .env

.env — это обычный текстовый файл с секретами, который лежит в папке проекта, но никогда не уезжает с ним.

.env
ANTHROPIC_API_KEY=sk-ant-api03-abc123...
DATABASE_URL=postgresql://user:password@host:5432/db
STRIPE_SECRET_KEY=sk_test_xyz789...

Программа читает значения из .env и использует их. Сам файл — только у тебя на компьютере и на сервере. В git его нет, в чате его нет, в скриншотах его нет.

Как защитить .env от git

В каждом проекте создай файл .gitignore со строчкой:

.gitignore
.env
.env.local
.env.production
.env.*.local
!.env.example

Git будет игнорировать .env. Можно коммитить только .env.example — пустой шаблон без значений.

.env.example
ANTHROPIC_API_KEY="your_key_here"
DATABASE_URL="postgresql://localhost/dev"

Правила безопасности — выучи как мантру

  1. Секрет никогда не идёт в git. Проверяй .gitignore каждый раз.
  2. Секрет никогда не идёт в чат с AI — даже test-ключи. Привычка важнее технической безопасности.
  3. Секрет никогда не пересылается в Telegram, WhatsApp, Slack, email.
  4. Секрет никогда не попадает в скриншот (закрашивай или открывай в инкогнито).
  5. Если случайно куда-то отправил — сразу ротируй (получи новый ключ, старый аннулируй).

Если уже утёк

  1. Сразу иди в dashboard провайдера (Anthropic / OpenAI / AWS / etc.)
  2. Нажми «Rotate» или «Regenerate» — старый ключ перестанет работать
  3. Проверь биллинг — нет ли подозрительных трат за последние дни
  4. Если в git — нужно вычистить из истории (git filter-branch или git filter-repo)
  5. Извлеки урок — почему это случилось, чтобы больше не повторить

Где хранить .env

  • На маке — просто файл в папке проекта
  • На сервере — файл /opt/<проект>/.env
  • Для команды — менеджер секретов (Doppler, Infisical, 1Password)
  • Никогда — в публичном git, в Telegram, в чатах AI

Прошёл главу? Отметь — и продолжай.