rename ReDoSUtil to NfaUtils, and rename the "performance" folder to "regexp"

This commit is contained in:
Erik Krogh Kristensen
2022-05-25 14:51:20 +02:00
parent bbc8cb32be
commit 13482fc97b
44 changed files with 78 additions and 98 deletions

View File

@@ -2,7 +2,7 @@
* Provides precicates for reasoning about bad tag filter vulnerabilities.
*/
import performance.RegexpMatching
import regexp.RegexpMatching
/**
* Holds if the regexp `root` should be tested against `str`.

View File

@@ -62,7 +62,7 @@
* a suffix `x` (possible empty) that is most likely __not__ accepted.
*/
import ReDoSUtil
import NfaUtils
/**
* Holds if state `s` might be inside a backtracking repetition.

View File

@@ -1,18 +1,13 @@
/**
* Provides classes for working with regular expressions that can
* perform backtracking in superlinear/exponential time.
* Provides classes and predicates for constructing an NFA from
* a regular expression, and various utilities for reasoning about
* the resulting NFA.
*
* This module contains a number of utility predicates for compiling a regular expression into a NFA and reasoning about this NFA.
*
* The `ReDoSConfiguration` contains a `isReDoSCandidate` predicate that is used to
* to determine which states the prefix/suffix search should happen on.
* There is only meant to exist one `ReDoSConfiguration` at a time.
*
* The predicate `hasReDoSResult` outputs a de-duplicated set of
* states that will cause backtracking (a rejecting suffix exists).
* These utilities are used both by the ReDoS queries and by
* other queries that benefit from reasoning about NFAs.
*/
import ReDoSUtilSpecific
import NfaUtilsSpecific
/**
* Gets the char after `c` (from a simplified ASCII table).

View File

@@ -1,5 +1,5 @@
/**
* Provides Python-specific definitions for use in the ReDoSUtil module.
* Provides Python-specific definitions for use in the NfaUtils module.
*/
import python

View File

@@ -3,7 +3,7 @@
* and for testing which capture groups are filled when a particular regexp matches a string.
*/
import ReDoSUtil
import NfaUtils
/** A root term */
class RootTerm extends RegExpTerm {

View File

@@ -3,7 +3,7 @@
* perform backtracking in superlinear time.
*/
import ReDoSUtil
import NfaUtils
/*
* This module implements the analysis described in the paper:

View File

@@ -13,7 +13,7 @@
*/
import python
import semmle.python.security.performance.SuperlinearBackTracking
import semmle.python.security.regexp.SuperlinearBackTracking
import semmle.python.security.dataflow.PolynomialReDoSQuery
import DataFlow::PathGraph

View File

@@ -14,7 +14,7 @@
*/
import python
import semmle.python.security.performance.ExponentialBackTracking
import semmle.python.security.regexp.ExponentialBackTracking
from RegExpTerm t, string pump, State s, string prefixMsg
where

View File

@@ -1,5 +1,5 @@
import python
import semmle.python.security.performance.SuperlinearBackTracking
import semmle.python.security.regexp.SuperlinearBackTracking
from PolynomialBackTrackingTerm t
select t.getRegex(), t, t.getReason()