jxscout: análise de JavaScript para descoberta de endpoints e segredos
jxscout · MIT
O jxscout analisa JavaScript para recuperar as coisas que os front-ends vazam em seus bundles: endpoints de API, nomes de parâmetro e valores hardcoded. Aplicações modernas enviam seu roteamento e boa parte de seu contrato para o navegador, e o jxscout é a etapa no pipeline do Tandera que lê isso sistematicamente.
Comandos principais
# analisa um único bundle
jxscout analyze https://example.com/static/app.js
# todo script referenciado por uma página
jxscout analyze --page https://example.com
# um arquivo local
jxscout analyze ./app.bundle.js --json Saída
JSON estruturado: endpoints recuperados, nomes de parâmetro e constantes candidatas, cada um com o arquivo de origem e o offset para que um finding possa apontar para a localização exata no bundle.
Onde ele entra no Tandera
O jxscout roda na fase de analyze do recon_web_lite e do recon_api, sobre o JavaScript que o katana recuperou. Ele fica ao lado do linkfinder e do trufflehog, e os três dividem a mesma entrada: linkfinder para extração de rotas, trufflehog para segredos verificados, jxscout para o modelo estruturado de endpoints-e-parâmetros que alimenta a síntese de shadow-endpoints de API.
Como a análise é inteiramente de conteúdo já baixado — nada é enviado ao alvo — o jxscout é permitido no fluxo lite NonIntrusive.
Usando em um pentest
Bundles descrevem a API melhor do que a própria API se documenta. Os endpoints e parâmetros recuperados aqui são o contrato real da aplicação, incluindo rotas que a UI nunca exercita. Alimente-os no httpx e no arjun e teste o que é alcançável sem autorização.
Correlacione constantes com segredos verificados. O jxscout revela constantes candidatas; o trufflehog te diz quais são credenciais vivas. Um valor sinalizado por ambos, no mesmo bundle, é um finding confirmado com localização exata.
Source maps mudam tudo. Quando arquivos .map são servidos, a análise roda contra o fonte original em vez da saída minificada, e os nomes recuperados são os reais dos desenvolvedores. Sempre verifique se estão expostos — e anote, porque um source map público é, por si só, uma divulgação que vale reportar.