Skip to content
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

chore(deps): update dependency semgrep to v1.106.0 #85

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 20, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
semgrep 1.96.0 -> 1.106.0 age adoption passing confidence

Release Notes

returntocorp/semgrep (semgrep)

v1.106.0

Compare Source

No significant changes.

v1.104.0

Compare Source

Changed
  • Supply chain diff scans now skip resolving dependencies for subprojects without changes. (SC-2026)
Fixed
  • pro: Fixed bug in inter-file matching of subtypes. When looking to match some
    type A, Semgrep will match any type B that is a subtype of A, but in certain
    situations this did not work. (code-7963)

  • taint-mode: Make traces record assignments that transfer taint via shapes.

    For example, in code like:

    B b = new B(taint);
    B b1 = b;
    sink(b1.getTaintedData());
    

    The assignment b1 = b should 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)

v1.103.0

Compare Source

Added
  • pro: taint: Support for lambdas as callbacks.

    var tainted = source();
    
    function withCallback1(val, callback) {
        if (val) {
            callback(val);
        }
    }
    
    withCallback1(tainted, function (val) {
        sink(val); // finding !
    }); (code-7626)
    
  • pro: python: Semgrep will now consider top-level lambdas like x below for
    inter-procedural analysis:

    x = lambda s: sink(s) # now we get a finding !
    
    x(taint) (gh-10731)
    
Changed
  • Removed pip from the Semgrep Docker image. If you need it, you may install it by running apk add py3-pip. (saf-1774)
Fixed
  • Python: Now correctly parsing files with parenthesized withs, like this:
    with (
    f() as a,
    g() as b,
    ):
    pass
    ``` (saf-1802)
  • Semgrep will now truncate error messages that are produced when they are very long (saf-333)

v1.102.0

Compare Source

Added
  • Added pro-only support for parsing a dependency graph from package-lock.json v1 files (SC-1858)
  • Added pro-only support for parsing a dependency graph from package-lock.json v2 and v3 files (SC-1991)
  • The poetry.lock parser can now parse dependency relationships (ssc-1970)
  • The Yarn.lock V1 and V2 parsers can parse dependency relationships. (ssc-1988)
Fixed
  • The semgrep test and semgrep validate commands have been
    correctly documented as EXPERIMENTAL (in semgrep --help).
    Those commands are not GA yet and people should still
    use the semgrep scan --test and semgrep scan --validate (or
    the 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 --test
    and semgrep --validate). (experimental)
  • Improve error handling for functionality ancillary to a scan (such as looking for nosemgrep comments and rendering autofixes) to reduce the likelihood of an unexpected error in such a component bringing down the entire scan. (saf-1737)
  • Fix the behavior of semgrep when running into broken symlinks.
    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)
  • Fixed another crash due to exception in lines_of_file. The code
    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)
  • Direct dev dependencies in yarn/npm lockfiles are now correctly marked as direct (sc-1996)

v1.101.0

Compare Source

Added
  • Improved pnpm-lock.yaml parsing. (gh-2663)
Changed
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 cls parameter.

    So for instance, we would be able to determine a source-to-sink
    vulnerability in the following code snippet:

    class A:
      def foo(self, x):
        sink(x)
    
      @​classmethod
      def bar(cls):
        cls.foo(source)
    ``` (saf-1765)
    
  • 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)

v1.100.0

Compare Source

Added
  • Pro engine now correctly distinguishes overloaded Scala methods based on their
    arity and parameter types, e.g., foo(x: Int, y: String) vs. foo(x: String, y: Int). (code-7870)
Changed
  • The minimum Python version for semgrep is now 3.9.
    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.:

    var x = {};
    
    function foo(k) {
        x[k] = source();
    }
    
    function test(k) {
        foo(k);
        sink(x); // finding here!
    } (CODE-7838)
    
  • Fixed bug affecting taint tracking through static fields when mixing accesses
    using the class name and using an instance object, e.g.:

    class C {
        static String s;
    }
    
    ...
    
            C o = new C();
            C.s = taint;
            sink(o.s); // finding ! (CODE-7871)
    
  • 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)

v1.99.0

Compare Source

Fixed
  • Fix the date format used in --gitlab-sast option to match
    the spec and not use the RFC 3339.
    Thanks to Elias Haeussler for the fix. (saf-1755)

v1.97.0

Compare Source

Added
  • Improved logic for interfile analysis in TypeScript projects using
    project references. (code-7677)
  • Semgrep Pro engine now resolves method invocations on abstract classes. In
    addition to the existing resolution for interface method invocations, this
    change further enhances dataflow tracking accuracy for dynamic method
    invocations. (code-7750)
  • Added the ability to validate temporary AWS tokens in the secrets product. (gh-2554)
  • Poetry.lock & Pyproject.toml parsers can now handle multiline strings. (ssc-1942)
Fixed
  • Improved error handling for some networking errors (e.g., premature server
    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)
  • Target file selection in git projects: files containing special characters
    (according to git) are now scanned correctly instead of being ignored. (saf-1687)
  • Swift: Ellipses and metavariable ellipses can now be used as function parameters in patterns. (saf-1721)
  • Semgrep will no longer freeze when tracing is enabled and it has a low memory limit (saf-1722)
  • osemgrep-pro: Autofix and nosemgrep now work properly (saf-1724)

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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/semgrep-1.x-lockfile branch from cda6adf to a774c23 Compare December 5, 2024 22:35
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.97.0 chore(deps): update dependency semgrep to v1.99.0 Dec 5, 2024
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.99.0 chore(deps): update dependency semgrep to v1.100.0 Dec 13, 2024
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.100.0 chore(deps): update dependency semgrep to v1.101.0 Dec 18, 2024
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.101.0 chore(deps): update dependency semgrep to v1.102.0 Jan 8, 2025
@renovate renovate bot force-pushed the renovate/semgrep-1.x-lockfile branch from a774c23 to c226f34 Compare January 8, 2025 21:25
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.102.0 chore(deps): update dependency semgrep to v1.103.0 Jan 15, 2025
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.103.0 chore(deps): update dependency semgrep to v1.104.0 Jan 22, 2025
@renovate renovate bot changed the title chore(deps): update dependency semgrep to v1.104.0 chore(deps): update dependency semgrep to v1.106.0 Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants