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
Ferramentas/GitHubGitHub/microsoft/restler-fuzzer
Scanners de VulnerabilidadesTestes de Segurança de APIsSegurança WebFuzzingSegurança na Nuvem
GitHubmicrosoft/restler-fuzzer

restler-fuzzer

RESTler é a primeira ferramenta de fuzzing de API REST stateful para testar automaticamente serviços em nuvem através de suas APIs REST e encontrar bugs de segurança e confiabilidade nesses serviços.

Ver Repositório
2.9k33117há 7 mesesRevisado pelo Kitploit

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

RESTler

O que é o RESTler?

RESTler é a primeira ferramenta de fuzzing de API REST stateful para testar automaticamente serviços de nuvem através de suas APIs REST e encontrar bugs de segurança e confiabilidade nesses serviços. Para um determinado serviço de nuvem com uma especificação OpenAPI (antigo Swagger), o RESTler analisa toda a sua especificação e, em seguida, gera e executa testes que exercitam o serviço através de sua API REST.

O RESTler infere inteligentemente dependências produtor-consumidor entre tipos de requisição a partir da definição OpenAPI. Durante o teste, ele verifica classes específicas de bugs e aprende dinamicamente como o serviço se comporta a partir de respostas anteriores do serviço. Essa inteligência permite que o RESTler explore estados de serviço mais profundos, acessíveis apenas através de sequências de requisição específicas, e encontre mais bugs.

O RESTler é descrito nestes artigos de pesquisa revisados por pares:

  1. RESTler: Fuzzing Stateful de API REST (ICSE'2019)
  2. Verificando Propriedades de Segurança de APIs REST de Serviços de Nuvem (ICST'2020)
  3. Teste de Regressão Diferencial para APIs REST (ISSTA'2020)
  4. Fuzzing Inteligente de Dados de API REST (FSE'2020)

Se você usa o RESTler em sua pesquisa, por favor cite o artigo (padrão) ICSE'2019 (BibTeX).

O RESTler inclui múltiplas estratégias de geração de testes. Para obter uma visão comparativa abrangente em relação a (i) eficiência (isto é, quão rapidamente o RESTler pode encontrar falhas) e (ii) eficácia (isto é, quantas falhas o RESTler pode encontrar em um determinado período de tempo), recomendamos comparar contra todos os fuzzing_mode(s) documentados, porque cada um oferece um trade-off diferente entre amplitude e profundidade da exploração do espaço de estados. Também recomendamos executar o modo test antes de qualquer fuzzing, conforme descrito abaixo, para descobrir e corrigir problemas de configuração (por exemplo, adicionar valores de parâmetros pré-requisitos necessários ao dicionário) antes do fuzzing.

O RESTler foi criado na Microsoft Research e ainda está em desenvolvimento ativo.

Para uma visão geral e demonstração de como começar, veja Webinar - Fuzzing para Melhorar a Segurança e Confiabilidade de Serviços de Nuvem.

Arquitetura do RESTler

Status da Build

Build Status

Configurando o RESTler

O RESTler foi projetado para rodar em máquinas de 64 bits com Windows ou Linux. O suporte experimental para macOS também está habilitado.

Instruções de build

Docker

Na raiz deste repositório, execute

docker build -t restler .

O container docker resultante terá o RESTler disponível no diretório /RESTler/restler com o binário principal Restler.

Você pode então usar esta imagem docker como base para adicionar o aplicativo sob teste para executar fuzzing dentro de containers docker isolados.

Local

Pré-requisitos: Instale Python 3.12.8 e .NET 8.0, para seu sistema operacional apropriado.

Crie um diretório onde você gostaria de colocar os binários do RESTler:

mkdir restler_bin

Mude para o diretório raiz do repositório e execute o seguinte script Python:

python ./build-restler.py --dest_dir <full path to restler_bin above>

Nota: se você obtiver o erro nuget NU1403 ao construir, uma solução rápida é limpar seu cache com este comando

dotnet nuget locals all --clear

Usando o RESTler

O RESTler é executado em 4 modos principais (em ordem):

  1. Compilar: a partir de uma definição OpenAPI JSON ou YAML (e opcionalmente exemplos), gere uma gramática do RESTler. Veja Compilando.
  2. Testar: execute rapidamente todos os endpoints+métodos em uma gramática compilada do RESTler para depurar a configuração do teste e calcular quais partes da definição OpenAPI são cobertas. Este modo também é chamado de smoketest. Veja Testando. Para usar configurações personalizadas do motor de teste, veja Configurações do Motor de Teste.
  3. Fuzz-lean: execute uma vez cada endpoint+método em uma gramática compilada do RESTler com um conjunto padrão de verificadores para ver se bugs podem ser encontrados rapidamente. Veja Fuzzing.
  4. Fuzz: caça a bugs - explore uma gramática de fuzzing do RESTler no modo inteligente de busca em largura (modo de busca mais profunda) para encontrar mais bugs. Aviso: Este tipo de fuzzing é mais agressivo e pode causar interrupções no serviço sob teste se o serviço for mal implementado (por exemplo, fuzzing pode criar vazamentos de recursos, degradação de desempenho, corrupções de backend, etc.). Veja Fuzzing.

Início Rápido

Para uma introdução rápida com exemplos simples, veja este Tutorial.

Para experimentar rapidamente o RESTler em sua API, veja Início Rápido.

Bugs encontrados pelo RESTler

Atualmente existem duas categorias de bugs encontrados pelo RESTler.

  • Código de erro: atualmente, sempre que uma resposta com código de status 500 ("Erro Interno do Servidor") é recebida, um bug é reportado.
  • Verificadores: cada verificador tenta acionar bugs específicos executando requisições adicionais direcionadas ou sequências de requisições em determinados pontos durante o fuzzing, determinados pelo contexto. Alguns verificadores tentam encontrar 500s adicionais, enquanto outros tentam encontrar bugs de lógica específicos, como vazamentos de recursos ou violações de hierarquia. Para uma descrição completa dos verificadores, veja Verificadores.

Quando um bug é encontrado, o RESTler reporta bugs triados em buckets de bugs e fornece um log de replay que pode ser usado para reproduzir o bug (veja Replay).

Tópicos Avançados

Para dicas sobre como usar o RESTler efetivamente, veja Melhores Práticas e Melhorando a Cobertura da API.

Veja também estas Perguntas Frequentes.

Se você está interessado em usar o RESTler em escala como parte do seu pipeline CI/CD, confira o serviço auto-hospedado de Teste de Fuzz de API REST.

Perguntas

Baixar ferramenta