Skip to content

Releases: shivasurya/code-pathfinder

Release v1.1.1

10 Dec 09:22
v1.1.1
0b715fd

Choose a tag to compare

🐳 Code Pathfinder v1.1.1 - Container Security Edition

We're excited to announce Code Pathfinder v1.1.1, a massive release that introduces comprehensive
Docker and container security analysis capabilities! This release adds 47 security rules, a powerful
Python DSL for writing custom rules, and native Dockerfile/docker-compose parsing.

🚀 Major Features

Complete Docker Security Analysis

Code Pathfinder now supports deep security analysis of containerized applications with:

  • Native Dockerfile Parsing - Full tree-sitter based parsing of all 18 Dockerfile instructions
  • Docker Compose Support - Parse and analyze docker-compose.yml files with security-focused
    queries
  • 47 Built-in Security Rules - Comprehensive coverage of OWASP Docker Security, CIS Docker
    Benchmark, and industry best practices

Python DSL for Container Rules

Write expressive security rules using our new Python DSL:

@rule(
    id="DOCKER-SEC-001",
    severity="high",
    message="Running container as root"
)
def check_root_user(dockerfile):
    return dockerfile.user == "root"

Features include:

  • Fluent API for querying Dockerfile instructions
  • Built-in helpers for common security patterns
  • Support for complex multi-instruction analysis
  • Easy integration with CI/CD pipelines

Security Rule Categories

The 47 rules cover critical security areas:

  • Privilege Escalation - Detect containers running as root, excessive capabilities
  • Secret Management - Find hardcoded credentials, API keys in images
  • Network Security - Identify exposed ports, insecure protocols
  • Supply Chain - Check for unverified base images, outdated dependencies
  • Best Practices - Health checks, multi-stage builds, layer optimization

🎯 Use Cases

DevSecOps Teams: Integrate container security scanning into your CI/CD pipelines
Security Auditors: Quickly identify security misconfigurations across hundreds of Dockerfiles
Platform Engineers: Enforce organizational security policies for containerized workloads
Developers: Get immediate feedback on container security issues during development

📊 By The Numbers

  • 🔒 47 security rules covering Docker & docker-compose
  • 📝 18 Dockerfile instructions fully supported
  • 🐍 Python DSL for custom rule authoring
  • 🎯 3 severity levels (high, medium, low) for risk prioritization

🔧 Getting Started

Scan Your Dockerfiles

Install

npm install -g codepathfinder

Scan a project

pathfinder scan --project ./my-app ----rules /path/to/rules

Check rules here https://github.com/shivasurya/code-pathfinder/tree/main/rules

Release v1.1.0

29 Nov 02:30
v1.1.0
3004338

Choose a tag to compare

What's Changed

  • chore(python-dsl): Release v1.1.0 by @shivasurya in #405
  • chore: Remove nsjail testing scripts from root directory by @shivasurya in #406
  • feat: Add Cloudflare R2 stdlib registry upload + bump to v1.0.0 by @shivasurya in #407
  • fix: Remove AWS credentials action, install AWS CLI directly for R2 by @shivasurya in #408
  • fix: Allow msilib and nis modules to fail gracefully by @shivasurya in #409
  • chore: Remove outdated docs/ and pathfinder-rules/ directories by @shivasurya in #410
  • chore: Move R2_SETUP.md and SANDBOX.md to knowledge base by @shivasurya in #411
  • chore: Remove GitHub Container Registry build to save CI time by @shivasurya in #412
  • refactor: Migrate test fixtures to sourcecode-parser/test-fixtures by @shivasurya in #413
  • refactor: Rename sourcecode-parser to sast-engine (v1.1.0) by @shivasurya in #414

Full Changelog: v0.0.34...v1.1.0

Release v0.0.34

25 Nov 03:06
5299294

Choose a tag to compare

What's Changed

  • chore: fix package-lock.json file by @shivasurya in #321
  • cpf/enhancement: Add core data structures for call graph by @shivasurya in #322
  • cp/enhancement: Implement module registry - Pass 1 of 3-pass algorithm by @shivasurya in #323
  • cpf/enhancement: Implement import extraction with tree-sitter by @shivasurya in #324
  • cpf/enhancement: Implement relative import resolution by @shivasurya in #325
  • cpf/enhancement: Implement call site extraction from AST by @shivasurya in #326
  • cpf/enhancement: Implement call graph builder - Pass 3 by @shivasurya in #327
  • cpf/enhancement: Create CFG data structures for control flow analysis by @shivasurya in #328
  • cpf/enhancement: Add pattern registry with hardcoded code injection example by @shivasurya in #329
  • cpf/enhancement: Add Callgraph Integration into parsing pipeline by @shivasurya in #330
  • cpf/enhancement: Django ORM Pattern Resolution by @shivasurya in #333
  • feat(callgraph): Python Type Inference for Improved Call Resolution by @shivasurya in #334
  • feat(callgraph): Phase 2 - Complete Type Inference with Inter-Procedural Propagation by @shivasurya in #335
  • feat(callgraph): Task 12 - Self Attribute Tracking & Method Chaining by @shivasurya in #336
  • feat(stdlib): Add generic Python 3.14 stdlib registry generator by @shivasurya in #337
  • feat(callgraph): Add local stdlib registry loader with resolution by @shivasurya in #338
  • fix(callgraph): Add fallback stdlib check for direct module imports by @shivasurya in #339
  • feat(callgraph): Add remote stdlib registry with lazy loading by @shivasurya in #340
  • fix(tools): Allow platform-specific module failures in registry generation by @shivasurya in #341
  • feat(observability): Add stdlib registry metrics and regression tests by @shivasurya in #342
  • feat(dataflow): Add core data structures for intra-procedural taint analysis by @shivasurya in #343
  • feat(callgraph): Add Python statement extraction for intra-procedural dataflow by @shivasurya in #344
  • feat(callgraph): Add def-use chain construction (PR #3) by @shivasurya in #345
  • feat(taint): Implement intra-procedural taint propagation by @shivasurya in #346
  • feat(callgraph): Integrate taint analysis into call graph builder by @shivasurya in #347
  • Fix intra-procedural vulnerability detection by @shivasurya in #348
  • feat(diagnostic): Add function extraction for diagnostic system by @shivasurya in #349
  • feat(diagnostic): Add LLM integration for pattern discovery by @shivasurya in #350
  • feat(diagnostic): Add tool comparison with normalization by @shivasurya in #351
  • fix(ci): Install codepathfinder 1.0.0 for Python DSL tests by @shivasurya in #362
  • feat(go): Remove ANTLR/expr-lang query system by @shivasurya in #352
  • feat(python): Add core matchers (calls, variable) by @shivasurya in #353
  • feat(python): Add dataflow analysis with Phase 1 propagation by @shivasurya in #354
  • feat(python): Add Phase 2 propagation and presets by @shivasurya in #355
  • feat(python): Add logic operators (And, Or, Not) by @shivasurya in #356
  • feat(go): Add call_matcher executor by @shivasurya in #357
  • feat(go): Add variable_matcher executor by @shivasurya in #358
  • feat(go): Add dataflow integration for taint analysis by @shivasurya in #359
  • feat(go): Add DSL rule loader and OWASP Top 10 examples by @shivasurya in #360
  • feat(cli): Implement scan, query, and ci commands with Python DSL integration by @shivasurya in #361
  • build(deps): bump astro from 5.14.4 to 5.15.6 in /docs in the npm_and_yarn group across 1 directory by @dependabot[bot] in #366
  • feat(models): Add GPT-5.1 model support by @shivasurya in #367
  • build(deps): bump the npm_and_yarn group across 2 directories with 1 update by @dependabot[bot] in #368
  • chore: Release version 0.0.16 by @shivasurya in #369
  • fix: TypeScript type annotations in generated model config by @shivasurya in #370
  • chore: Release version 0.0.17 by @shivasurya in #371
  • refactor: create core package with foundation types by @shivasurya in #372
  • refactor: create registry, cfg, and resolution packages by @shivasurya in #373
  • refactor(callgraph): Create analysis/taint, extraction packages and complete registry by @shivasurya in #374
  • refactor(callgraph): Create resolution package and complete extraction package (PR #4) by @shivasurya in #375
  • refactor(callgraph): Move advanced resolution to resolution package (PR #5) by @shivasurya in #376
  • refactor: Create patterns package for pattern detection (PR #6) by @shivasurya in #377
  • refactor: Extract builder logic to builder/ package (#7) by @shivasurya in #378
  • refactor: Remove all type aliases and wrapper functions from callgraph package by @shivasurya in #379
  • feat(docs): Enhance blog post typography and reading experience by @shivasurya in #380
  • feat(blog): Add MyClone chat widget to blog posts by @shivasurya in #381
  • build(deps): bump glob from 10.4.5 to 10.5.0 in /extension/secureflow in the npm_and_yarn group across 1 directory by @dependabot[bot] in #382
  • build(deps): bump astro from 5.15.6 to 5.15.9 in /docs in the npm_and_yarn group across 1 directory by @dependabot[bot] in #383
  • PR #1: DSL IR Extension & Keyword Argument Parsing by @shivasurya in #384
  • PR #2: Implement Keyword Argument Matching Logic by @shivasurya in #385
  • PR #3: Add Python DSL API for Argument Matching by @shivasurya in #386
  • PR #4: Add Positional Argument Matching Support by @shivasurya in #387
  • PR #5: Add Advanced Argument Matching Features by @shivasurya in #388
  • PR #6: Add Tuple Indexing for Nested Argument Matching by @shivasurya in #389
  • PR #7: Fix Critical Bugs in Argument Matching by @shivasurya in #390
  • PR #1: Data Structures & Enrichment Layer by @shivasurya in #391
  • PR #2: Structured Logging System by @shivasurya in #392
  • PR #3: Text Formatter for Scan Command by @shivasurya in #393
  • PR #4: Add JSON and CSV Output Formatters for CI Mode by @shivasurya in #394
  • PR #5: Enhanced SARIF Formatter with Code Flows by @shivasurya in #395
  • PR #6: Exit Code Standardization & --fail-on Flag by @shivasurya in #396
  • PR #7: Command Cleanup & Documentation by @shivasurya in #397
  • enhancement(docs): Improve landing page experience by @shivasurya in #398
  • enhancement(docker): Add Python runtime with nsjail sandboxing by @shi...
Read more

Release v0.0.33

25 Oct 06:47
92680f9

Choose a tag to compare

🚀 Recent Highlights — CodePathfinder

We’ve landed three notable updates to boost developer experience and performance:

  • Performance Monitoring & Memory Improvements: PR #316
    Sharper performance monitoring tools plus reduced memory usage.

  • Golang Version Upgrade: PR #311
    Migration to the latest Go for improved reliability and compatibility.

  • Python 3 Language Support: PR #314
    You can now scan and analyze Python 3 code, broadening language coverage for source code analysis.

🌟 Introducing SecureFlow — Next-Gen AI Security Scanning

Take your code security audit to the next level with our new solutions:

  • SecureFlow Extension: Code securely inside VSCode with AI-driven insights. Read more

  • SecureFlow CLI: Hunt vulnerabilities in your projects with CLI-powered AI analysis. Details in blog

We’re taking baby steps toward making AI-native security scanning the foundation for future software. Stay tuned—more is coming!

Full Changelog: v0.0.32...v0.0.33

Release v0.0.32

18 Mar 01:43
6cc9309

Choose a tag to compare

What's Changed

  • feature: 🍺 Support for AssertStmt Node statement by @shivasurya in #179
  • feature: Support for ReturnStmt statement by @shivasurya in #180
  • fix docker command by @opstoken in #182
  • feature: 🍺 Support for BlockStmt statement by @shivasurya in #181
  • doc: refresh documentation for latest statement support by @shivasurya in #183
  • chore: update seo title by @shivasurya in #184
  • doc: Update the documentation to include BreakStmt, LabeledStmt, YieldStmt and etc by @shivasurya in #185
  • chore: fix title tag issue by @shivasurya in #186
  • Bump nanoid from 3.3.7 to 3.3.8 in /docs in the npm_and_yarn group across 1 directory by @dependabot in #188
  • Bump astro from 4.16.3 to 4.16.18 in /docs in the npm_and_yarn group across 1 directory by @dependabot in #189
  • chore(upgrade): Bump golang dependencies and version by @shivasurya in #192
  • Bump vite from 5.4.11 to 5.4.14 in /docs in the npm_and_yarn group across 1 directory by @dependabot in #193
  • feature: 🍺 Class with inheritance support by @shivasurya in #187
  • blog: add closure table blog post 📰 by @shivasurya in #196
  • chore: Update Website Navigation and Messaging by @shivasurya in #197
  • build(deps): bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot in #198
  • feat: New Pathfinder Rules page (atlas) for docs by @shivasurya in #200
  • chore: updated package-lock.json by @shivasurya in #201
  • chore: added rollup optional dep by @shivasurya in #202
  • chore: fix link in footer by @shivasurya in #203
  • build(deps): bump prismjs from 1.29.0 to 1.30.0 in /docs in the npm_and_yarn group across 1 directory by @dependabot in #204
  • feature: Code-Pathfinder online hosted sandbox playground by @shivasurya in #205
  • build(deps): bump @babel/runtime from 7.26.9 to 7.26.10 in /docs in the npm_and_yarn group across 1 directory by @dependabot in #206
  • build(deps): bump the go_modules group across 2 directories with 1 update by @dependabot in #208
  • release: bump version to 0.0.32 by @shivasurya in #209

New Contributors

Full Changelog: v0.0.31...v0.0.32

Release v0.0.31

05 Nov 01:45
6ba07a3

Choose a tag to compare

What's new?

This release has query support for BreakStmt, ContinueStmt, YieldStmt, IfStmt, DoStmt, WhileStmt, ForStmt statements in source code (java) ☕ 🎉

Read latest blog post about detecting Webview vulnerabilities using Code-Pathfinder

What's Changed

Full Changelog: v0.0.30...v0.0.31

Release v0.0.30

17 Oct 16:04
fcbcbc3

Choose a tag to compare

What's Changed

Full Changelog: v0.0.29...v0.0.30

Release v0.0.29

15 Oct 04:17
56b7666

Choose a tag to compare

This release has exciting new features such as CI command to scan source code for vulnerabilities within CI/CD ♾️ pipeline, docker support, GitHub Action support. 🎉

What's New?

  1. Code-Pathfinder is now available in docker hub. Give it a try by pulling shivasurya/code-pathfinder:stable-latest 🐳
  2. GitHub Action is now supported and you can start scanning source code. 🎉
# add as step to github action yaml file
    - name: Code-Pathfinder SAST Scan
            uses: shivasurya/code-pathfinder@main
            with:
              command: 'ci'
              project: '.'
              output-file: 'output.json'
              output: 'json'
              ruleset: 'cpf/java'
  1. Code-Pathfinder now supports CI command to scan for vulnerabilities in source code. ♾️
$ pathfinder ci --project /src/code-pathfinder/test-src --ruleset cpf/java --output json --output-file output.json
...
Executing in CI mode ♾️ 

Checkout Code-pathfinder rules registry here

MS Dhoni Tenor (1)

What's Changed

Full Changelog: v0.0.28...v0.0.29

Release v0.0.28

07 Oct 23:58
01a9a0f

Choose a tag to compare

This release adds exciting new features such as support for querying ClassInstanceExpr where you could search for objects created with class. We have featured new blog post about codepathfinder. I have published various code pathfinder rules targeting generic java application

Code-Pathfinder Rules

  • Usage of RC2/RC4 cipher
  • Usage of deprecated DefaultHTTPClient
  • Usage of SHA1 hash functions
  • Usage of insecure Random functions for cryptographic purposes
  • Usage of Blowfish crypt methods
  • <More to come in next releases covering OWASP Top 10>

What's New?

Chore

Full Changelog: v0.0.27...v0.0.28