Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!
-CVE-2025-55182 — Scanner baseado em navegador que audita repositórios GitHub em busca de vulnerabilidades conhecidas em dependências React e Next.js, verificando todos os branches e suportando repositórios privados via PAT. | Kitploit
Scanner baseado em navegador que audita repositórios GitHub em busca de vulnerabilidades conhecidas em dependências React e Next.js, verificando todos os branches e suportando repositórios privados via PAT.
Um navegador web moderno (Chrome, Firefox, Edge, etc.)
Acesso ao GitHub (opcional: Personal Access Token para repositórios privados)
Passo a Passo
1. Abrir o Console do Navegador
Acesse qualquer página do GitHub (ex: https://github.com)
Abra o DevTools:
Chrome/Edge: F12 ou Ctrl+Shift+I (Windows) / Cmd+Option+I (Mac)
Firefox: F12 ou Ctrl+Shift+K (Windows) / Cmd+Option+K (Mac)
Vá para a aba Console
2. Copiar e Executar o Script
Abra o arquivo main.js
Copie todo o conteúdo do arquivo
Cole no console do navegador
Pressione Enter para executar
3. Configurar o Scan
O script fará uma série de perguntas interativas:
3.1. Autenticação (Primeira Pergunta)
root@kitploit:~
🔐 Scan private repos too?
OK = Enter PAT
Cancel = Public only
OK: Você será solicitado a inserir um Personal Access Token (PAT) do GitHub
Permite escanear repositórios privados
Necessário para acessar organizações
Cancel: Apenas repositórios públicos serão escaneados
Como criar um PAT:
Acesse: https://github.com/settings/tokens
Clique em "Generate new token" → "Generate new token (classic)"
Dê um nome descritivo
Selecione o escopo repo (acesso completo a repositórios)
Clique em "Generate token"
Copie o token imediatamente (não será mostrado novamente)
3.2. Escopo do Scan (Se autenticado)
root@kitploit:~
🔍 What do you want to scan?
OK = Organizations
Cancel = User Profile
OK: Escanear organizações
Cancel: Escanear apenas o perfil do usuário
3.3. Seleção de Organizações (Se escolheu Organizations)
root@kitploit:~
🏢 Scan all organizations?
OK = All organizations
Cancel = Single organization
Opção A - Todas as organizações (OK):
O script buscará automaticamente todas as organizações do usuário autenticado
Escaneará todos os repositórios de todas as organizações
Opção B - Uma organização específica (Cancel):
Você será solicitado a inserir a URL ou nome da organização:
root@kitploit:~
🔗 Enter organization URL or name:
Example: github.com/my-org or my-org
Formatos aceitos:
github.com/minha-org
https://github.com/minha-org
minha-org (apenas o nome)
3.4. Perfil do Usuário (Se não autenticado ou escolheu Profile)
Se você estiver em uma página de perfil do GitHub, o script detectará automaticamente
Caso contrário, será solicitado:
root@kitploit:~
Enter GitHub username:
📊 Funcionalidades
✨ Verificação por Branches
O script verifica todas as branches de cada repositório, não apenas a branch padrão. Isso garante que vulnerabilidades em branches de desenvolvimento, staging ou outras branches ativas sejam detectadas.
🏢 Suporte a Organizações
Escaneia repositórios de organizações do GitHub
Opção de escanear todas as organizações ou uma específica
Suporta inserção de URL ou nome da organização
🔒 Acesso a Repositórios Privados
Com um Personal Access Token válido, o script pode:
Acessar repositórios privados
Escanear organizações privadas
Verificar branches de repositórios privados
📈 Resultados
Após a execução, o script exibirá:
Tabela de Resultados
Uma tabela no console mostrando:
Repo: Nome do repositório
Branch: Nome da branch verificada
Next: Versão do Next.js (se presente)
React: Versão do React (se presente)
ReactDOM: Versão do react-dom (se presente)
RSCWebpack: Versão do react-server-dom-webpack (se presente)
RSCParcel: Versão do react-server-dom-parcel (se presente)
RSCTurbopack: Versão do react-server-dom-turbopack (se presente)
Status: Status da vulnerabilidade
✅ Safe: Sem vulnerabilidades detectadas
⚠️ CVE-XXXX-XXXXX: Vulnerabilidade encontrada
Resumo
root@kitploit:~
📊 Summary:
Total repos: 15
Branches scanned: 23
With package.json: 20
Skipped: 3 (no package.json)
⚠️ 5 vulnerable repo(s) found!
ou
root@kitploit:~
✅ No vulnerabilities found!
⚙️ Configurações Técnicas
Delay entre requisições API: 200ms (para evitar rate limiting)
Delay entre scans: 30ms
Resultados por página: 100 itens
Suporte a repositórios privados: Sim (com PAT)
Verificação de branches: Todas as branches de cada repositório
🔧 Solução de Problemas
Erro: "Token invalid"
Verifique se o token foi copiado corretamente
Certifique-se de que o token tem o escopo repo
Verifique se o token não expirou
Erro: "No repositories found"
Verifique se o usuário/organização existe
Se escaneando organizações, verifique se você tem acesso
Verifique se há repositórios no perfil/organização
Erro: "No organizations found"
Verifique se você está autenticado com um token válido
Certifique-se de que você faz parte de organizações
O token precisa ter permissões para acessar organizações
Scan muito lento
O script faz delays intencionais para evitar rate limiting
Repositórios com muitas branches levarão mais tempo
Organizações com muitos repositórios levarão mais tempo
📝 Notas Importantes
Rate Limiting: O script respeita os limites da API do GitHub com delays automáticos
Privacidade: O token é usado apenas localmente no navegador, não é enviado para servidores externos
Precisão: O scanner verifica apenas o package.json na raiz do repositório
Branches: Todas as branches são verificadas, mas apenas aquelas com package.json são reportadas
Versões: O scanner detecta versões vulneráveis baseado nas definições de CVE
🛡️ Segurança
O script roda completamente no navegador (client-side)
Nenhum dado é enviado para servidores externos
O Personal Access Token é usado apenas para requisições à API do GitHub
Recomenda-se usar tokens com escopos mínimos necessários
📄 Licença
MIT License
🔄 Versão
3.0.0
Desenvolvido para detectar vulnerabilidades de segurança em projetos React e Next.js