Skip to content

Releases: shivasurya/code-pathfinder

Release v0.0.26

09 Sep 00:23
f2f80da
Compare
Choose a tag to compare

What's New?

  • You can now query multiple entities in a single query and compare with them in conditions and filter them like CodeQL 🚀
    Example:
    FIND method_declaration AS md, method_invocation AS mi
    WHERE md.getName() == mi.getName() &&
    md.getVisibility() != "private"
  • The pathfinder cli now fresh look with code, line number, file name formatted
  • If you make any mistakes in query, pathfinder cli advises you error message exactly line number and doesn't crash the program
  • Posthog had issues in previous release due to breaking changes in golang sdk from posthog, which is now fixed.
Screenshot 2024-08-28 at 9 46 54 PM

Changelog

Full Changelog: v0.0.25...v0.0.26

Release v0.0.25

25 Aug 20:12
f40ad64
Compare
Choose a tag to compare

Code PathFinder 🥉 v0.0.25 (Quarter century 🏏 release)

This release has major improvements in cli capabilities, added extra core entities, able to execute queries as .cql file

  1. Introduced BinaryExpr as core entity. You could now search for AddExpr, AndBitwiseExpr, ComparisonExpr, AndLogicalExpr, DivExpr, EqExpr, NEExpr , LeftShiftExpr, MulExpr, OrBitwiseExpr, OrLogicalExpr, RemExpr, RightShiftExpr, SubExpr, UnsignedRightShiftExpr, XorBitwiseExpr expressions in codebase. It has both LeftOperandString() and RightOperandString() as API

    Example:

      FIND add_expression AS ad WHERE ad.getBinaryExpr().GetLeftOperandString() != "int a"
  2. Code Pathfinder queries now can be stored as .cql file and execute with pathfinder cli 💻

      $ pathfinder query --project ~/src/code-pathfinder/test-src/android --query-file ../pathfinder-rules/example.cql
  3. Code Pathfinder command-line interface has been freshly revamped with spf13/cobra based library.

      Code Pathfinder is designed for identifying vulnerabilities in source code.
      Usage:
          pathfinder [command]
    
      Available Commands:
        ci          Scan a project for vulnerabilities with ruleset in ci mode
        completion  Generate the autocompletion script for the specified shell
        help        Help about any command
        query       Execute queries on the source code
        scan         Scan a project for vulnerabilities with ruleset
        version     Print the version and commit information
    
      Flags:
         --disable-metrics   Disable metrics collection
         -h, --help                 help for pathfinder
    
       Use "pathfinder [command] --help" for more information about a command.
  4. Pathfinder queries (*.cql) will be available under pathfinder-rules directory in this repo.

What's New?

  • Add posthog usage analytics log for cli tool by @shivasurya in #101
  • feature(query): introduce to execute queries from CQL file 🚀 by @shivasurya in #102
  • Refactor pathfinder cli to support cobra 🐍 cli format by @shivasurya in #104
  • Bump micromatch from 4.0.7 to 4.0.8 in /docs in the npm_and_yarn group across 1 directory by @dependabot in #106
  • cql(queries): Added Pathfinder CQL queries for WebView APIs 🏅 by @shivasurya in #112
  • Added expr model and parsed basic binary expression by @shivasurya in #99

New Contributors

Full Changelog: v0.0.24...v0.0.25

Release v0.0.24

11 Aug 19:35
7fa4052
Compare
Choose a tag to compare

Method chaining is powerful feature to write models and expose methods to support runtime filtering instead of compile time/construction time of source code graph

from now on 🚀 you'll be able to chain methods for JavaDoc object and methods. More support for entities and methods coming soon in future releases.

FIND method_declaration AS md WHERE md.getDoc().GetCommentAuthor() == "shivasurya"

What's Changed

Full Changelog: v0.0.23...v0.0.24

Release v0.0.23

04 Aug 23:32
f511ee9
Compare
Choose a tag to compare

What's Changed 🚀

Introducing methods, alias and variety condition support (using expr-lang) in this release. From now on you could query the codebase, 🎉

FIND method_declaration AS md WHERE md.getName() == "main" && "@Override" in md.getAnnotation()
  • Pathfinder now uses ANTLR for verifying queries, expr-lang to support variety of operators for condition based filtering support.
  • Pathfinder now finds vulnerable configs in Android project codebase. Checkout pathfinder ruleset published in website
  • Pathfinder is now available in npm. You could download using npm i codepathfinder

Detailed changes

Full Changelog: v0.0.22...v0.0.23

Release v0.0.22

14 Jul 19:06
727f8aa
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.21...v0.0.22

Release v0.0.21

14 Jul 18:42
eb341d5
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.20...v0.0.21

Release v0.0.18

14 Jul 02:07
786a8c4
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.17...v0.0.18

Release v0.0.17

14 Jul 01:03
416b831
Compare
Choose a tag to compare

CodePathFinder is now revamped and now has new design by Astro Starlight

What's Changed

Full Changelog: v0.0.16...v0.0.17

Release v0.0.16

08 Jul 02:34
40886e7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.15...v0.0.16

Release v0.0.15

01 Jul 19:31
8e00f0e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.14...v0.0.15