Python Static Analysis

Open-source Python projects categorized as Static Analysis

Top 23 Python Static Analysis Projects

Static Analysis
  1. code-review-graph

    Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

    Project mention: Put code-review-graph Behind a Read-Only MCP Boundary Before Connecting Your Repository | dev.to | 2026-07-21

    code-review-graph is trending because it promises a useful trade: build a persistent local map of a codebase so an AI reviewer reads relevant context instead of ingesting the whole repository. The repository is MIT-licensed and exposes MCP and CLI interfaces.

  2. AppSignal

    Monitoring that respects your time & budget. APM, error tracking, and dashboards for modern web apps. Ten-minute setup, transparent flat pricing, and support from engineers who actually use the product.

    AppSignal logo
  3. mastg

    The OWASP Mobile Application Security Testing Guide (MASTG) is a comprehensive manual for mobile app security testing and reverse engineering. It describes technical processes for verifying the OWASP Mobile Security Weakness Enumeration (MASWE) weaknesses, which are in alignment with the OWASP MASVS.

  4. checkov

    Prevent cloud misconfigurations and find vulnerabilities during build-time in infrastructure as code, container images and open source packages with Checkov by Bridgecrew.

    Project mention: Building a Monorepository of Terraform Modules on GitLab | dev.to | 2026-07-17

    # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: end-of-file-fixer - id: check-merge-conflict - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - id: check-shebang-scripts-are-executable # YAML - id: check-yaml # Cross platform - id: check-case-conflict # checks for files that would conflict in case-insensitive filesystems. - id: mixed-line-ending # replaces or checks mixed line ending. args: [--fix=lf] - repo: https://github.com/antonbabenko/pre-commit-terraform # Ensure the PRE_COMMIT_TERRAFORM_VERSION value is the same in .gitlab-ci.yml rev: v1.105.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases hooks: - id: terraform_fmt - id: terraform_docs args: ["--args=--lockfile=false"] - id: terraform_tflint - id: terraform_checkov args: - --args=--framework=terraform - --args=--soft-fail - --args=--config-file=__GIT_WORKING_DIR__/.checkov.yaml - --args=--skip-path=__GIT_WORKING_DIR__/.cache/pre-commit - repo: https://github.com/bridgecrewio/checkov.git rev: 3.2.524 hooks: - id: checkov_secrets args: [--directory, ., --framework, secrets, --config-file, .checkov.yaml, --skip-path, .cache/pre-commit] pass_filenames: false - repo: https://github.com/hashicorp/copywrite rev: v0.25.3 hooks: - id: add-headers

  5. slither

    Static Analyzer for Solidity and Vyper

    Project mention: AI Smart Contract Review: The Finding Is Not the Audit | dev.to | 2026-05-31

    Older tools still matter inside AI Smart Contract Review. Slither describes itself as a static-analysis framework for Solidity and Vyper, with vulnerability detectors, confidence/impact categories, CI integration, and checklist output.

  6. apkleaks

    Scanning APK file for URIs, endpoints & secrets.

  7. jedi

    Awesome autocompletion, static analysis and refactoring library for python

  8. Pylint

    It's not just a linter that annoys you!

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. pytype

    A static type analyzer for Python code

    Project mention: Fired by Google for Creating the Google Workspace CLI | news.ycombinator.com | 2026-06-23

    This is clearly something done in official capacity, during working hours, with the knowledge and support of his manager, who announced the CLI.

    It says "This is not an officially supported Google product" because it's a DevRel sample/experiment, just like dozens of other Google repositories made by Google employees as part of their job.

    Even some other tools in github.com/google have as much: https://github.com/google/python-fire / https://github.com/google/pytype/blob/main/docs/index.md / https://github.com/google/dopamine / https://github.com/google/go-tika

  11. Flake8

    flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.

    Project mention: How to Set Up Pre-Commit Hooks for Teams Using AI Coding Assistants | dev.to | 2026-04-19
  12. ghidra-mcp

    Ghidra MCP Server — 200+ MCP tools for AI-powered reverse engineering. GUI plugin + headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.

    Project mention: MCP's Dark Secret: 5 Hidden Patterns Nobody Teaches You About Context Window Optimization | dev.to | 2026-04-30

    # Lazy-loading MCP: Only activate server when actually needed # Inspired by GhidraMCP's lazy tool loading pattern # https://github.com/bethington/ghidra-mcp class LazyMCPLoader: def __init__(self, server_registry: dict): # Server registry stores metadata, NOT active connections self.server_registry = server_registry self.active_servers = {} async def invoke(self, tool_name: str, params: dict): server_name = self._resolve_server(tool_name) # Lazy initialization — server starts only on first use if server_name not in self.active_servers: print(f"🔌 Lazy-loading MCP server: {server_name}") self.active_servers[server_name] = await self._start_server( self.server_registry[server_name] ) return await self.active_servers[server_name].invoke(tool_name, params) async def invoke_batch(self, tools: list): """Pre-warm servers for tools likely to be used together""" servers_needed = {self._resolve_server(t['tool']) for t in tools} for srv in servers_needed: if srv not in self.active_servers: self.active_servers[srv] = await self._start_server( self.server_registry[srv] ) # Now all servers are pre-warmed for parallel execution return await asyncio.gather(*[ self.active_servers[self._resolve_server(t['tool'])].invoke(t['tool'], t['params']) for t in tools ]) # Register servers — this is ALL that loads into context at startup # 500 bytes vs 50,000 bytes of tool definitions SERVER_REGISTRY = { "github": {"host": "localhost", "port": 3100, "tools": 23}, "filesystem": {"host": "localhost", "port": 3101, "tools": 8}, "ghidra": {"host": "localhost", "port": 3102, "tools": 110}, # Lazy loaded }

  13. vulnhuntr

    Zero shot vulnerability discovery using LLMs

  14. codechecker

    CodeChecker is an analyzer tooling, defect database and viewer extension for static and dynamic analyzer tools.

  15. CodeBoarding

    Interactive architecture diagrams for codebases

    Project mention: Show HN: Building the Cursor UI selector but for back end | news.ycombinator.com | 2025-10-31

    Cursor 2.0 showed how now you can drag context for your agent directly from the UI, I think this is awesome way to interact with generated code, as you don' really need to understand all details for a vibe coding session.

    This is why we've been building CodeBoarding - visualizing your codebase with a diagram so you can quickly understand and navigate the codebase. Now you can just copy a component and paste it as context for your agent so it knows where to work. The analysis agent for the diagram creation is open-source you can find it here: https://github.com/CodeBoarding/CodeBoarding

    I would love to hear your opinion on vibe coding for larger projects, how do you navigate the context selection? Further what kind of guardlines are you using, we are thinking of adding guardrail which makes most of the files readonly so your agent (cursor, claude code, etc.) cannot delete/edit them.

    Looking forward to chatting with you all,

  16. pyt

    A Static Analysis Tool for Detecting Security Vulnerabilities in Python Web Applications

  17. CrossHair

    An analysis tool for Python that blurs the line between testing and type systems.

  18. ipyflow

    A reactive Python kernel for Jupyter notebooks.

    Project mention: Reactive Python Notebooks in Jupyter | news.ycombinator.com | 2026-07-24
  19. dagda

    a tool to perform static analysis of known vulnerabilities, trojans, viruses, malware & other malicious threats in docker images/containers and to monitor the docker daemon and running docker containers for detecting anomalous activities

  20. Awesome-LLMs-for-Vulnerability-Detection

    The community's most comprehensive, continuously-updated index of research on Large Language Models for software vulnerability detection — papers across function-level, repository-level, agentic, and smart-contract detection, plus datasets, benchmarks, and surveys.

    Project mention: AI Zero-Day Exploits: Developer Defense Guide 2026 | dev.to | 2026-06-16

    AI-powered vulnerability detection uses ML models trained on CVE databases and CWE patterns to identify insecure code patterns in real-time during code review. Same technology, applied defensively.

  21. mobsfscan

    mobsfscan is a static analysis tool that can find insecure code patterns in your Android and iOS source code. Supports Java, Kotlin, Swift, and Objective C Code. mobsfscan uses MobSF static analysis rules and is powered by semgrep and libsast pattern matcher.

  22. packj

    Packj stops :zap: Solarwinds-, ESLint-, and PyTorch-like attacks by flagging malicious/vulnerable open-source dependencies ("weak links") in your software supply-chain

    Project mention: Packj flags malicious/risky open-source packages | news.ycombinator.com | 2026-05-22
  23. prometeo

    An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing

  24. privado

    Open Source Static Scanning tool to detect data flows in your code, find data security vulnerabilities & generate accurate Play Store Data Safety Report.

  25. PEP 8 Speaks

    A GitHub :octocat: app to automatically review Python code style over Pull Requests

  26. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Python Static Analysis discussion

Log in or Post with

Python Static Analysis related posts

  • Reactive Python Notebooks in Jupyter

    1 project | news.ycombinator.com | 24 Jul 2026
  • Catching Cloud Misconfigurations Before They Ship: SAST for Terraform with Checkov

    2 projects | dev.to | 9 Jul 2026
  • Applying SAST to Infrastructure as Code: Scanning Terraform with Checkov

    2 projects | dev.to | 5 Jul 2026
  • Your Infrastructure Has Bugs Too: Scanning Terraform with Checkov (IaC SAST)

    2 projects | dev.to | 4 Jul 2026
  • Show HN: CLI tool for detecting non-exact code duplication with embedding models

    6 projects | news.ycombinator.com | 2 Jul 2026
  • Four Performance Bugs AI Coders Introduce Every Day

    1 project | dev.to | 30 Jun 2026
  • Show HN: Diplomat-agent scan Python MCP servers for unguarded tool calls

    1 project | news.ycombinator.com | 25 Jun 2026
  • A note from our sponsor - SaaSHub
    www.saashub.com | 7 Aug 2026
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

What are some of the best open-source Static Analysis projects in Python? This list will help you:

# Project Stars
1 code-review-graph 28,990
2 mastg 13,091
3 checkov 8,917
4 slither 6,330
5 apkleaks 6,191
6 jedi 6,169
7 Pylint 5,709
8 pytype 5,029
9 Flake8 3,810
10 ghidra-mcp 3,209
11 vulnhuntr 2,726
12 codechecker 2,592
13 CodeBoarding 2,367
14 pyt 2,203
15 CrossHair 1,311
16 ipyflow 1,274
17 dagda 1,233
18 Awesome-LLMs-for-Vulnerability-Detection 1,205
19 mobsfscan 779
20 packj 689
21 prometeo 654
22 privado 651
23 PEP 8 Speaks 618

Sponsored
Monitoring that respects your time & budget
APM, error tracking, and dashboards for modern web apps. Ten-minute setup, transparent flat pricing, and support from engineers who actually use the product.
www.appsignal.com