awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Code property graph analysis

Ranking updated Jul 28, 2026

For cpg data flow analysis, the strongest matches are secure-software-engineering/phasar (Phasar is a C++ static analysis framework built specifically), ajinabraham/nodejsscan (This project is a static application security testing tool) and github/codeql (CodeQL is a flagship code property graph analysis tool). bearer/bearer and presidentbeef/brakeman round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Hand-picked open-source tools for code property graph and data flow analysis, ranked by stars and activity. Compare and find the right one.

Code property graph analysis

Find the best repos with AI.We'll search the best matching repositories with AI.
  • secure-software-engineering/phasarsecure-software-engineering avatar

    secure-software-engineering/phasar

    1,045View on GitHub↗

    Phasar is a static analysis framework designed for the inspection of software logic through the processing of compiler intermediate representations. It provides a modular pipeline for building program representations, including call graphs, control flow graphs, and type hierarchies, which serve as the foundation for deep structural analysis of software behavior. The framework specializes in interprocedural data flow analysis and pointer alias resolution, enabling the tracking of information movement across function boundaries and the identification of indirect memory access patterns. By lever

    Phasar is a C++ static analysis framework built specifically for interprocedural data flow analysis, pointer resolution, and program representation generation to support security auditing and vulnerability detection.

    C++Custom Data-Flow Analysis FrameworksData Flow AnalysisInterprocedural Data-Flow Solvers
    View on GitHub↗1,045
  • ajinabraham/nodejsscanajinabraham avatar

    ajinabraham/nodejsscan

    2,563View on GitHub↗

    nodejsscan is a static analysis security tool and vulnerability detection engine designed to scan Node.js source code for security flaws and common coding vulnerabilities. It functions as a static application security testing tool that analyzes code without executing the program. The tool operates as a security linter that can be integrated into continuous integration pipelines to block insecure code from merging into main branches. It automates the auditing process through rule-based detection and pattern-based static analysis. The project provides capabilities for vulnerability alert autom

    This project is a static application security testing tool for Node.js source code, though it relies on pattern-based detection and AST parsing rather than full code property graph based data flow analysis.

    CSSStatic Analysis Security TestingStatic Analysis Security Testing
    View on GitHub↗2,563
  • github/codeqlgithub avatar

    github/codeql

    9,252View on GitHub↗

    CodeQL is a semantic code analysis engine and vulnerability scanning tool that treats source code as data. It utilizes a static analysis query language to define complex patterns and security vulnerabilities within a code graph database. The system represents source code as a relational database, enabling the execution of structural queries and data flow analysis. This approach allows for the detection of security flaws and coding errors across large-scale repositories. The tool provides capabilities for automated code auditing, static analysis security testing, and custom vulnerability dete

    CodeQL is a flagship code property graph analysis tool that treats source code as a database, providing a powerful declarative query language for advanced data flow analysis and static application security testing across multiple languages.

    CodeQLStatic Analysis Security Testing
    View on GitHub↗9,252
  • bearer/bearerBearer avatar

    Bearer/bearer

    2,566View on GitHub↗

    Bearer is a static analysis security testing tool and privacy compliance auditor. It identifies security vulnerabilities, hard-coded secrets, and privacy risks in source code through static analysis and data flow tracing. The tool distinguishes itself by tracking the movement of sensitive data through code to identify leaks and by mapping personal and health-related information flows to generate evidence for privacy impact assessments. It also provides differential scanning for pull requests and uses fingerprint-based suppression to exclude known false positives from reports. The platform co

    Bearer is a static application security testing tool that performs data flow tracing to identify vulnerabilities and privacy risks, though it uses a purpose-built scanning engine rather than an explicit, queryable code property graph.

    GoSensitive Data Flow AnalysisStatic Analysis Security TestingStatic Analysis Security Testing
    View on GitHub↗2,566
  • presidentbeef/brakemanpresidentbeef avatar

    presidentbeef/brakeman

    7,248View on GitHub↗

    Brakeman is a static analysis security tool and scanner specifically designed for Ruby on Rails source code. It identifies common security vulnerabilities, such as injection and cross-site scripting, by analyzing the application codebase without executing the application. The tool functions as a security auditor that detects mass assignment risks and template vulnerabilities. It evaluates the final output of rendered views and identifies unrestricted assignment patterns that could allow unauthorized modification of model attributes. The system provides vulnerability management through the us

    Brakeman is a static analysis security scanner for Ruby on Rails that performs targeted vulnerability detection, making it a fitting domain tool even though it is specialized for a single language and lacks a general code property graph engine.

    RubyStatic Analysis Security TestingSecurity Scanners
    View on GitHub↗7,248
  • semgrep/semgrepsemgrep avatar

    semgrep/semgrep

    15,603View on GitHub↗

    Semgrep is a static analysis security testing tool designed to identify vulnerabilities and logic errors by matching source code against declarative patterns. It functions as an automated scanner that integrates into development workflows to detect insecure code patterns and enforce coding standards before deployment. The engine utilizes a language-agnostic intermediate representation and a modular parser architecture to normalize diverse programming languages into a unified format. This allows for consistent rule execution across different codebases, enabling users to perform custom structur

    Semgrep is a static analysis tool that supports pattern matching and taint analysis for vulnerability detection, though it relies on abstract syntax tree structural patterns rather than a full code property graph.

    OCamlIntermediate Representations
    View on GitHub↗15,603
  • facebook/inferfacebook avatar

    facebook/infer

    15,646View on GitHub↗

    Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null dereferences, and resource bugs. It functions as a multi-language bug finder that identifies race conditions, deadlocks, and memory safety issues by translating source code into a common intermediate representation for analysis. The project distinguishes itself through an inter-procedural data flow analyzer that tracks movement between sources and sinks to detect tainted flows and generate data flow graphs. It also includes a framework for verifying temporal properties and reachability u

    Infer is a static analysis toolset that translates source code into intermediate representations to perform inter-procedural data flow analysis and detect security and resource bugs, though it relies on its own analysis engine rather than a distinct code property graph query model.

    OCamlIntermediate Representations
    View on GitHub↗15,646
  • svf-tools/svfSVF-tools avatar

    SVF-tools/SVF

    1,684View on GitHub↗

    SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory

    This LLVM-based static analysis framework focuses on value-flow and pointer analysis for C and C++, serving as a powerful building block for data flow auditing even though it lacks a dedicated vulnerability query language or multi-language support beyond C/C++/LLVM IR.

    C++Pointer Analysis ExecutorsSource Pointer TrackersStatic Code Analysis
    View on GitHub↗1,684
  • pycqa/banditPyCQA avatar

    PyCQA/bandit

    8,092View on GitHub↗

    Bandit is a static analysis security testing tool and vulnerability detection scanner for Python source code. It functions as a security-focused linter and static analyzer that identifies common vulnerabilities and architectural flaws without executing the program. The tool utilizes an abstract syntax tree to analyze code patterns and identifies risky function calls or insecure configurations. It employs a plugin-based rule engine to decouple scanning logic from individual security checks and supports configuration-driven filtering to exclude specific files or ignore certain warnings. The sy

    Bandit is a static analysis tool for Python security auditing, but it relies on abstract syntax tree parsing rather than constructing a code property graph (CPG) for data flow analysis.

    PythonStatic Analysis Security TestingSecurity Detection Logic
    View on GitHub↗8,092
  • mandiant/flare-flossmandiant avatar

    mandiant/flare-floss

    3,886View on GitHub↗

    Flare-floss is a security utility and static binary string extractor designed to uncover hidden text and configuration data within compiled binaries. It functions as an obfuscated string decoder and reverse engineering tool to translate encoded strings into readable text for security auditing. The project employs emulated execution to capture the decrypted state of strings in memory by running small chunks of binary code in a virtual CPU. It further utilizes static analysis disassembly, intermediate representation analysis, and heuristic-based pattern matching to identify and decode strings t

    This repository is a binary string extraction and malware deobfuscation tool rather than a code property graph analysis framework for data flow vulnerability detection.

    PythonData Flow Analysis
    View on GitHub↗3,886
  • nvim-treesitter/nvim-treesitternvim-treesitter avatar

    nvim-treesitter/nvim-treesitter

    13,970View on GitHub↗

    This project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It serves as a framework for structural code navigation, context-aware syntax highlighting, and the management of language-specific parsers. The system distinguishes itself through a multi-language injection handler that identifies and parses embedded languages within a single document. It uses a dedicated parser manager to install, update, and remove grammar definitions and their associated query files. The tool covers several capability areas including incremental text selection,

    This project provides a syntax parsing and navigation framework for an editor rather than a code property graph tool for static security auditing and data flow analysis.

    Tree-sitter QueryLanguage Parsing Rules
    View on GitHub↗13,970
  • tencent/secguideTencent avatar

    Tencent/secguide

    13,490View on GitHub↗

    Secguide is an API security hardening framework and a comprehensive knowledge base of secure coding guidelines. It provides a multi-language security standard and a set of static analysis rules designed to identify security flaws and protect application programming interfaces from common exploits. The project functions as a reference library of security patterns and remediation guides, maintaining consistent security requirements across various programming languages. It utilizes rule-based pattern matching and a static analysis pipeline to detect dangerous API calls and vulnerabilities within

    Secguide is a static analysis and secure coding guideline framework focused on pattern matching rather than code property graph (CPG) construction and data flow analysis.

    Static Analysis Security Testing
    View on GitHub↗13,490
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
secure-software-engineering/phasar1KC++NOASSERTIONJun 15, 2026
ajinabraham/nodejsscan2.6KCSSGPL-3.0Oct 10, 2025
github/codeql9.3KCodeQLmitFeb 21, 2026
bearer/bearer2.6KGootherFeb 20, 2026
presidentbeef/brakeman7.2KRubyNOASSERTIONJun 15, 2026
semgrep/semgrep15.6KOCamlLGPL-2.1Jun 23, 2026
facebook/infer15.6KOCamlMITJun 15, 2026
svf-tools/svf1.7KC++NOASSERTIONJun 23, 2026
pycqa/bandit8.1KPythonApache-2.0May 25, 2026
mandiant/flare-floss3.9KPythonapache-2.0Feb 19, 2026

Related searches

  • Graph analysis framework
  • Static analysis tools
  • a static analysis tool for security vulnerabilities
  • an open source framework for data pipelines
  • see where my data comes from
  • Flow control patterns
  • a graph database for complex data relationships
  • Pixel analysis toolkit