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
JAW — JAW: Um Framework de Análise de Segurança Baseado em Grafos para JavaScript no Lado do Cliente | Kitploit
Ferramentas/GitHubGitHub/soheilkhodayari/jaw
Análise EstáticaAnálise Dinâmica (Sandboxing)Análise de VulnerabilidadesAnálise de CódigoSegurança WebTestes de PenetraçãoRastreadorSegurança de Banco de Dados
GitHubsoheilkhodayari/jaw

JAW

JAW: Um Framework de Análise de Segurança Baseado em Grafos para JavaScript no Lado do Cliente

Ver Repositório
1182127há 7 mesesRevisado pelo Kitploit
Site

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

JAW

J A W

Website | Documentação | Configuração | Crawler | Início Rápido Docker (Exemplo)

JAW

Node Platform Open Source Love Tweet

Uma implementação protótipo de código aberto de grafos de propriedade para JavaScript baseada no analisador esprima e na EsTree SpiderMonkey Spec. O JAW pode ser usado para analisar o lado cliente de aplicações web e programas baseados em JavaScript.

Este projeto é licenciado sob GNU AFFERO GENERAL PUBLIC LICENSE V3.0. Consulte aqui para mais informações.

O JAW possui um site no Github Pages disponível em https://soheilkhodayari.github.io/JAW/.

Notas de Lançamento:

  • Set 2025, JAW-v5: suporte à detecção de DOM gadgets através deste fork.
  • Dez 2024, JAW-v4: JAW atualizado com consultas de detecção de redirecionamento aberto.
  • Out 2023, JAW-v3 (Sheriff): JAW atualizado para detectar vulnerabilidades de sequestro de requisição no lado cliente.
  • Jul 2022, JAW-v2 (TheThing): JAW atualizado para sua próxima grande versão com a capacidade de detectar vulnerabilidades de DOM Clobbering. Consulte o branch JAW-V2.
  • Dez 2020, JAW-v1: primeira versão protótipo. Consulte o branch JAW-V1.

Conteúdo

Visão Geral do JAW

  1. Entradas de Teste
  2. Coleta de Dados
  3. Construção do HPG
  4. Análise e Saídas

Configuração

  1. Instalação

Início Rápido

  1. Executando o Pipeline
  2. Exemplo Rápido
  3. Rastreamento e Coleta de Dados
    • CLI do Playwright com Foxhound
    • Crawler baseado em Puppeteer
    • Crawler baseado em Selenium
  4. Construção do Grafo
    • CLI de Construção do HPG
    • CLI de Importação do HPG
  5. Análise de Segurança
    • Executando Travessias de Grafo Personalizadas
    • Detecção de Vulnerabilidades
  6. Aplicação Web de Teste

Informações Adicionais

  1. Documentação Detalhada
  2. Contribuição e Código de Conduta
  3. Publicação Acadêmica

Visão Geral do JAW

A arquitetura do JAW é mostrada abaixo.

Entradas de Teste

O JAW pode ser usado de duas maneiras distintas:

  1. Análise Arbitrária de JavaScript: Utilize o JAW para modelar e analisar qualquer programa JavaScript especificando o caminho do sistema de arquivos do programa.

  2. Análise de Aplicação Web: Analise uma aplicação web fornecendo uma única URL inicial.

Coleta de Dados

  • O JAW possui vários rastreadores web habilitados para JavaScript para coletar recursos web em escala.

Construção do HPG

  • Use os recursos web coletados para criar um Grafo de Programa Híbrido (HPG), que será importado para um banco de dados Neo4j.

  • Opcionalmente, forneça ao módulo de construção do HPG um mapeamento de tipos semânticos para tokens de linguagem JavaScript personalizados, facilitando a categorização de funções JavaScript com base em seu propósito (por exemplo, funções de requisição HTTP).

Análise e Saídas

  • Consulte o banco de dados de grafos Neo4j construído para várias análises. O JAW oferece travessias utilitárias para análise de fluxo de dados, análise de fluxo de controle, análise de alcançabilidade e correspondência de padrões. Essas travessias podem ser usadas para desenvolver análises de segurança personalizadas.

  • O JAW também inclui travessias embutidas para detectar CSRF no lado cliente, DOM Clobbering e vulnerabilidades de sequestro de requisição.

  • As saídas serão armazenadas na mesma pasta da entrada.

Configuração

O script de instalação depende dos seguintes pré-requisitos:

  • Última versão do npm package manager (node js)
  • Qualquer versão estável de python 3.x
  • Gerenciador de pacotes Python pip

Em seguida, instale as dependências necessárias via:

$ ./install.sh

Para instruções de instalação detalhadas, consulte aqui.

Início Rápido

Executando o Pipeline

Você pode executar uma instância do pipeline em uma tela de fundo via:

$ python3 -m run_pipeline --conf=config.yaml

A CLI fornece as seguintes opções:

$ python3 -m run_pipeline -h

usage: run_pipeline.py [-h] [--conf FILE] [--site SITE] [--list LIST] [--from FROM] [--to TO]

This script runs the tool pipeline.

optional arguments:
  -h, --help            show this help message and exit
  --conf FILE, -C FILE  pipeline configuration file. (default: config.yaml)
  --site SITE, -S SITE  website to test; overrides config file (default: None)
  --list LIST, -L LIST  site list to test; overrides config file (default: None)
  --from FROM, -F FROM  the first entry to consider when a site list is provided; overrides config file (default: -1)
  --to TO, -T TO        the last entry to consider when a site list is provided; overrides config file (default: -1)

Config de Entrada: O JAW espera um arquivo de configuração .yaml como entrada. Veja config.yaml para um exemplo.

Dica. O arquivo de configuração especifica diferentes passos (por exemplo, rastreamento, análise estática, etc.) que podem ser ativados ou desativados para cada classe de vulnerabilidade. Isso permite executar os blocos de construção da ferramenta individualmente, ou em uma ordem diferente (por exemplo, rastrear todas as aplicações web primeiro, depois realizar a análise de segurança).

Exemplo Rápido

Baixar ferramenta