Datos clave
- Categoría
- Seguridad y validación
- Tipos de entrada
- textarea, text, number
- Tipo de salida
- json
- Cobertura de muestras
- 4
- API disponible
- Yes
Resumen
El Escáner ReDoS de regex es una herramienta de seguridad diseñada para analizar expresiones regulares y detectar riesgos de backtracking catastrófico. Mediante la combinación de análisis estático y simulación de entradas maliciosas, evalúa el rendimiento de tus patrones y sugiere alternativas más seguras para prevenir ataques de denegación de servicio (ReDoS) en tus aplicaciones.
Cuándo usarlo
- •Auditar expresiones regulares antes de implementarlas en entornos de producción.
- •Revisar código heredado en busca de vulnerabilidades de denegación de servicio (ReDoS).
- •Optimizar patrones de búsqueda complejos que causan cuellos de botella en el rendimiento del servidor.
Cómo funciona
- •Pega una o varias expresiones regulares en el campo de texto principal, colocando un patrón por línea sin barras delimitadoras.
- •Opcionalmente, define los flags (como 'i' o 'm'), la longitud máxima de la entrada maliciosa y el número de corridas de simulación.
- •La herramienta ejecuta heurísticas estáticas y pruebas de rendimiento con cadenas casi coincidentes (near-miss) generadas automáticamente.
- •Revisa el informe JSON resultante, que detalla el nivel de riesgo, el tiempo de ejecución en el peor de los casos y sugerencias de reescritura segura.
Casos de uso
Ejemplos
1. Comprobar si un regex de login sufre backtracking catastrófico
Ingeniero de Seguridad- Contexto
- El equipo de desarrollo ha creado una nueva validación para nombres de usuario, pero se sospecha que el patrón es vulnerable a ataques ReDoS.
- Problema
- Evaluar un patrón con cuantificadores anidados para confirmar si puede causar bloqueos en el servidor.
- Cómo usarlo
- Pega el patrón `(a+)+$` en la lista de regex, ajusta la longitud del input malicioso a 32 y ejecuta 200 simulaciones.
- Configuración de ejemplo
-
maxEvilInputLength: 32, simulationRuns: 200 - Resultado
- El escáner clasifica el riesgo como 'crítico' en el JSON de salida y sugiere eliminar los cuantificadores anidados para evitar el backtracking.
2. Auditoría masiva de expresiones regulares heredadas
Desarrollador Backend- Contexto
- Un proyecto antiguo contiene múltiples validaciones regex complejas que ralentizan el procesamiento de datos.
- Problema
- Identificar rápidamente cuáles de las expresiones regulares antiguas son ineficientes o peligrosas.
- Cómo usarlo
- Pega la lista de patrones en el campo principal, un patrón por línea, y deja los valores de simulación por defecto.
- Resultado
- Se genera un reporte JSON que resume los patrones analizados, destacando los que presentan riesgo alto y mostrando el tiempo máximo de ejecución simulado.
Probar con muestras
regexPreguntas frecuentes
¿Qué es el backtracking catastrófico?
Es un problema de rendimiento donde una expresión regular compleja con cuantificadores anidados tarda un tiempo exponencial en fallar al evaluar ciertas cadenas, lo que puede bloquear el sistema.
¿Qué significa la longitud máxima de input malicioso?
Es el tamaño máximo de la cadena de texto generada por la herramienta para intentar forzar el backtracking y evaluar la vulnerabilidad del patrón.
¿Puedo analizar múltiples expresiones regulares a la vez?
Sí, puedes pegar una lista de expresiones regulares en el campo principal, asegurándote de colocar solo un patrón por línea.
¿Qué son las corridas de simulación?
Es el número de intentos repetidos de coincidencia que la herramienta realiza durante el benchmarking para calcular el tiempo de ejecución de forma precisa.
¿La herramienta corrige automáticamente mis expresiones regulares?
No modifica tu código automáticamente, pero el informe JSON incluye sugerencias de reescritura más seguras para que puedas aplicarlas manualmente.