Matchers
RegexMatcher
Matches a regular expression pattern against the document content.
type (required)
Type: string
Must be set to RegexMatcher.
pattern (required)
Type: string
Pattern with named capturing groups. Each named capturing group returns a match.
look_behind
Type: string
Default: (?<![_a-zA-Z0-9])
Extra expression inserted BEFORE the pattern to ensure we don't capture false positives in the middle of a random string.
look_ahead
Type: string
Default: (?![A-Za-z0-9!#(*.?[^~_+])
Extra expression inserted AFTER the pattern to ensure we don't capture false positives in the middle of a random string.
AssignmentRegexMatcher
Regex pattern that matches an assignment of a variable in one or more programming languages.
type (required)
Type: string
Must be set to AssignmentRegexMatcher.
value_regexp (required)
Type: string
Value pattern used to match the variable value in an assignment statement.
name_keyword (required)
Type: string
Keyword pattern that is contained in the variable name of the assignment.
name_prefix
Type: ['string', 'null']
Prefix pattern that occurs in the variable name before the variable keyword.
AggregateMatcher
Group multiple matchers.
When a secret is composed of multiple matches (for example a client_id
and a client_secret), you can group them using the AggregateMatcher.
Several matchers can be listed inside of it. All combinations of them
will be looked for.
Example:
type: AggregateMatcher
matchers:
- type: RegexMatcher
pattern: '(?P<client_id>acme_[a-z0-9]{12})'
- type: AssignmentRegexMatcher
value_regexp: '(?P<client_secret>[a-z0-9]{24})'
name_keyword: 'client[_-]?id'
type (required)
Type: string
Must be set to AggregateMatcher.
matchers (required)
Type: list[Matcher]
The matchers to group.
strategy
Type: DistanceStrategy
The strategy to use to group matches.
Example:
type: AggregateMatcher
strategy:
type: DistanceStrategy
nb_matches: 2