UStackUStack
AxKeyStore favicon

AxKeyStore

AxKeyStore é uma ferramenta de linha de comando que gerencia com segurança segredos, chaves e senhas, utilizando seu repositório privado do GitHub como armazenamento criptografado e não confiável.

Visitar Site
AxKeyStore

O que é AxKeyStore?

AxKeyStore: Gerenciamento Seguro de Segredos com Suporte do GitHub

O que é AxKeyStore?

AxKeyStore é uma ferramenta robusta de Interface de Linha de Comando (CLI) de código aberto, projetada para desenvolvedores e usuários preocupados com a segurança que precisam de uma maneira confiável de armazenar e gerenciar credenciais, chaves e senhas sensíveis. Sua inovação central reside no aproveitamento do seu repositório privado existente do GitHub como mecanismo de armazenamento de backend. Essa abordagem oferece os benefícios do armazenamento em nuvem — acessibilidade, controle de versão e confiabilidade — sem sacrificar a segurança, pois o GitHub é tratado estritamente como armazenamento não confiável.

Crucialmente, o AxKeyStore opera sob o princípio de criptografia absoluta no lado do cliente. Cada pedaço de dado sensível, incluindo os próprios segredos e as chaves usadas para criptografá-los, é processado inteiramente em sua máquina local antes da transmissão. Consequentemente, nenhum segredo em texto simples, chave mestra ou senha jamais atravessa a rede ou reside sem criptografia no servidor remoto ou no sistema de arquivos local. Esta arquitetura Zero Trust garante que somente você, possuindo a Senha Mestra correta, possa descriptografar e acessar os dados do seu cofre.

Principais Recursos

  • Arquitetura Zero Trust: Construída sob o princípio de que todos os sistemas externos, incluindo o GitHub, não são confiáveis. A criptografia é obrigatória e em múltiplas camadas.
  • Esquema de Criptografia de Três Camadas:
    • Criptografia de Segredos: Os segredos são criptografados usando a Chave Mestra Remota (RMK).
    • Criptografia da RMK: A RMK é criptografada usando sua Senha Mestra (via criptografia no lado do cliente).
    • Criptografia de Credenciais Locais: Detalhes de configuração locais (como o token do GitHub e o nome do repositório) são protegidos usando uma Chave Mestra Local (LMK), que também é protegida por sua Senha Mestra.
  • Criptografia Avançada: Utiliza algoritmos modernos e seguros, incluindo XChaCha20-Poly1305 para criptografia autenticada e Argon2id para derivação robusta de chaves a partir de sua Senha Mestra.
  • GitHub como Armazenamento de Backend: Aproveita o armazenamento gratuito, versionado e confiável fornecido por qualquer repositório privado do GitHub que você controle.
  • Suporte a Múltiplos Perfis: Gerencie facilmente vários cofres distintos, cada um com logins, Senhas Mestras e repositórios GitHub associados exclusivos.
  • Organização Hierárquica: Os segredos podem ser organizados logicamente usando caminhos de categoria (ex: api/producao/interno), aprimorando a descoberta e o gerenciamento.
  • Autenticação Unificada: Autentica o acesso com segurança usando Aplicativos do GitHub (GitHub Apps) e o mecanismo de Fluxo de Dispositivo (Device Flow).

Como Usar o AxKeyStore

Começar com o AxKeyStore envolve uma instalação simples seguida por um processo inicial de login e configuração. A ferramenta foi projetada para facilitar o uso após a configuração.

1. Instalação: Instale a ferramenta CLI usando os scripts específicos da plataforma fornecidos:

  • macOS/Linux: curl -sSL https://raw.githubusercontent.com/basilgregory/axkeystore/main/install.sh | bash
  • Windows (PowerShell): powershell -c "irm https://raw.githubusercontent.com/basilgregory/axkeystore/main/install.ps1 | iex" Esses scripts colocam automaticamente o binário no seu PATH para acesso imediato.

2. Login Inicial e Configuração: Execute o comando de login para iniciar a sequência de configuração: axkeystore login Durante esta primeira execução, você será solicitado a criar e confirmar sua Senha Mestra. Esta senha é a chave definitiva para descriptografar seu cofre e proteger sua configuração local. Após a configuração da senha, a CLI o guiará pela instalação do Aplicativo GitHub necessário em sua conta ou organização, concedendo ao AxKeyStore as permissões necessárias para ler/gravar no repositório privado designado.

3. Gerenciamento de Segredos: Após o login e a configuração, você pode usar comandos simples para armazenar e recuperar credenciais. Por exemplo, armazenar um novo segredo pode envolver especificar a categoria e o nome da chave, enquanto a recuperação usa o comando correspondente, garantindo que os dados sejam descriptografados apenas localmente após buscar o blob criptografado do GitHub.

Casos de Uso

  1. Proteção de Segredos de Pipeline CI/CD: Desenvolvedores podem armazenar chaves de API sensíveis, tokens de implantação e variáveis de ambiente necessários para builds e implantações automatizadas em seu cofre privado do AxKeyStore, garantindo que esses segredos nunca sejam codificados ou expostos em arquivos de configuração verificados no controle de origem.
  2. Gerenciamento de Credenciais de Desenvolvedor Pessoal: Desenvolvedores individuais podem centralizar todas as suas chaves SSH, chaves de acesso a provedores de nuvem (AWS, Azure, GCP) e senhas de banco de dados. Ao usar seu repositório do GitHub, eles ganham histórico de versão sobre os eventos de rotação de credenciais.
  3. Ambientes de Desenvolvimento Multiplataforma: Como o armazenamento é baseado em nuvem (GitHub) e a ferramenta é controlada por CLI, os usuários podem alternar perfeitamente entre sua máquina local, um servidor de desenvolvimento ou uma estação de trabalho temporária, acessando com segurança os segredos necessários após realizar o login/configuração inicial.
  4. Compartilhamento de Credenciais de Equipes Pequenas (Controlado): Embora projetado principalmente para segurança individual, as equipes podem usar um repositório privado compartilhado e dedicado para compartilhamento básico de credenciais de não produção, contando com o conhecimento compartilhado da Senha Mestra (embora o gerenciamento individual seja recomendado para segurança máxima).

FAQ

P: O que acontece se eu esquecer minha Senha Mestra? R: Como o AxKeyStore usa um esquema de criptografia multicamadas robusto no lado do cliente, protegido por sua Senha Mestra, esquecê-la significa que os dados estão permanentemente inacessíveis. Não há mecanismo de recuperação, aderindo estritamente ao modelo de segurança Zero Trust.

P: Meus dados estão realmente seguros se o GitHub for o local de armazenamento? R: Sim. O GitHub armazena apenas blobs binários criptografados. Mesmo que o GitHub fosse comprometido, os invasores só obteriam dados criptografados, pois as chaves de descriptografia (RMK e LMK) são protegidas por sua Senha Mestra e nunca saem de sua máquina local sem criptografia.

P: Posso usar um repositório público para armazenamento? R: Não. O AxKeyStore exige explicitamente um repositório GitHub privado. O uso de um repositório público exporia todos os seus segredos criptografados ao mundo, o que anularia o propósito da arquitetura de segurança.

P: Como o AxKeyStore lida com autenticação e autorização? R: Ele usa um Aplicativo GitHub dedicado que você deve instalar. Este aplicativo facilita a autenticação segura via Fluxo de Dispositivo e concede à CLI as permissões necessárias (leitura/gravação) apenas para o repositório específico designado como seu cofre.

P: Esta ferramenta custa dinheiro? R: AxKeyStore é um projeto de código aberto lançado sob a Licença MIT. A ferramenta em si é gratuita para usar. No entanto, a utilização do GitHub para armazenamento exige que você tenha uma conta no GitHub, que oferece repositórios privados gratuitos.

AxKeyStore | UStack