Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
git-remote-pqcrypt — Um auxiliar remoto Git criptografado implementado em rust | Kitploit
Ferramentas/GitHubGitHub/torm0r/git-remote-pqcrypt
Ferramentas de Criptografia/DescriptografiaCriptografiaSegurança na NuvemUtilitários e Frameworks
GitHubtorm0r/git-remote-pqcrypt

git-remote-pqcrypt

Um auxiliar remoto Git criptografado implementado em rust

Ver Repositório
317há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

git-remote-pqcrypt


ISTO É UM PROJETO EXPERIMENTAL, não passou por uma auditoria de segurança formal. NÃO confie nele para repositórios críticos.

git-remote-pqcrypt é um helper remoto Git criptografado similar ao gcrypt. Ele armazena packfiles Git e metadados do repositório criptografados em repouso. O acesso é feito com o wrapping pós-quântico XWing.

Versão atual da crate: 0.2.0.

Como funciona

  1. git-remote-pqcrypt init cria uma chave mestra do repositório.
  2. A chave mestra é encapsulada para cada usuário com sua chave pública.
  3. Packfiles Git e manifesto são criptografados usando a chave mestra.
  4. Git usa pqcrypt através do helper remoto git-remote-pqcrypt.
  5. A chave mestra é decriptada localmente pelo helper e então os packfiles são decriptados para o repositório local.

Exemplo de arquivos do armazenamento remoto:

keys.json
manifest.enc
objects/
    pack-.....pack.enc

keys.json contém metadados e encapsulamentos criptografados da chave mestra.

Instalação

Instalação rápida com Cargo

Instale a build padrão a partir do Git:

cargo install --git https://github.com/Torm0r/git-remote-pqcrypt --locked

Isso instala git-remote-pqcrypt no diretório binário do Cargo, geralmente ~/.cargo/bin.

Certifique-se de que o diretório binário do Cargo está no seu PATH, então verifique se funciona:

git-remote-pqcrypt --help

A build padrão inclui suporte a armazenamento local via sistema de arquivos e via Git-backed.

Para instalar com suporte SFTP em sistemas Unix-like:

cargo install --git https://github.com/Torm0r/git-remote-pqcrypt --locked --features sftp

A funcionalidade sftp atualmente não é suportada no Windows.

Compilar a partir do código fonte

Compile com suporte de backend padrão:

cargo build --release

Isso inclui suporte a armazenamento local via sistema de arquivos e via Git-backed.

Para compilar com suporte SFTP em sistemas Unix-like:

cargo build --release --features sftp

Instale o binário no seu PATH:

sudo cp target/release/git-remote-pqcrypt /usr/local/bin/

O nome do binário deve permanecer git-remote-pqcrypt, pois o Git encontra os helpers remotos procurando por git-remote-[nome].

Verifique se funciona:

git-remote-pqcrypt --help

Requisitos

  • Rust toolchain para compilar a partir do código fonte
  • git deve estar instalado
  • Para armazenamento via Git-backed, são necessárias credenciais Git funcionando e uma identidade Git configurada
  • Para acesso SSH/SFTP, a autenticação SSH existente deve estar configurada
  • O suporte SFTP requer compilação com --features sftp e atualmente é apenas para sistemas Unix-like

Início rápido

  1. Vá para um repositório Git existente ou crie um.

  2. Inicialize o armazenamento pqcrypt.

Caminho local:

git-remote-pqcrypt init pqcrypt:///caminho/para/armazenamento-criptografado

SFTP requer compilação com a funcionalidade sftp e atualmente é suportada apenas em sistemas Unix-like:

git-remote-pqcrypt init pqcrypt::sftp://[email protected]/caminho/para/armazenamento

Via Git-backed:

git-remote-pqcrypt init pqcrypt::[email protected]:org/armazenamento.git

Se nenhuma chave privada existir, uma é gerada em ~/.config/pqcrypt/key e a chave pública é exibida.

Você será solicitado a fornecer um comentário opcional para a chave, por exemplo pessoal ou laptop-trabalho.

Após o init, um remote Git chamado pqcrypt é adicionado:

git remote -v

Exemplo:

pqcrypt  pqcrypt::/caminho/para/armazenamento-criptografado (fetch)
pqcrypt  pqcrypt::/caminho/para/armazenamento-criptografado (push)
  1. Push:
git push pqcrypt main
  1. Clone ou fetch:
git clone pqcrypt::[email protected]:Torm0r/pqcrypt-test.git meu-clone
  1. Adicione outro usuário.

Ele deve gerar um par de chaves com:

git-remote-pqcrypt keygen

Ele pode obter sua chave pública com:

git-remote-pqcrypt pubgen ~/.config/pqcrypt/key

Ou pode copiar a chave pública exibida por keygen.

Em seguida, um usuário autorizado existente o adiciona ao repositório:

git-remote-pqcrypt add-user <chave-publica-base64>

Execute para mais opções:

git-remote-pqcrypt add-user -h

Por padrão, add-user procura por um remote Git local cuja URL comece com pqcrypt e adiciona a chave pública lá.

Comportamento do Push

pqcrypt distingue pushes normais de force pushes pela refspec do Git.

Pushes normais são verificados como fast-forward e rejeitados se sobrescreveriam o histórico remoto.

Comportamento do Remote-helper

Git invoca pqcrypt como um helper remoto através do binário git-remote-pqcrypt.

Quando invocado pelo Git, o helper espera o formato de argumento remote-helper usado pelo Git, por exemplo:

git-remote-pqcrypt origin pqcrypt::/caminho/para/armazenamento

Subcomandos diretos da CLI como init, add-user, keygen, pubgen e help são tratados como comandos de usuário normais, não como invocações de remote-helper.

O ponto de entrada do binário delega para o runtime da biblioteca, então a lógica da aplicação é testável tanto através da crate da biblioteca quanto através do binário instalado.

Cache de armazenamento via Git-backed

Para URLs de armazenamento via Git-backed, pqcrypt mantém um cache local no diretório de cache do sistema, por exemplo:

~/.cache/pqcrypt/

pqcrypt busca o estado criptografado do repositório Git de apoio antes das operações e envia o estado criptografado após as atualizações.

Se for detectada corrupção ou perda do cache, pqcrypt tenta recriar o cache automaticamente, buscando novamente do repositório Git de apoio.

Formatos de URL

pqcrypt::, pqcrypt:// e pqcrypt: são todos aceitos e normalizados internamente para pqcrypt::.

Estes são equivalentes:

git-remote-pqcrypt init pqcrypt:///caminho/para/armazenamento
git-remote-pqcrypt init pqcrypt::/caminho/para/armazenamento
git-remote-pqcrypt init pqcrypt:/caminho/para/armazenamento

O backend é determinado pelo caminho de armazenamento:

PadrãoBackendNotas
/caminho/localSistema de arquivos localPadrão
git@host:, *.git, https://git*Git-backedPadrão
sftp:// ou ssh://SFTPRequer --features sftp; apenas sistemas Unix-like

Exemplos:

pqcrypt::/tmp/armazenamento
pqcrypt:///tmp/armazenamento
pqcrypt:/tmp/armazenamento
pqcrypt::[email protected]:org/armazenamento.git
pqcrypt::https://github.com/org/armazenamento.git
pqcrypt::sftp://[email protected]/caminho/para/armazenamento

Lógica de descoberta da chave privada

Durante a decriptação, pqcrypt procura uma chave privada nesta ordem:

  1. Variável de ambiente PQCRYPT_KEY_PATH
  2. git config pqcrypt.keypath
  3. .pqcrypt/key no diretório atual
  4. Qualquer arquivo de chave correspondente em ~/.config/pqcrypt, onde todos são testados

Para configurações com múltiplas chaves, por exemplo chave de trabalho e pessoal:

git config pqcrypt.keypath ~/.config/pqcrypt/chave-trabalho

A chave deve ser uma que foi usada durante init ou adicionada via add-user.

Desenvolvimento

Execute a suíte de testes completa:

cargo test

Execute com SFTP habilitado em sistemas Unix-like:

cargo test --features sftp

Alguns testes de ponta a ponta que dependem do comportamento de caminho local Unix-like são ignorados no Windows.

Builds CI

GitHub Actions compila o projeto no Linux, macOS e Windows. Os artefatos do workflow podem conter binários de execuções CI, mas estes não são lançamentos oficiais.

Informações de segurança

Baixar ferramenta