Найти в Дзене
Цифровая Переплавка

Ваш .env — это не тайник. Это витрина.

Если вы хоть раз шарили экран на созвоне, работали в коворкинге или записывали демо с кодом — велика вероятность, что ваши API-ключи уже «гуляли» в кадре. Новый инструмент от разработчика под ником GreatScott предлагает радикально простой ответ: секреты не должны существовать на диске в открытом виде вообще. Речь о проекте enveil — CLI-утилите на Rust, которая превращает .env из хранилища паролей в безопасный шаблон с символическими ссылками. Идея не про «ещё один менеджер секретов», а про устранение самого источника утечек. AI-инструменты вроде Claude, Copilot или Cursor читают файлы проекта. Это их работа. Но вместе с кодом они видят и .env. А ещё его видит: 📹 Запись экрана для YouTube или внутреннего демо
🧑‍💻 Сосед в коворкинге с камерой и зумом
🤖 Любой агент, которому вы дали доступ к директории Современные смартфоны с мощным зумом действительно способны считывать текст с экрана на десятки метров — и это уже не паранойя, а реальность. Поэтому подход «просто не показывайте .env»
Оглавление

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

Речь о проекте enveil — CLI-утилите на Rust, которая превращает .env из хранилища паролей в безопасный шаблон с символическими ссылками. Идея не про «ещё один менеджер секретов», а про устранение самого источника утечек.

Проблема не теоретическая — она повседневная

AI-инструменты вроде Claude, Copilot или Cursor читают файлы проекта. Это их работа. Но вместе с кодом они видят и .env. А ещё его видит:

📹 Запись экрана для YouTube или внутреннего демо
🧑‍💻 Сосед в коворкинге с камерой и зумом
🤖 Любой агент, которому вы дали доступ к директории

Современные смартфоны с мощным зумом действительно способны считывать текст с экрана на десятки метров — и это уже не паранойя, а реальность. Поэтому подход «просто не показывайте .env» — слабый.

Как работает enveil: коротко и по-взрослому

Вместо привычного:

DATABASE_URL=postgres://user:pass@host/db
STRIPE_KEY=sk_live_...

вы пишете:

DATABASE_URL=ev://database_url
STRIPE_KEY=ev://stripe_key
PORT=3000

А реальные значения живут в локальном зашифрованном хранилище внутри .enveil/.

Когда вы запускаете приложение через:

enveil run -- npm start

происходит магия — но строго техническая, без маркетинга:

🔐 Пароль пользователя превращается в 256-битный ключ через Argon2id (64 МБ памяти, 3 итерации — это серьёзная защита от brute force)
🧊 Хранилище расшифровывается алгоритмом AES-256-GCM
🎯 Все ev:// ссылки резолвятся в реальные значения
🧼 Ключ и пароль затираются из памяти
🚀 Подпроцесс запускается уже с внедрёнными переменными окружения

Важно: секрет никогда не попадает в stdout, историю shell или на диск в plaintext.

Технические детали, которые вызывают уважение

Проект не просто «заявляет» безопасность — он её проверяет.

🧪 31 автоматический тест
🔁 Проверка смены nonce при каждом сохранении
🧱 AES-GCM с аутентификацией (любой бит-флип → ошибка)
🚫 Нет команды get или export — чтобы исключить утечки через вывод

Хранилище — это бинарный blob. Без мастер-пароля он выглядит как случайный шум. Даже утилита strings ничего не найдёт.

Это правильная криптографическая гигиена, а не «шифрование ради галочки».

Это не менеджер секретов. Это слой обороны.

Важно понимать: enveil не заменяет Vault, 1Password или AWS Secrets Manager. Он решает другую задачу:

🛡 Защитить локальную разработку
🎥 Защитить screen-sharing
🤖 Защитить от AI-агентов
🧑‍💻 Защитить от случайных коммитов

Это инструмент «последней мили» — на уровне редактора и CLI.

И, на мой взгляд, именно такие инструменты сейчас становятся критичными. Мы активно внедряем AI в разработку, но забываем, что AI видит всё, что лежит в проекте.

Мне особенно нравится философия проекта

Проект написан почти полностью с помощью Claude Code — иронично, учитывая, что он защищает от утечек через AI.

Но важнее другое:

🧠 Минимализм
📦 Никаких сторонних сервисов
🔒 Всё локально
⚙️ Написано на Rust — предсказуемость, безопасность памяти

Это не SaaS, не облако, не «подключите API и оплатите подписку». Это бинарник, который вы контролируете.

Что это меняет в практике разработки?

Если честно — это меняет привычку.

Мы привыкли считать .env «временной штукой».
Но в реальности это один из самых чувствительных файлов проекта.

enveil делает простой, но мощный сдвиг:

Секреты не должны храниться в проекте вообще.

Даже если проект приватный. Даже если вы «никому не показываете экран».

Мой вывод

Я вижу здесь более широкий тренд: вопросы безопасности всё больше решаются на уровне удобства работы разработчика.

Раньше мы думали о продакшене.
Теперь нужно думать о локальной среде.

AI-агенты, screen-sharing, удалённая работа — всё это расширяет поверхность атаки. И такие инструменты, как enveil, закрывают именно те мелкие, но реальные дыры, через которые чаще всего и происходят утечки.

Это не громкая революция.
Это тихая инженерная аккуратность.

И в мире, где одна случайная трансляция может стоить вам Stripe-аккаунта, — это более чем актуально.

Источники

🔗 GitHub-репозиторий проекта:
https://github.com/GreatScott/enveil

🔗 Версия статьи на Telegraph:
https://telegra.ph/Zashchishchaem-env-pochemu-vashi-sekrety-uyazvimy-dazhe-pri-screen-sharing-i-chto-s-ehtim-delat-02-24