# Scanner ReDoS para regex

Verifica regex quanto a backtracking catastrofico, simula entradas maliciosas e sugere reescritas mais seguras

> Página canônica: https://elysiatools.com/pt/tools/redos-regex-scanner

- **Categoria:** Security

- **Palavras-chave:** redos, regex, seguranca, backtracking

## Visão geral

Cole um regex por linha e ajuste flags, tamanho maximo da entrada maliciosa e numero de simulacoes. O scanner combina heuristicas estaticas e benchmarking de near-miss inputs.

## Entradas

- **Lista de regex** (textarea): (a+)+$ ^(\w+\s?)*$
- **Flags** (text)
- **Tamanho maximo da entrada maliciosa** (number)
- **Execucoes de simulacao** (number)

## Quando usar

- Durante revisões de código de segurança para validar expressões regulares antes de enviá-las para o ambiente de produção.
- Ao auditar bibliotecas de terceiros ou códigos legados em busca de vulnerabilidades ocultas de ReDoS.
- Para testar e otimizar padrões complexos de regex que processam entradas não confiáveis fornecidas por usuários.

## Como funciona

- Cole uma ou mais expressões regulares na área de texto principal, inserindo um padrão por linha sem as barras delimitadoras.
- Opcionalmente, defina as flags (como 'i' ou 'm'), o tamanho máximo da entrada maliciosa e o número de execuções da simulação.
- A ferramenta executa uma análise estática para encontrar antipadrões e realiza um benchmark simulando entradas quase correspondentes.
- O resultado é gerado em formato JSON, detalhando o nível de risco, o tempo de execução no pior cenário e sugestões de reescrita.

## Casos de uso

- Validação de formulários web onde expressões regulares complexas processam dados do usuário, como e-mails ou senhas.
- Filtros de segurança em firewalls de aplicação (WAF) que dependem de regex para bloquear cargas úteis maliciosas.
- Processamento de logs e extração de dados em servidores backend, garantindo que strings longas não travem o serviço.

## Perguntas frequentes

### O que é ReDoS?

ReDoS (Regular Expression Denial of Service) é um ataque onde uma expressão regular mal construída consome recursos excessivos da CPU ao tentar processar uma entrada específica, causando lentidão ou travamento do sistema.

### Como a ferramenta detecta o backtracking catastrófico?

Ela utiliza uma combinação de análise estática para identificar quantificadores aninhados e simulações dinâmicas com entradas maliciosas geradas para medir o tempo de execução no pior cenário.

### Posso testar várias expressões regulares de uma vez?

Sim, basta colar uma expressão regular por linha no campo 'Lista de regex' para que a ferramenta analise todas em lote.

### O que significa o tamanho máximo da entrada maliciosa?

É o limite de caracteres da string de ataque gerada pela ferramenta para testar o desempenho do seu regex. O valor padrão é 32, podendo chegar a 256.

### A ferramenta corrige o meu regex automaticamente?

Ela não altera seu código diretamente, mas o relatório JSON de saída inclui sugestões de reescrita mais seguras para mitigar o risco encontrado.

## Ferramentas relacionadas

- [Folha de Consulta Regex](https://elysiatools.com/pt/tools/regex-cheat-sheet): Uma folha de consulta pesquisável e localizada para a sintaxe de expressões regulares — classes de caracteres, âncoras, quantificadores, grupos e referências, lookaheads, sequências de escape e flags, com um testador rápido integrado
- [Depurador de Regex](https://elysiatools.com/pt/tools/regex-debugger): Percorra como uma expressão regular corresponde a uma string posição por posição: visualize tentativas de correspondência, sucessos parciais, backtracks e capturas — uma ferramenta para entender o comportamento do regex, não apenas o resultado final
- [Visualizador de Diagrama Ferroviário de Regex](https://elysiatools.com/pt/tools/regex-railroad-diagram-visualizer): Renderiza uma expressão regular como diagrama ferroviário SVG mostrando literais, grupos, alternativas e repetição, com numeração de grupos de captura e explicação das flags
- [Substituidor de Arquivos de Texto](https://elysiatools.com/pt/tools/text-file-replacer): Buscar e substituir texto em arquivos com suporte para regex, múltiplos padrões e criação de backup
- [Testador Regex](https://elysiatools.com/pt/tools/regex-tester): Testa expressões regulares contra texto
- [Pesquisador de Arquivos de Texto](https://elysiatools.com/pt/tools/text-file-searcher): Pesquisar padrões de texto em arquivos com opções avançadas (regex, sensível a maiúsculas, palavra inteira, etc.)
- [Benchmark de Regex](https://elysiatools.com/pt/tools/regex-benchmark): Compare o desempenho de diferentes padrões regex, identifique gargalos e detecte casos degenerativos
- [Linting de Regex](https://elysiatools.com/pt/tools/regex-linter): Detecta padrões de regex propensos a erros e arriscados, verifica backtracking catastrófico, padrões não ancorados e fornece sugestões de reescrita

## Exemplos

- [Padrões de Regex Arriscados](https://elysiatools.com/pt/samples/risky-regex): Coleção de padrões regex que demonstram vulnerabilidades de segurança, problemas de desempenho e anti-padrões comuns para evitar
- [Exemplos de Substituição de Regex](https://elysiatools.com/pt/samples/regex-replace): Coleção de padrões de substituição de regex comuns e úteis para transformação de texto e limpeza de dados
- [Padrões Comuns de Expressões Regulares](https://elysiatools.com/pt/samples/regex-samples): Padrões de expressões regulares comumente usados para validação e correspondência
- [Exemplos de Processamento de Strings Android Java](https://elysiatools.com/pt/samples/android-string-processing-java): Exemplos de processamento de strings Android Java incluindo divisão e junção de strings, expressões regulares e substituição de strings

## Conteúdo relacionado

- [Fluxo de teste, visualizacao e seguranca de regex](https://elysiatools.com/pt/hubs/regex-utility): Crie expressoes regulares confiaveis com referencia de sintaxe, testes, visualizacao, preview de substituicao, benchmarks e scanner ReDoS.
