dotenvx CLI
dotenvx, CLI для переменных окружения, шифрует конфигурацию; приложение получает ее значения только с ключом расшифрования.
- 5 880 ★ репозитория
- Последний коммит
- BSD-3-Clause
Расширенный доступ
Почему такой уровень
- CLI расшифровывает секреты и передает их запущенному процессу; защита вывода не ограничивает полномочия этого процесса.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/dotenvxОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- CLI расшифровывает секреты и передает их запущенному процессу; защита вывода не ограничивает полномочия этого процесса.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
dotenvx, инструмент командной строки, хранит значения переменных окружения в зашифрованном виде и расшифровывает их при запуске приложения. Файл с шифротекстом можно версионировать рядом с проектом, а приватный ключ хранить отдельно в среде исполнения. CLI подходит для запуска программ на разных языках. Можно выбирать env-файлы под окружение и управлять порядком загрузки значений. Для работы с CLI-агентами описан режим сокрытия секретов в выводе процесса. При этом сама запущенная программа получает настоящие значения и должна иметь право ими пользоваться.
Для кого. Инженерам поставки приложений, которые хотят версионировать зашифрованную конфигурацию и отдельно выдавать ключи окружениям.
Подходит, если
- Несколько окружений требуют своих переменных, которые нужно хранить вместе с версией проекта.
- Приложению нужен одинаковый способ загрузки env независимо от языка.
- Команда хочет добавить новые зашифрованные значения через уже известный публичный ключ.
- CLI-агенту разрешены секреты для задачи, но их точные значения не должны появляться в обычном выводе.
Не подходит, если
- Приватный ключ собираются хранить в том же репозитории без отдельной защиты.
- Требуется запретить запущенной программе доступ к расшифрованным значениям.
- Сокрытие вывода принимают за полную изоляцию агента от сети и файлов.
Пример запроса к агенту
Подготовь dotenvx для тестового приложения: опиши хранение ключа и порядок env-файлов. Не читай реальные секреты в чат и не коммить их.Ограничения
Для расшифрования нужен приватный ключ; шифротекст без него не восстановит окружение приложения. Ключи следует хранить отдельно от публикуемых env-файлов и учитывать при резервном копировании. Режим сокрытия вывода не скрывает значения от самого процесса, поэтому разрешения агента и доступ к сети остаются отдельной задачей. При загрузке нескольких файлов уже существующие переменные по умолчанию имеют приоритет; изменение этого порядка требует явного режима overload.
Как отключить. Верните приложению прежний способ загрузки переменных, затем удалите CLI. Перед удалением ключей проверьте, что нужные окружения можно восстановить.
Частые вопросы
Что хранится в env-файле после шифрования?
Значения переменных заменяются шифротекстом.
Как запустить приложение с переменными?
В примере Node.js используется `dotenvx run -- node index.js`. После разделителя укажите команду своего приложения, которому нужно передать переменные.
Можно ли шифровать без приватного ключа?
Да. Для нового файла можно передать существующий публичный ключ через `--with`. Приватный ключ потребуется при запуске приложения.
Мешает ли сокрытие вывода агенту прочитать секрет?
Нет. Процесс получает реальные значения, а режим скрывает их в выводе. Ограничьте доступ агента отдельно.
Почему значение из env не заменило уже заданную переменную?
Уже заданные переменные имеют приоритет. Флаг `--overload` меняет этот порядок; включайте его только тогда, когда значения из файла должны заменить текущее окружение.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыСкилл и CLI для .env.schema: агент видит имена, типы и правила переменных окружения, а значения секретов в его контекст не попадают
Vahta дает агенту использовать ваши пароли и API-ключи через зашифрованное хранилище, не показывая сами значения
EnvLatch хранит API-ключи в связке ключей macOS и дает команде агента только выбранные переменные окружения, без файлов .env
Обертка над 1Password CLI: агент находит, использует и сохраняет секреты, не видя значений, и реже просит одобрения
Утилита хранит ключи в системной связке и подставляет их в запрос на транспортном уровне, так что агент значения не видит.
Lade выдает команде секреты и доступ к закрытой сети только на время ее работы, а потом убирает, для людей и для агентов
Коротко о README
Пакет также подключается как библиотека JavaScript. CLI-примеры показывают несколько способов установки и раздельные файлы для разных окружений.