UStackUStack
AxKeyStore icon

AxKeyStore

AxKeyStore — безопасный open-source CLI для управления секретами и паролями: шифрует на клиенте и хранит только зашифрованные данные в приватном GitHub.

AxKeyStore

Что такое AxKeyStore?

AxKeyStore — безопасный open-source инструмент командной строки (CLI) для управления секретами, ключами и паролями. Его основная цель — позволить использовать ваш приватный репозиторий GitHub как зашифрованное хранилище, при этом относясь к GitHub как к ненадёжному хранилищу.

С AxKeyStore шифрование происходит на стороне клиента. В удалённый репозиторий GitHub сохраняются только зашифрованные данные, секреты не хранятся в открытом виде. Инструмент также избегает хранения секретов, мастер-ключей или паролей в незашифрованном виде на локальной файловой системе.

Ключевые возможности

  • Приватный репозиторий GitHub как зашифрованный бэкенд: Хранит секреты в приватном репозитории под вашим контролем с использованием зашифрованных бинарных блобов.
  • Шифрование на стороне клиента для всех секретов: Секреты шифруются на вашей машине перед загрузкой; по сети не передаются секреты в открытом виде.
  • Модель Zero Trust / многоуровневое шифрование: Использует Local Master Key (LMK) для шифрования локальной конфигурации (включая токен доступа к GitHub и имя репозитория) и Remote Master Key (RMK) для шифрования хранимых секретов.
  • Современное аутентифицированное шифрование и вывод ключей: Шифрование LMK использует Argon2id и XChaCha20-Poly1305; трёхслойная схема обеспечивает, чтобы в GitHub попадали только зашифрованные артефакты.
  • Унифицированная аутентификация через GitHub Apps и Device Flow: Безопасная аутентификация с помощью GitHub Apps и Device Flow.
  • CLI-рабочий процесс для инициализации и операций: Включает команды для входа, инициализации репозитория для хранения и управления секретами простым набором команд.
  • Иерархическая организация по категориям: Организуйте секреты в категории вроде api/production/internal.
  • Поддержка нескольких профилей: Управляйте несколькими хранилищами с разными логинами, мастер-паролями и репозиториями GitHub.

Как использовать AxKeyStore

  1. Установите CLI: На macOS/Linux запустите предоставленный shell-скрипт установки. На Windows — PowerShell-скрипт установки. Скрипты скачивают бинарник, размещают его в $HOME/.axkeystore/bin и настраивают PATH.
  2. Войдите с аккаунтом GitHub: Запустите axkeystore login. При первом входе задайте Master Password; этот пароль используется для шифрования чувствительного локального токена доступа к GitHub.
  3. Установите необходимое GitHub App: Во время входа CLI предоставит ссылку для установки GitHub App для вашего пользователя или организации. Установите приложение, чтобы предоставить доступ к репозиторию.
  4. Инициализируйте репозиторий хранения: Запустите axkeystore init --repo <repo-name> (или укажите организацию/владельца вроде my-org/my-secret-store). Если репозиторий был инициализирован ранее на другой машине, AxKeyStore запросит это при инициализации.

После инициализации вы можете использовать CLI для хранения и извлечения учётных данных, которые живут как зашифрованные блобы в вашем приватном репозитории GitHub.

Сценарии использования

  • Храните учётные данные для GitHub без открытого текста: Держите API-ключи, пароли и другие секреты в приватном репозитории, где хранятся только зашифрованные данные.
  • Разделяйте секреты по окружениям или доменам с помощью категорий: Организуйте секреты в иерархические категории вроде api/production/internal, чтобы легко ориентироваться в разных окружениях.
  • Управляйте несколькими хранилищами в разных репозиториях GitHub: Ведите отдельные профили для разных репозиториев и мастер-паролей — полезно при работе с несколькими проектами или организациями.
  • Защищайте локальное хранение учётных данных: Убедитесь, что токен доступа к GitHub и имя репозитория (локальные учётные данные) зашифрованы с помощью Local Master Key и защищены мастер-паролем пользователя.
  • Использование на разных машинах с ненадёжным удалённым хранилищем: Инициализируйте тот же зашифрованный репозиторий на другой машине (запрос при init), чтобы удалённое хранилище содержало только зашифрованные блобы, а шифрование обрабатывал каждый клиент.

FAQ

  • Хранит ли AxKeyStore секреты в незашифрованном виде в GitHub? Нет. Секреты шифруются на стороне клиента, в приватном репозитории GitHub хранятся только зашифрованные бинарные блобы.

  • Передаются ли ключи шифрования или мастер-пароли по сети? Проект описывает, что по сети не передаются секреты, мастер-ключи или пароли в открытом виде. Шифрование происходит исключительно на вашей машине.

  • Какую аутентификацию использует AxKeyStore? Использует GitHub Apps и Device Flow для аутентификации.

  • Как AxKeyStore защищает данные локально? Использует Local Master Key (LMK), зашифрованный вашим Master Password с помощью Argon2id и XChaCha20-Poly1305; LMK шифрует локальную конфигурацию, такую как токен доступа к GitHub и имя репозитория.

  • Какие ОС поддерживаются для установки? Репозиторий предоставляет скрипты установки для macOS/Linux (через install.sh) и Windows (через install.ps1).

Альтернативы

  • Другие CLI-менеджеры секретов с клиентским шифрованием: Ищите инструменты, которые шифруют секреты локально и хранят только шифротекст в удалённом бэкенде (модель ненадёжного хранилища), обычно используя S3, Git или другое хранилище.
  • Специализированные менеджеры паролей (приложения на базе хранилищ): Используйте локальное приложение или хранилище для десктопа/мобайла, которое управляет шифрованием и синхронизацией; рабочий процесс отличается, поскольку бэкенд управляется менеджером паролей, а не вашим приватным GitHub-репозиторием.
  • Хранение секретов в Git с инструментами шифрования: Некоторые подходы хранят зашифрованные файлы в Git и полагаются на ваши инструменты шифрования; в отличие от AxKeyStore, вам придётся самостоятельно управлять процессом шифрования вместо использования专用 CLI и его модели ключей.
  • Облачные менеджеры секретов с управляемым шифрованием: Сервисы, хранящие секреты в управляемой системе; в отличие от модели AxKeyStore, подход с клиентским ненадёжным хранилищем может не быть основным шаблоном.

Альтернативы

AxKeyStore | UStack