Added
- Pre-alpha support for Dockerfile as a new target language
- Semgrep is now able to symbolically propagate simple definitions. E.g., given
an assignmentx = foo.bar()
followed by a callx.baz()
, Semgrep will keep
track ofx
's definition, and it will successfully matchx.baz()
with a
pattern likefoo.bar().baz()
. This feature should help writing simple yet
powerful rules, by letting the dataflow engine take care of any intermediate
assignments. Symbolic propagation is still experimental and it is disabled by
default, it must be enabled in a per-rule basis usingoptions:
and setting
symbolic_propagation: true
. (#2783, #2859, #3207) --verbose
outputs a timing and file breakdown summary at the endmetavariable-comparison
now handles metavariables that bind to arbitrary
constant expressions (instead of just code variables)