-
-
Notifications
You must be signed in to change notification settings - Fork 278
chore(deps): update dependency semgrep to v1.142.0 #6422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/semgrep-1.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+19
−19
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
✅
|
e249f51 to
b6518db
Compare
b6518db to
f671152
Compare
d9456f7 to
c22f868
Compare
c22f868 to
a5e12a5
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
dependencies
Pull requests that update a dependency file
needs_fixing
Some manual review or changes need to be done before updating
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

This PR contains the following updates:
1.116.0->1.142.0Release Notes
returntocorp/semgrep (semgrep)
v1.142.0Added
matchexpressions in Scala. In examples liketainttox. (code-9085)case $M -> ... :? ... +& test +& ... => ...patterns. (code-9131)Fixed
--allow-local-buildsis passed. (SC-2899)v1.141.1Fixed
v1.141.0Compare Source
Added
$M -> ... / $X / ...patterns (code-9114)Fixed
Functions in some languages, such as Ruby and Scala, can return a value without an explicit
returnstatement.More expressions, such as string interpolation, are now correctly identified as implicitly returned. (code-9101)
@), soe.g.
case $X @​ ... => ...is now a valid pattern. (code-9130)v1.140.0Compare Source
Added
case 1 => ...to easily matchindividual case clauses within a match-expression. (code-9118)
3.14support. (gh-11250)setup_semgrep_mcpnow supports Claude Code. (saf-2261)Changed
Fixed
0.5for1.0d, and Rust literals like0.5f32or1.0f64would fail to parse and could not be compared. (gh-7968)when the show subcommand fails due to an invalid CLI token. (grow-630)
semgrep/semgrepimages should now contain golangv1.24instead ofv1.23(saf-2240)persisted after a semgrep scan. (saf-2257)
the MCP with the
streamable-httptranport method. (saf-2264)v1.139.0Compare Source
Added
hence producing extra findings. For example, in Java,
list.add(taint)will nowmake
listtainted even if the rule does not explicitly request that. Scan timesshould not be generally affected in a significant way. (code-9103)
{ ... }to match partial functions like{ case 1 => "1" }. (code-9106)dockerfilelanguage (gh-11091)Changed
configparameter from thesemgrep_scantools, to preventagents from inserting unwanted config files to scan with. (saf-2258)
Fixed
{ case ... => ... }patterns. (code-9111)$X > 1 or $Y > 1 or $Z > 1would previously always evaluate tofalse. Now, it will behave as expected. (gh-11209)semgrep_scantool, when invoking the RPC-basedscanning approach, would return JSON output not consistent with the CLI tool. (saf-2250)
semgrep_findingstool now gives a suitable error message when erring dueto insufficient permissions on standard
semgrep logintokens. (saf-2254)the Semgrep Pro Engine installation step would be ignored. (saf-2259)
v1.138.0Added
Changed
taint labels. This allows for the generation of more specific conditions than
the previously released version (v1.133.0). (code-9097)
Fixed
SEMGREP_APP_TOKENfrom any request made to non semgrep URLspassed to
-f/-c/--configduring config/rules fetching. (gh-11016)var $X = $FUNC($REQ, $RES, ...) {...}no longer fails to parse. (saf-2159)
tsconfig.jsonmatching for Typescript projectsthat contain multiple
tsconfig.jsons. (saf-2163)v1.137.1Fixed
v1.137.0Compare Source
Added
semgrep mcpsubcommand, which runs the Semgrep MCP server, which previouslyused to live at https://github.com/semgrep/mcp. That repository will be deprecated
as of this release, and future MCP contributions / issues should go into this repo. (saf-2239)
Changed
Fixed
\#and\in glob patterns found inSemgrepignore and included Gitignore files. (fix-glob-escape)
pkg_resources is deprecatedwarning by bumping opentelemetry-*packages (gh-11069)
v1.136.0Compare Source
No significant changes.
v1.135.0Compare Source
No significant changes.
v1.134.0Compare Source
Added
v1.133.0Added
interfile rules earlier in the process when we determine they cannot match in a
given scan, which should improve performance. (code-8524)
Fixed
newin some cases. (code-9047)ensure keys for match-based IDs are stable. (gh-4459)
nanas well as some moreobscure cases that were interpreted as a float instead of a string. This
might affect any area of Semgrep that deals with YAML files containing
the string
nan. (yaml-float-parsing)v1.132.1No significant changes.
v1.132.0Compare Source
Added
taint_assume_safe_booleansthe return values ofboolval,is_bool, and||will be considered safe.When enabling
taint_assume_safe_numbersthe return values ofintval,floatval,+,-,*,/and%will also be considered safe. (php)took to complete will now be visible in the debug logs. (#2130)
from indefinitely hanging the engine. (#4295)
Changed
Fixed
IDE. They still log, but will no longer be displayed via UX. (saf-2193)
outstanding validators executing at a given time. (#2130)
v1.131.0Compare Source
Fixed
path rather than the entire internal structure representation. This allows for
more succinct log files and no longer introduces mid-entry newlines, which can
break log-parsing tooling. (gh-4315)
Sign incommand (saf-2151)SemgrepErrorexception is raised and causessemgrepto fail. (silent-semgrep-error)v1.130.0Fixed
v1.128.1No significant changes.
v1.128.0Added
HTTP{,S}_PROXY=...now accepts URIs without a scheme (e.gHTTP_PROXY=domain.com:port) (saf-2082)Fixed
class $Apartial class pattern, in favor of1.127.1 - 2025-06-25
Fixed
--tracewas passed and thenumber of jobs was greater than 1
1.127.0 - 2025-06-24
Fixed
TS configs. (code-8678)
1.126.0 - 2025-06-18
Fixed
1.125.0 - 2025-06-11
Added
--json. (SC-2458)Fixed
.semgrepignoreexcludes to be applied to Secrets product scans. Now, Semgrep will once again scan files that have been excluded from Code and SSC scans for possible leaked secrets. (SAF-2067)are now sorted correctly based on their location within files.
This benefits all the Semgrep IDE extensions (VSCode, IntelliJ). (ide-findings-order)
semgrep cilogs in GitLab would return an incorrect URLwith the wrong
&ref=...argument. (saf-959)1.124.1 - 2025-06-10
Fixed
.semgrepignoreexcludes to be applied to Secrets product scans. Now, Semgrep will once again scan files that have been excluded from Code and SSC scans for possible leaked secrets. (SAF-2067)1.124.0 - 2025-06-04
Added
ALL_PROXY,HTTP_PROXY,HTTPS_PROXY,NO_PROXY,PROXY_USERNAMEandPROXY_PASSWORDfor all networking (includingthat done via the OCaml components). Moreover, the environment variable
OCAML_EXTRA_CA_CERTSshould now allow additional CA certs to be used fornetwork operations done by OCaml components. (code-8157)
Fixed
build.gradle.ktsfiles asbuild.gradle. (SC-2209)with a
requires:of the formnot A, could produce findings with an emptylist of traces, potentially causing a crash. We now recognize the issue and
prevent the crash from happening. (code-8531)
f""was not matched by the pattern "...". (gh-10047)metavariable-type. Concretely, "2 * groups" was not considered an int, where groups is an int. Additionally adds type inference for mod, floor division, and pow. (gh-9855)disproportionate amount of time significantly slowing down scans. (saf-1978)
1.123.0 - 2025-05-28
Fixed
1.122.0 - 2025-05-14
Added
Fixed
pro: Fixed inter-file naming bug affecting Go's struct-methods that could result
in false negatives.
Previously, adding a
pattern-insideliketo a taint rule could cause some findings to incorrectly stop being reported. (code-7767)
PRO: Fixed the issue with type matching when a type has a type parameter, e.g., matching the pattern
std::vector<$T>with the codestd::vector<int> vin C++. (code-8443)Make Nuget dependency child parsing case insensitive (sc-2355)
Fixed bug where direct dev depenencies were not marked as direct when parsing package-lock.json projects. (sc-dev)
1.121.0 - 2025-05-06
Added
tsconfig.jsonin instances where multipletypescript "projects" (i.e., separately rooted source directories with their
own configurations not joined by a single
tsconfig.jsonwith projectreferences) are being scanned as one project under semgrep. This should result
in better name/module resolution in TypeScript. (code-7798)
include,excludeandfilesproperties intsconfig.json. Projects which use more than one tsconfig in a given directorywhich apply to different sets of files under that directory should see
improvements in name/module resolution. (code-7798-a)
Changed
Fixed
--disable-nosemwas not properly causing nosemgrep'd findingsto be uploaded to the App. (saf-1982)
This fixes a regression introduced in 1.117.0 (sca-1705). (sc-1705)
1.120.1 - 2025-04-25
Fixed
-j1and it can be overridden by the user. (interfile-num-jobs)1.120.0 - 2025-04-22
Added
(e.g., _cargo, _opam, .svn) (semgrepignore)
--x-semgrepignore-filenameto change the name of.semgrepignorefiles to something else. This can be used to scan a subproject in a separate semgrep invocation as the rest of the containing project. (semgrepignore-filename)Fixed
-jsetting so as to take into account the cgroupCPU quota on Linux. This will affect Docker and other containerized
environments that share resources on the same host. Use the new command
semgrep show resources --experimentalto show the default setting. (saf-1950)1.119.0 - 2025-04-16
Added
semgrep show project-rootis now provided to displaythe project root path associated with a scan root. This is useful for
troubleshooting Semgrepignore (v2) issues. (saf-1936)
Fixed
tainting: Apply
taint_assume_safe_numbersandtaint_assume_safe_booleansearlier when considering to track taint through class fields and function
parameters. If the field/parameter has a number/Boolean type and the
corresponding option is set, it will just not be tracked. In some cases this
can help with performance.
Also added
short/Shortto the list of integer types recognized bytaint_assume_safe_numbers. (code-8345)IDE: The Semgrep VS Code Extension will no longer hang on
Getting code actions from Semgrep...on saving a file, when updating rules. (saf-1954)
1.118.0 - 2025-04-09
Fixed
Pro: Failure to parse a
package.jsonfile when analysing JavaScript orTypeScript is no longer a fatal error. (code-8227)
taint-mode: Fixed bug in taint "auto-cleaning" where we automatically clean the
LHS of an assigmnet if the RHS is clean, provided that the LHS is not subject to
any "side-effects". In some cases, this could cause the taint analysis to timeout.
Some combinations of rules and repos will see a major perf improvement, in other
cases it may not be noticeable. (code-8288)
In a Semgrep rule's
metadatasection, two fields may provide URLs:source: populated dynamically by the Semgrep registry serving the rule, it's a URL thatoffers information about the rule.
source-rule-url: optional string, a URL for the source of inspiration for the rule.The SARIF format supports only one URL under the field
helpUri.Previously, Semgrep populated the SARIF
helpUrifield only withmetadata.source.This fix is to use
metadata.sourceif available, otherwise falling back tometadata.source-rule-url.Contributed by @candrews. (gh-10891)
1.117.0 - 2025-04-02
Added
that start with
./. For example, the pattern./*.pyshould be written as/*.pyto have the desired effect of excluding the.pyfileslocated in the same directory as the
.semgrepignorefile containingthe pattern.
To minimize surprises for users switching to Semgrepignore v2,
we'll be interpreting automatically
./*.pyas/*.pyfor the timebeing so as to match the legacy Semgrepignore v1 behavior. Users should not
rely on this since it doesn't comply with the Gitignore/Semgrepignore
standard and will be removed in the future. (tolerate-semgrepignore-v1-dotslash)
Semgrepignore v2 by default. This brings the behavior of the Semgrepignore file
exclusions closer to Git and
.gitignorefiles. There can nowbe multiple
.semgrepignorefiles in the project. The.semgrepignorefilein the current folder is no longer consulted unless it in the project.
Negated patterns are now supported such as
!scanme.pyas with Gitignore.Some bugs were fixed. (use-semgrepignore-v2)
Changed
Fixed
*and?to match file names with a leading period. This matches the behavior of Gitignore and Semgrepignore v1. (semgrepignore-dotfiles)1.116.0 - 2025-03-28
Fixed
1.115.0 - 2025-03-26
Added
pro: Extended the
requires:key for taint sinks to specify multiple conditionsassociated with different metavariables.
For example:
With a regular
requires:the condition can only apply to whatever the sink ismatching, in this case,
$SINK. With a "multi-requires" we are able to restrict$SINK,$OBJand$ARG1independently, each one having its own condition.Note that
requires:is part of the experimental taint labels feature. (code-7912)In the text output of
semgrep scanandsemgrep ci, a warning messageannouncing the upcoming Semgrepignore v2 is now displayed. Differences in
target selection are shown. (semgrepignore-v2-warning)
1.114.0 - 2025-03-19
Fixed
Pro Engine now more accurately tracks the scope of Python local variables. For
example, the following code defines two
zvariables that should be trackedseparately.
The Pro engine now correctly recognizes that the
zassigned toais the onedefined in the local scope, not the global scope. (code-8114)
1.113.0 - 2025-03-17
Fixed
1.112.0 - 2025-03-13
Added
write the pattern like:
Fixed
the identification of a statement like
return foo()as one such sink. (code-8199)--gitlab-secretsoutput has been updated to conform to GitLab JSON schema (scrt-849)--semgrepignore-v2changed to be closer to the legacySemgrepignore v1.
.gitignorefiles are no longer loaded automaticallyas part of the Semgrepignore v2 exclusion mechanism.
Loading a
.gitignorefile must be doneby placing
:include .gitignorein the.semgrepignorefileas was the case with Semgrepignore v1. (semgrepignore-v1-compat)
1.111.0 - 2025-03-04
Changed
.semgrepignorefile lookup using theSEMGREP_R2C_INTERNAL_EXPLICIT_SEMGREPIGNOREenvironment variable. This was used by semgrep-action whichhas been deprecated. (semgrep-action)
Fixed
in JS/TS. (code-8065)
the project root to reduce inaccuracies in module resolution. This change
mitigates the risk of resolving module specifiers to incorrect paths,
particularly in cases involving common library names (e.g.,
django). (code-8146)findings when using the --gitlab-secrets flag. (scrt-833)
1.110.0 - 2025-02-26
Added
pro: Inter-file analysis will now process Javascript and Typescript files
together, so that taint can be tracked across both languages. (code-8076)
Pro: new
metavariable-nameoperator which allows for expressing a constraintagainst the fully qualified name or nearest equivalent of a metavariable
(useful mainly in JavaScript and TypeScript, where there is no first-class
syntax for this, or where such names or pseudo-names containt symbols which
cannot appear in identifiers). Requires pro naming passes and works best with
interfile naming.
Additional documentation forthcoming. (code-8121)
Changed
Fixed
Fixed a regression in pro interfile mode where type inference for the
varkeyword in Java was not functioning correctly. (code-7991)
PRO: Fix the
range not founderror when using a metavariable pattern match ona typed metavariable. For example, the following metavariable pattern rule will
no longer trigger the error:
lsp will no longer send diagnostics where the message is
MarkupContentsinceour current implementation does not discriminate on the client capability for
recieiving such diagnostics (to-be-added in 3.18). (code-8120)
Yarn.lock parser now correctly denotes NPM organization scope. (sc-2107)
Packages in
Package.resolvedwithout a version are now ignored. (sc-2116)Updated
Package.swiftparser to support:1.109.0 - 2025-02-19
Changed
Fixed
See https://semgrep.dev/playground/s/ReJQO (code-7967)
to prevent unintended interactions. See https://semgrep.dev/playground/s/7KE0k. (code-8054)
optimized the matching of ordered
..., PAT, ...patterns. (saf-682)1.108.0 - 2025-02-12
Added
Changed
"semgrep.policy:" are now filtered from the JSON output unless you
are logged in with the Semgrep appsec platform.
See https://semgrep.dev/docs/semgrep-appsec-platform/json-and-sarif#json for more information. (metadata-filter)
Fixed
git worktree removemore gracefully.Instead of erroring, we continue to scan so that the user can still get results, but
log the error. It also adds a guard so that this failure is less likely to happen
and will include more debugging information when it does. (sms-521)
1.107.0 - 2025-02-04
Added
Fixed
multiple inheritance. The type that appears later takes precedence when
resolving fields. For example, in
class A extends B with C with D, the orderof precedence is D, C, B, and A. (code-7891)
See https://semgrep.dev/playground/s/X5kZ4. (code-7987)
like --semgrep-branch (saf-1746)
Infra/Release Changes
1.106.0 - 2025-01-29
No significant changes.
1.105.0 - 2025-01-29
Added
Changed
Fixed
in URIs. (gh-10687)
1.104.0 - 2025-01-22
Changed
Fixed
pro: Fixed bug in inter-file matching of subtypes. When looking to match some
type
A, Semgrep will match any typeBthat is a subtype ofA, but in certainsituations this did not work. (code-7963)
taint-mode: Make traces record assignments that transfer taint via shapes.
For example, in code like:
The assignment
b1 = bshould be recorded in the trace but previously it was not. (code-7966)Python: Parser updated to the most recent tree-sitter grammar.
Parse rate from 99.8% -> 99.998%. (saf-1810)
1.103.0 - 2025-01-15
Added
pro: taint: Support for lambdas as callbacks.
pro: python: Semgrep will now consider top-level lambdas like
xbelow forinter-procedural analysis:
Changed
pipfrom the Semgrep Docker image. If you need it, you may install it by runningapk add py3-pip. (saf-1774)Fixed
withs, like this:1.102.0 - 2025-01-08
Added
Fixed
semgrep testandsemgrep validatecommands have beencorrectly documented as EXPERIMENTAL (in semgrep --help).
Those commands are not GA yet and people should still
use the
semgrep scan --testandsemgrep scan --validate(orthe variants without the implicit "scan") commands (unless
they want to experiment with getting results faster and are ok
with incomplete coverage of the legacy
semgrep --testand
semgrep --validate). (experimental)If such a path is passed explicitly as a scanning root on the
command line, it results in an error. Otherwise if it's a file discovered
while scanning the file system, it's a warning. (saf-1776)
should now be more robust and not abort the whole scan when
an out of bound line access happens during the nosemgrep analysis
or when outputing the lines of a match. (saf-1778)
1.101.0 - 2024-12-18
Added
Changed
semgrep cito allow semgrep-app to block scans based on specific findings (SECW-2740)the user to be logged in to see them.
See https://semgrep.dev/docs/semgrep-appsec-platform/json-and-sarif#json
for more information. (json)
See https://semgrep.dev/blog/2024/important-updates-to-semgrep-oss/
for more information. (rename)
the user to be logged in to see them.
See https://semgrep.dev/docs/semgrep-appsec-platform/json-and-sarif#sarif
for more information. (sarif)
Fixed
pro: Improved inter-file tracking of tainted global variables. (code-7054)
Python (pro-only): Taint now correctly tracks through calls to class methods
within a class, via the
clsparameter.So for instance, we would be able to determine a source-to-sink
vulnerability in the following code snippet:
pro: Fixed bug when generating inter-procedural taint traces, that it could
cause a call-step to be missing in the trace. (saf-1783)
Restored the "rules" field in the SARIF output, even when logged out. (saf-1794)
1.100.0 - 2024-12-12
Added
arity and parameter types, e.g.,
foo(x: Int, y: String)vs.foo(x: String, y: Int). (code-7870)Changed
We are dropping support for Python 3.8 (python)
Fixed
pro: Fixed a bug in interprocedural index-sensitive taint analysis that caused
false negatives when a function updated an arbitrary index, e.g.:
Fixed bug affecting taint tracking through static fields when mixing accesses
using the class name and using an instance object, e.g.:
No more RPC error when using --sarif with some join-mode rules.
Moreover, regular rules without the 'languages:' field will be skipped
instead of aborting the whole scan. (gh-10723)
1.99.0 - 2024-12-05
Fixed
the spec and not use the RFC 3339.
Thanks to Elias Haeussler for the fix. (saf-1755)
1.98.0 - 2024-12-04
Added
taint-mode: Semgrep will now track invididual fields/keys in record/dict
expressions.
For example, in Semgrep Pro:
The TypeScript parser now supports ellipses in function parameters. For
example, the following code is TypeScript (as opposed to pure JavaScript)
because it uses decorators on function parameters:
You can match this method using the following pattern:
[Pro only] Patterns such as
new $T(...)will now match C# target-typed new expressions such asnew (). (csharp-new)Symbolic propagation will now propagate record expressions. (flow-86)
Adds support for SwiftPM Package.resolved version 3 to Supply Chain (sc-1964)
Changed
x. ... .foo) on very long strings of dot accesses in source files. (match-perf)--allow-dynamic-dependency-resolutionto--allow-local-buildsto reflect the security risk that enabling the feature introduces. Also removes the opt-out flag, since we do not plan to make the feature enabled by default. (sc-2006)Fixed
taint-mode: Fixed what is considered a sink when a sink formula matches a
lambda expression: it is the lambda itself that is the sink, not the
individual statements in the lambda.
Example:
taint-mode: Semgrep will no longer report an unexpected finding in cases like:
Variable
xwill be correctly cleaned afterx = ["ok"]. (flow-87)Removed the experimental --use-osemgrep-sarif flag. (saf-1703)
A single carriage return (CR) is not recognized anymore as a
newline. This avoids out of bound error when reporting findings
on old windows files using this old format. (saf-1743)
1.97.0 - 2024-11-19
Added
project references. (code-7677)
addition to the existing resolution for interface method invocations, this
change further enhances dataflow tracking accuracy for dynamic method
invocations. (code-7750)
Fixed
disconnection). In some cases this would previously cause a fatal error, but we
should instead be able to recover in most instances (and now can). (code-7715)
(according to git) are now scanned correctly instead of being ignored. (saf-1687)
1.96.0 - 2024-11-07
Added
The pro engine now handles duplicate function names in C. When duplicate
functions are found, we assume that any of the duplicated functions could be
called. For example, if the function
foois defined in two different files,taint errors will be reported for both instances:
Changed
Fixed
of matches of sources/propagators/sanitizers/sinks within a function. (flow-83)
any gradle lockfile which did not start with a specific block comment. Now, semgrep will parse gradle
lockfiles correctly by ignoring the comment (allowing any or no comment at all to exist). (gh-10508)
the whole scan anymore (regression introduced in 1.94.0). The scan will
have an exit code of 0 instead of 2 (unless the user passed --strict in which
case it will exit with code 2). (incid-110)
unclosed braces on the same line. (saf-1667)
a character class starting with
[:such as[:a-z]. (saf-1693)semgrep scan: anchored semgrepignore patterns for folders suchas
/testsare now honored properly. Such patterns had previously noeffect of target file filtering. (semgrepignore-anchored-dirs)
1.95.0 - 2024-10-31
Changed
--enable-experimental-requirementsflag. Functionality hasbeen always enabled since Semgrep 1.93.0. (ssc-1903)
Fixed
osemgrepwith the Pro Engine now correctly runs rules with proprietary languages (saf-1686)1.94.0 - 2024-10-30
Fixed
pro: taint-mode: Semgrep should no longer confuse a
returnin a lambda witha
returnin its enclosing function.E.g. In the example below the return value of
foois NOT tainted:OCaml: matching will now recognized "local open" so that a pattern like
Foo.bar ...will now correctly match code such aslet open Foo in bar 1or
Foo.(bar 1)in addition to the classicFoo.bar 1. (local_open)Project files lacking sufficient read permissions are now skipped gracefully
by semgrep. (saf-1598)
Semgrep will now print stderr and additional debugging info when semgrep-core
exits with a fatal error code but still returns a json repsonse (finishes
scanning) (saf-1672)
semgrep ci should parse correctly git logs to compute the set of contributors
even if some authors have special characters in their names. (saf-1681)
1.93.0 - 2024-10-23
Added
require) in arbitraryexpression contexts. Notably, in-line use of
requireshould now be linked tothe correct module. For instance, the pattern
foo.barshould now matchagainst
require('foo').barand taint is likewise similarily tracked. (code-7485)semgrep cioutput now includes a list of all secrets rules whichgenerated at least one blocking finding (similar to Code) (code-7663)
--allow-dynamic-dependency-resolutionfor dynamic resolution of Maven and Gradle dependencies for projects that do not have lockfiles (in Semgrep Pro only). (gh-2389)find any requirement.txt file and lockfiles in a requirements folder (**/requirements/*.txt).
The existing experimental flag
--enable-experimental-requirementsis now deprecated andwill be removed in a future release. (gh-2441)
Changed
there was no community rules added and semgrep-vue is causing linking conflicts
when compiling semgrep under Windows so just simpler to remove support for Vue.
In theory, extract mode could be a good substitute to parse Vue files. (vue)
Fixed
1.92.0 - 2024-10-17
Added
Pro: taint-mode: Semgrep has now basic support to track taint through callbacks,
when they lead to a sink, e.g.:
New subcommand
dump-cstfor tree-sitter languages available viasemgrep show. This shows the concrete syntax tree for a given file. (code-7653)Pro only: Updated C# parser supporting all versions of the language up to 13.0 (.NET 9) (saf-1610)
Added support for the Move-on-sui language! (sui)
Pro-only: semgrep test now supports the --pro flag to not only use pro languages
but also run the tests with the --pro-intrafile engine flag. If a finding
is detected only by the pro engine, please use
proruleid:instead ofruleid:and if an OSS finding is actually a false positive for the pro engine, please
add the
prook:to your test annotation. (test_pro)Fixed
pro: dataflow: Fixed a bug that could cause a class constructor to not be analyzed
in the correct dependency order, potentially leading to FNs. (code-7649)
Display an ✘ instead of a ✔ in the scan status print out when scanning with Semgrep OSS code
is not enabled. (grow-422)
semgrep will no longer randomly segfault when --trace is on with -j > 2 (saf-1590)
Previously, semgrep fails when --trace-endpoint is specified, but --trace is not.
Now, we relax this requirement a bit. In this case, we disable tracing, print out a warning, and continue to scan. (sms-550)
1.91.0 - 2024-10-10
Added
TypeScript that are assigned a new instance but lack an explicit type
definition. When no explicit type is provided for a class field, its type is
inferred from the type of the expression assigned to it. For example, in the
class definition
class Foo { private readonly bar = new Bar(); }, the type ofbaris inferred to beBar. (code-7635)Fixed
rich.errors.LiveErrorwhere attempting to display multiple progress barsraises an exception as flagged in #10562. (grow-414)
-nto sometimes not match code-n. (saf-1592)about the failure. Previously, in the app, it would seem to the user
that the scan is still in progress. (sms-502)
1.90.0 - 2024-09-25
Added
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.