Open source rules used by clj-holmes.
The rule syntax is defined by the spec defined here.
A short, unique and descriptive identifier for the rule.
A short description for the rule.
The severity of the finding. This is useful for filtering security issues when viewing SARIF outputs uploaded to GitHub, for example.
A more descriptive message for the rule that specifies in detail what the rule is looking for.
A dictionary that provides metadata about the rule.
The precision of the finding. This is useful for filtering security issues when viewing SARIF outputs uploaded to GitHub, for example.
A list of markers to make possible using only a subset of rules when scanning a project.
A dictionary with configurable parameters that are necessary to finding relevant code. These fields can be nested as to provide enough expressive power to match almost any code. The engine will resolve the innermost pattern and work its way out until all Pattern Descriptions are solved. A Pattern Description can also be collection of Pattern Expressions.
A collection of Patterns Descriptions. Matches when all Pattern Descriptions inside also match. Functionally equivalent to doing a AND
of all Pattern Descriptions inside.
A collection of Patterns Descriptions. Matches when at least one Pattern Description inside also match. Functionally equivalent to doing a OR
of all Pattern Descriptions inside.
A Pattern Expression as documented in shape-shifter.
Pattern Expression to search for. Matches when pattern is found on code.
Pattern Expression to search for. Matches when pattern is not found on code.
Boolean flag to indicate if finding a custom-funciton
is required. The presence of this flag forces clj-holmes
to use the function
and namespace
fields to find usages of function
called via a full namespace
, a namespace
alias or simply when using :refer
or :refer :all
.
The function to be matched.
The namespace where the function being searched for comes from.
Boolean flag to indicate if there's a regex in the pattern
that needs to be interpreted and searched.