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 pattern matching / static analysis tool

Ranking updated Jun 30, 2026

For a static analysis tool for code security, the first results are millionco/react-doctor (React Doctor is a static analysis tool focused on React codebases, offering CI integration and AST pattern matching, but it lacks the multi-language support and general-purpose rule writing that defines Semgrep, so it is a narrower match for this search), pmd/pmd (PMD is a multi-language static analyzer with a CLI, custom XPath-based rules, and CI integration, making it a related pattern-matching tool to Semgrep, though it uses AST queries rather than Semgrep's surface-pattern syntax) and semgrep/semgrep (Semgrep itself: an open-source static analysis security testing tool that matches source code against declarative patterns, supports many languages, custom rules, CLI, and CI integration — exactly the tool you're looking for). eslint/eslint and crytic/slither round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

We curate open-source GitHub repositories matching “semgrep semgrep”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Results for “a static analysis tool for code security”

Find the best repos with AI.We'll search the best matching repositories with AI.
  • millionco/react-doctormillionco avatar

    millionco/react-doctor

    12,769View on GitHub↗

    React Doctor is a static analysis tool for React codebases designed to identify security, performance, and architectural issues. It functions as a codebase health diagnostic engine that produces numeric health scores and structured diagnostics to improve maintainability. The tool features an incremental code scanner that evaluates only the files changed between branches or staged in the working tree to provide fast feedback. It is designed to operate as a quality gate within CI pipelines, allowing for the enforcement of codebase health standards by failing builds on critical errors. The anal

    React Doctor is a static analysis tool focused on React codebases, offering CI integration and AST pattern matching, but it lacks the multi-language support and general-purpose rule writing that defines Semgrep, so it is a narrower match for this search.

    TypeScriptAST Pattern MatchingCI/CD Pipeline Integrations
    View on GitHub↗12,769
  • pmd/pmdpmd avatar

    pmd/pmd

    5,425View on GitHub↗

    PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code without executing the program. It functions as a code smell detector and coding standard enforcer, ensuring source code adheres to specific naming conventions, structural requirements, and project style guides. The project features an XPath-based rule engine that allows users to define custom analysis patterns using queries against an abstract syntax tree. It also includes a copy-paste detector to identify duplicated code blocks across multiple files and a visual rule designer for

    PMD is a multi-language static analyzer with a CLI, custom XPath-based rules, and CI integration, making it a related pattern-matching tool to Semgrep, though it uses AST queries rather than Semgrep's surface-pattern syntax.

    JavaCustom Analysis Rules
    View on GitHub↗5,425
  • 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 itself: an open-source static analysis security testing tool that matches source code against declarative patterns, supports many languages, custom rules, CLI, and CI integration — exactly the tool you're looking for.

    OCamlStatic Code Analysis ToolsSecurity Code ScannersSecurity Testing
    View on GitHub↗15,603
  • eslint/eslinteslint avatar

    eslint/eslint

    27,349View on GitHub↗

    This project is a static analysis engine designed to identify patterns, enforce coding standards, and automate code quality improvements in software projects. By parsing source code into structured abstract syntax trees, it enables deep programmatic inspection and the automated remediation of identified programming issues. The engine functions as a pluggable linting framework, allowing developers to extend its core capabilities through a modular architecture. Users can inject custom rules, parsers, and processors to support non-standard file formats or domain-specific logic. This extensibilit

    ESLint is a pluggable linting framework for static code analysis and pattern matching, but it primarily targets JavaScript/TypeScript, making it a related but narrower tool than the multi-language Semgrep you are looking for.

    JavaScriptCustom Analysis Rules
    View on GitHub↗27,349
  • crytic/slithercrytic avatar

    crytic/slither

    6,141View on GitHub↗

    Slither is a static analysis tool for Solidity and Vyper smart contracts, which fits the pattern-matching static analysis category but is limited to Ethereum-specific languages, whereas the visitor likely wants a general-purpose tool like Semgrep.

    PythonCustom Analysis RulesCI/CD Pipeline Integrations
    View on GitHub↗6,141
  • 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 security tool for Python code that uses AST-based pattern matching and supports custom rules, fitting the type of tool the visitor is after, though it is Python-specific rather than multi-language.

    PythonSource Code Vulnerability ScanningAST Security AnalyzersRule-Based Plugin Systems
    View on GitHub↗8,092
  • sindresorhus/eslint-plugin-unicornsindresorhus avatar

    sindresorhus/eslint-plugin-unicorn

    4,931View on GitHub↗

    eslint-plugin-unicorn is an ESLint plugin that provides a large set of opinionated lint rules for JavaScript and TypeScript projects. Its primary purpose is to enforce code quality, prevent common errors and anti-patterns, and promote a consistent coding style across a codebase. The plugin distinguishes itself by offering an opinionated preset configuration that imposes a specific coding style rather than leaving all choices to the user. Its rules are specifically designed to catch logical mistakes and code smells that go beyond standard ESLint rules. As an added capability, the plugin also e

    eslint-plugin-unicorn is an opinionated ESLint plugin for JavaScript and TypeScript linting, not a general-purpose multi-language static analysis tool like Semgrep with CLI and CI integration for custom pattern rules across many languages.

    JavaScriptAST Pattern Matching
    View on GitHub↗4,931
  • yannickcr/eslint-plugin-reactyannickcr avatar

    yannickcr/eslint-plugin-react

    9,286View on GitHub↗

    This project is a React ESLint plugin and static analysis tool designed to validate React component syntax and enforce recommended framework patterns. It functions as a JavaScript static analysis utility that scans source code to identify errors and maintain consistent coding standards. The plugin focuses on the enforcement of React best practices and the prevention of common bugs, such as missing keys in iterators and improper prop usage. It provides a system for validating JSX syntax and style to ensure a uniform codebase. The tool covers broader capabilities in frontend code quality autom

    This is a static analysis plugin for React code, but it’s specific to JavaScript/JSX and works as a linting plugin rather than a general-purpose, multi-language pattern-matching tool like Semgrep.

    JavaScriptAST Pattern Matching
    View on GitHub↗9,286
  • rrrene/credorrrene avatar

    rrrene/credo

    5,193View on GitHub↗

    Credo is a static analysis tool and linter for Elixir. It functions as a code quality analyzer that scans source code to identify stylistic inconsistencies, common mistakes, and potential security vulnerabilities. The tool provides a customizable framework for defining and testing specialized rules to enforce project-specific coding standards. It identifies complex code fragments and duplication to highlight opportunities for refactoring and simplification. Its capabilities cover automated code reviews, the enforcement of Elixir coding standards, and real-time developer feedback through edit

    Credo is a static analysis and linting tool for Elixir, but unlike Semgrep it is language-specific and focuses on code quality and style rather than multi-language pattern-based matching, making it a related but narrower tool for your search.

    ElixirCustom Analysis Rules
    View on GitHub↗5,193
  • securego/gosecsecurego avatar

    securego/gosec

    8,866View on GitHub↗

    gosec is a static analysis security tool designed to scan Go source code for vulnerabilities and common coding flaws. It functions as a security analyzer that inspects the abstract syntax tree to identify insecure function calls, API usage, and potential security risks. The tool distinguishes itself by mapping detected vulnerabilities to Common Weakness Enumeration identifiers for standardized reporting and integrating with external AI models to suggest code fixes for identified issues. Its capabilities cover the detection of injection vulnerabilities, hardcoded credentials, weak cryptograph

    gosec is a static analysis security tool focused specifically on Go source code and known vulnerability patterns, not a multi-language pattern-matching engine like Semgrep—so it's related but serves a different, narrower purpose.

    GoAST Pattern MatchingCustom Analysis Rules
    View on GitHub↗8,866
  • mobsf/mobile-security-framework-mobsfMobSF avatar

    MobSF/Mobile-Security-Framework-MobSF

    21,224View on GitHub↗

    Mobile Security Framework is an automated security testing platform designed for the analysis of Android, iOS, and Windows mobile application binaries. It functions as a comprehensive suite for identifying security vulnerabilities, privacy risks, and malicious code within mobile software packages. The framework distinguishes itself by combining static and dynamic analysis techniques to evaluate application behavior. It performs static inspection of source code and binaries to detect insecure patterns, while simultaneously utilizing dynamic instrumentation and containerized sandboxing to monit

    MobSF is a mobile‑app security testing framework, not the general‑purpose code‑pattern‑matching tool like Semgrep you are looking for; it performs static analysis on mobile binaries but is focused on mobile security rather than multi‑language pattern matching with custom rules.

    JavaScriptCI/CD Pipeline Integrations
    View on GitHub↗21,224
  • standard/standardstandard avatar

    standard/standard

    29,431View on GitHub↗

    Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi

    Standard is a JavaScript linter and formatter with a fixed style guide, not a multi-language, pattern-matching static analysis tool like Semgrep that supports custom rules across many languages.

    JavaScriptAST Pattern Matching
    View on GitHub↗29,431
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
millionco/react-doctor12.8KTypeScriptMITJun 16, 2026
pmd/pmd5.4KJavaNOASSERTIONJun 15, 2026
semgrep/semgrep
15.6K
OCaml
LGPL-2.1
Jun 23, 2026
eslint/eslint27.3KJavaScriptMITJun 16, 2026
crytic/slither6.1KPythonagpl-3.0Feb 20, 2026
pycqa/bandit8.1KPythonApache-2.0May 25, 2026
sindresorhus/eslint-plugin-unicorn4.9KJavaScriptmitFeb 19, 2026
yannickcr/eslint-plugin-react9.3KJavaScriptMITMay 13, 2026
rrrene/credo5.2KElixirMITJun 5, 2026
securego/gosec8.9KGoApache-2.0Jun 15, 2026

Related searches

  • a static analysis tool for security vulnerabilities
  • a semantic search tool for codebases
  • a tool for detecting secrets in code
  • an open source scanner for security vulnerabilities
  • a dependency vulnerability scanner
  • an automated security scanner for web applications
  • a public-repo credential hunter
  • Static analysis tools