Pular para o conteúdo
Novo

DeepSeek V4.1 Flash grátis por 7 dias: 10M tokens por dia após recarga de $10 ou mais. Até 30/11.

Como funciona

Ler JavaScript com IA para achar endpoints

O JavaScript do front-end lista a API com que um app conversa. Use um modelo de IA para ler bundles e expor endpoints e parâmetros, e confira cada um.

Iniciante3 min de leituraPor NotHoly

Um single-page app entrega o front-end como JavaScript, e esse código guarda a lista de endpoints com que o app conversa. Ler esses bundles é um dos trabalhos de recon de maior valor para quem começa, e é um trabalho de leitura, que é onde um modelo ajuda. Este post segue a montagem do toolkit e alimenta testar bugs web. Para um recon mais amplo, o que é OSINT cobre a ideia sem virar um tutorial de ferramenta.

Por que o JavaScript importa

O browser precisa conhecer cada URL que chama, então os paths, os parâmetros e às vezes feature flags e nomes de papel ficam no código entregue. Um bundle minificado esconde isso de um humano lendo rápido, mas as strings estão todas ali. Tirar endpoints do JavaScript muitas vezes encontra rotas que não estão linkadas em lugar nenhum do app visível, que é justo onde se escondem bugs de controle de acesso.

Colete os bundles

Carregue o app com as dev tools abertas e olhe a aba de rede por arquivos terminados em .js. Salve os que o app carrega. Você também pode baixar um arquivo direto quando tiver a URL dele.

bash
curl -s https://example.com/static/app.min.js -o app.min.js
wc -c app.min.js

Guarde os arquivos no seu diretório de notas do programa. Fique nos hosts que o escopo lista; um bundle servido de um domínio de terceiro pode estar fora do escopo mesmo quando o app no escopo o carrega.

Leia um bundle com o modelo

Um bundle minificado é grande e barulhento demais para colar inteiro na maioria dos chats. Puxe antes as strings interessantes, depois peça ao modelo para dar sentido a elas.

bash
grep -oE '"/[a-zA-Z0-9_/-]+"' app.min.js | sort -u > paths.txt

Dê ao modelo o paths.txt e as chamadas fetch ou axios perto delas, e peça para agrupar os paths em rotas de API prováveis, chutar o método HTTP e listar os parâmetros que cada uma parece receber. A CLI da NotHoly consegue ler o arquivo e fazer isso no terminal, ou você pode mandar pela API de chat completions. O modelo transforma um paredão de strings em uma lista curta e testável.

De strings para endpoints que você confere

A lista do modelo é um conjunto de chutes. Você transforma cada chute em um request real pelo seu proxy e observa o que volta. Um path que retorna 401 sem token e 200 com um é um endpoint vivo que vale testar. Um path que dá 404 em todo lugar pode ser código morto deixado no bundle. Confirme o método e os parâmetros enviando o request você mesmo, porque o modelo os inferiu do texto e pode errar os dois.

Source maps quando existem

Alguns apps entregam source maps, que mapeiam o bundle minificado de volta para um código legível. Um comentário //# sourceMappingURL= no fim de um bundle ou um arquivo .map correspondente aponta para um. Quando um map está presente e no escopo, ele deixa o código muito mais fácil de ler, e o modelo consegue resumir módulos inteiros para você. A MDN explica source maps. Trate qualquer coisa que você aprende deles como uma pista a conferir contra o app rodando, como antes.

Cuidado com o modelo inventando endpoints

Um modelo a quem se pede endpoints às vezes produz uns plausíveis que não estão no arquivo, porque inventar um path de cara provável é justo o tipo de chute fluente que ele foi feito para dar. O OWASP Top 10 para Aplicações de LLM lista isso sob alucinação e excesso de confiança. Proteja-se com um hábito: todo path que você testa veio de uma string que você consegue apontar no bundle, e todo método e parâmetro é confirmado por uma response real. Se o modelo nomeia um endpoint que você não acha no arquivo, descarte.

A seguir nesta trilha

Agora você tem uma lista conferida de endpoints e parâmetros. Testar bugs web comuns com ajuda de IA pega essa lista e passa por IDOR, XSS, SSRF e auth quebrada. O OWASP Web Security Testing Guide tem o método completo para cada classe.

Fontes

  1. OWASP Web Security Testing Guide
  2. MDN: source maps
  3. NotHoly API: chat completions
  4. OWASP Top 10 for LLM Applications 2025

Mais em Segurança web e de APIs

Segurança web e de APIs

Testar bugs web comuns com ajuda de IA

Metodologia para IDOR, XSS, SSRF e auth quebrada com um modelo de IA como leitor e segunda opinião, mais como confirmar um finding e evitar falso positivo.

Iniciante4 min de leitura

Segurança web e de APIs

Teste de API com IA: OpenAPI e GraphQL

APIs expõem a própria forma por OpenAPI e introspection GraphQL. Use um modelo de IA para ler o schema e planejar testes de autorização que você confere.

Intermediário3 min de leitura

Segurança web e de APIs

Por que usar a NotHoly para segurança de web e API

Cole a requisição, a resposta ou a spec OpenAPI. O modelo nomeia a checagem que falta e escreve o teste para o seu proxy. O seu proxy manda o tráfego.

Intermediário3 min de leitura