Repositórios Git expostos representam uma das vulnerabilidades mais críticas e frequentemente descobertas na segurança de aplicações web. Quando desenvolvedores acidentalmente implantam seu diretório .git em um servidor web de produção, eles expõem todo o histórico de controle de versão do projeto - incluindo código-fonte, arquivos de configuração, mensagens de commit, e potencialmente credenciais sensíveis como chaves de API e senhas de banco de dados.
O Git armazena todos os metadados e histórico do repositório em uma pasta oculta .git na raiz de cada projeto. Este diretório contém a base de dados de objetos completa (todas as versões de arquivos e commits), referências de branches, configurações e o índice de staging. Quando esta pasta está acessível em um servidor web em produção, qualquer pessoa pode reconstruir o código-fonte completo e revisar cada alteração já feita no projeto.
Esta vulnerabilidade tipicamente ocorre por erros de implantação. Causas comuns incluem copiar o diretório inteiro do projeto (incluindo .git) para o servidor web via FTP ou rsync, usar git clone diretamente na raiz web, pipelines CI/CD mal configurados que incluem diretórios de controle de versão nos artefatos de build, e contêineres Docker que empacotam a pasta .git. Muitos servidores web populares como Apache e Nginx não bloqueiam acesso a dotfiles por padrão, tornando a exposição imediatamente explorável.
Pesquisadores de segurança e caçadores de bug bounty rotineiramente descobrem repositórios Git expostos em sites do Fortune 500, portais governamentais e plataformas financeiras. As consequências são graves: atacantes podem baixar a base de código completa, minerar o histórico de commits em busca de senhas e tokens de API acidentalmente commitados, descobrir detalhes de arquitetura interna e identificar vulnerabilidades adicionais no código-fonte. Mesmo credenciais deletadas em commits posteriores permanecem recuperáveis do histórico Git.
Organizações podem prevenir esta vulnerabilidade configurando servidores web para negar acesso a diretórios .git, usando pipelines de build que criam artefatos de implantação limpos sem metadados de controle de versão, e escaneando regularmente servidores de produção com ferramentas automatizadas. Entender como repositórios Git expostos funcionam e como atacantes os exploram é conhecimento essencial para testadores de penetração e qualquer pessoa responsável por proteger a infraestrutura web.
Labs que compartilham habilidades semelhantes
Escolha como deseja começar
Entre na sua conta