# Сканер ReDoS для regex

Проверяет regex на риск катастрофического backtracking, моделирует вредоносный ввод и предлагает более безопасные замены

> Каноническая страница: https://elysiatools.com/ru/tools/redos-regex-scanner

- **Категория:** Security

- **Ключевые слова:** redos, regex, безопасность, backtracking

## Обзор

Вставьте по одному regex на строку и при необходимости задайте флаги, максимальную длину злого ввода и число прогонов. Инструмент сочетает статический анализ и симуляцию near-miss входов.

## Входные данные

- **Список regex** (textarea): (a+)+$ ^(\w+\s?)*$
- **Флаги** (text)
- **Макс длина злого ввода** (number)
- **Число прогонов** (number)

## Когда использовать

- Перед развертыванием новых регулярных выражений для валидации данных в production-окружении.
- При аудите безопасности существующей кодовой базы на наличие скрытых уязвимостей ReDoS.
- Во время ревью кода для проверки сложных паттернов с вложенными квантификаторами.

## Как это работает

- Вставьте одно или несколько регулярных выражений (по одному на строку) в основное текстовое поле без обрамляющих слешей.
- При необходимости укажите флаги (например, i или m), максимальную длину генерируемого вредоносного ввода и количество прогонов симуляции.
- Инструмент проведет статический анализ структуры паттерна и сгенерирует строки, которые почти совпадают с выражением, для стресс-тестирования.
- Получите подробный JSON-отчет с оценкой уровня риска, худшим временем выполнения и вариантами безопасной замены уязвимых выражений.

## Сценарии использования

- Проверка паттернов валидации пользовательского ввода (email, пароли, телефоны) на бэкенде для предотвращения атак на отказ в обслуживании.
- Интеграция этапа проверки регулярных выражений в процессы DevSecOps и пайплайны CI/CD.
- Оптимизация медленных регулярных выражений, вызывающих непредсказуемые скачки нагрузки на CPU.

## Частые вопросы

### Что такое катастрофический возврат (catastrophic backtracking)?

Это ситуация, когда регулярное выражение с вложенными или пересекающимися квантификаторами тратит экспоненциальное время на проверку несовпадающей строки, что может привести к зависанию сервера.

### Как инструмент генерирует вредоносный ввод?

Сканер анализирует структуру регулярного выражения и создает строки (near-miss), которые заставляют движок regex перебирать максимальное количество вариантов перед тем, как выдать ошибку совпадения.

### Зачем настраивать количество прогонов симуляции?

Увеличение числа прогонов (до 5000) позволяет получить более точные данные о времени выполнения при стресс-тестировании, сглаживая случайные колебания производительности.

### Какие флаги поддерживаются?

Поддерживаются стандартные флаги регулярных выражений JavaScript, такие как i (регистронезависимость), m (многострочность) или u (поддержка Unicode).

### Предлагает ли сканер исправления для уязвимых паттернов?

Да, в результатах анализа для паттернов с высоким уровнем риска предоставляются рекомендации и примеры более безопасного написания.

## Связанные инструменты

- [Шпаргалка по Regex](https://elysiatools.com/ru/tools/regex-cheat-sheet): Искабельная локализованная шпаргалка по синтаксису регулярных выражений — классы символов, якоря, квантификаторы, группы и ссылки, заглядывания, escape-последовательности и флаги, со встроенным быстрым тестером
- [Трассировщик Regex](https://elysiatools.com/ru/tools/regex-debugger): Пошагово покажите, как регулярное выражение сопоставляется со строкой позиция за позицией: визуализируйте попытки совпадения, частичные успехи, возвраты и захваты — инструмент для понимания поведения regex, а не только финального результата
- [Визуализатор железнодорожной диаграммы regex](https://elysiatools.com/ru/tools/regex-railroad-diagram-visualizer): Преобразует регулярное выражение в SVG-железнодорожную диаграмму (синтаксическое дерево), показывая литералы, группы, альтернативы и повторения, с нумерацией групп захвата и пояснением флагов
- [Замена в Текстовых Файлах](https://elysiatools.com/ru/tools/text-file-replacer): Найти и заменить текст в файлах с поддержкой регулярных выражений, нескольких шаблонов и созданием резервных копий
- [Тестер Regex](https://elysiatools.com/ru/tools/regex-tester): Тестирует регулярные выражения на тексте
- [Поиск в Текстовых Файлах](https://elysiatools.com/ru/tools/text-file-searcher): Поиск шаблонов текста в файлах с расширенными опциями (регулярные выражения, чувствительность к регистру, целые слова и т.д.)
- [Бенчмарк Регулярных Выражений](https://elysiatools.com/ru/tools/regex-benchmark): Сравните производительность различных паттернов regex, выявите узкие места и обнаружьте вырожденные случаи
- [Линтинг Regex](https://elysiatools.com/ru/tools/regex-linter): Обнаружение ошибочных и рискованных паттернов регулярных выражений, проверка на катастрофический откат, неякоренные паттерны и предоставление предложений по переписыванию

## Примеры

- [Опасные Шаблоны Регулярных Выражений](https://elysiatools.com/ru/samples/risky-regex): Коллекция шаблонов регулярных выражений, демонстрирующих уязвимости безопасности, проблемы производительности и распространенные анти-паттерны
- [Примеры Замены Regex](https://elysiatools.com/ru/samples/regex-replace): Коллекция общих и полезных шаблонов замены regex для преобразования текста и очистки данных
- [Распространенные Регулярные Выражения](https://elysiatools.com/ru/samples/regex-samples): Общепринятые шаблоны регулярных выражений для проверки и сопоставления
- [Примеры Обработки Строк Android Java](https://elysiatools.com/ru/samples/android-string-processing-java): Примеры обработки строк Android Java включая разделение и объединение строк, регулярные выражения и замену строк

## Связанные материалы

- [Рабочий процесс тестирования, визуализации и безопасности regex](https://elysiatools.com/ru/hubs/regex-utility): Создавайте надежные регулярные выражения с помощью справки по синтаксису, тестов, визуализации, предпросмотра замен, benchmark и ReDoS-сканирования.
