Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
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. | Kitploit
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.9k3315há 6 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 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 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.

fuzzing_mode(s)
test

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

root@kitploit:~
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

Se você tem uma solicitação/sugestão/pergunta, por favor registre uma issue. Veja Contributing.md para instruções.

Contribuindo

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Contribuidor (CLA) declarando que você tem o direito e, de fato, nos concede os direitos de usar sua contribuição. Para detalhes, visite https://cla.microsoft.com.

Quando você enviar um pull request, um CLA-bot determinará automaticamente se você precisa fornecer um CLA e decorará o PR adequadamente (por exemplo, etiqueta, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para mais informações, veja as FAQ do Código de Conduta ou entre em contato com [email protected] para quaisquer perguntas ou comentários adicionais.

Para mais informações, veja Contributing.md.

Marcas Registradas

Este projeto pode conter marcas registradas ou logotipos de projetos, produtos ou serviços. O uso autorizado de marcas registradas ou logotipos da Microsoft está sujeito e deve seguir as Diretrizes de Marcas Registradas e Marca da Microsoft. O uso de marcas registradas ou logotipos da Microsoft em versões modificadas deste projeto não deve causar confusão ou implicar patrocínio da Microsoft. Qualquer uso de marcas registradas ou logotipos de terceiros está sujeito às políticas desses terceiros.

Coleta de Dados

O software pode coletar informações sobre você e seu uso do software e enviá-las para a Microsoft. A Microsoft pode usar essas informações para fornecer serviços e melhorar nossos produtos e serviços. Você pode desligar a telemetria conforme descrito no repositório. Há também alguns recursos no software que podem permitir que você e a Microsoft coletem dados de usuários de suas aplicações. Se você usar esses recursos, deve cumprir a lei aplicável, incluindo o fornecimento de avisos apropriados aos usuários de suas aplicações juntamente com uma cópia da declaração de privacidade da Microsoft. Nossa declaração de privacidade está localizada em https://go.microsoft.com/fwlink/?LinkID=824704. Você pode aprender mais sobre coleta e uso de dados na documentação de ajuda e em nossa declaração de privacidade. Seu uso do software opera como seu consentimento para essas práticas.

Para mais informações, veja Telemetry.md.

Reportando Problemas de Segurança

Problemas de segurança e bugs devem ser reportados de forma privada, por e-mail, para o Microsoft Security Response Center (MSRC) em [email protected]. Você deve receber uma resposta dentro de 24 horas. Se por algum motivo não receber, por favor, faça um acompanhamento por e-mail para garantir que recebemos sua mensagem original. Mais informações, incluindo a chave MSRC PGP, podem ser encontradas no Security TechCenter.

Para detalhes adicionais, veja Security.md.

Privacidade e Cookies

https://go.microsoft.com/fwlink/?LinkId=521839

Baixar ferramenta