Correia-jpv/fucking-static-analysis

GitHub: Correia-jpv/fucking-static-analysis

汇总了覆盖几乎所有编程语言与配置文件的静态分析、安全扫描及代码格式化工具的精选列表。

Stars: 25 | Forks: 2

Analysis Tools Website 本仓库列出了针对所有编程语言、构建工具、配置文件等的**静态分析工具**。重点关注提高代码质量的工具,例如 linter 和格式化工具。 官方网站 🌎 [analysis-tools.dev](analysis-tools.dev/) 基于此仓库构建,并增加了排名、用户评论以及每个工具的视频等额外资源。 [![Website](https://img.shields.io/badge/Website-Online-2B5BAE)](https://analysis-tools.dev) ![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/38f917a649144752.svg) [![Links](https://github.com/correia-jpv/fucking-static-analysis/actions/workflows/links.yml/badge.svg)](https://github.com/correia-jpv/fucking-static-analysis/actions/workflows/links.yml) ## 符号含义: - :copyright: 代表专有软件。所有其他工具均为开源软件。 - :information_source: 表示社区不再建议在新项目中使用此工具。该图标链接到讨论议题。 - :warning: 表示该工具已超过 1 年未更新,或仓库已存档。 非常欢迎提交 Pull请求! 也请查看姊妹项目,  1077⭐    114🍴 [awesome-dynamic-analysis](https://github.com/mre/awesome-dynamic-analysis))。 ## 目录 #### [编程语言](#programming-languages-1) - [ABAP](#abap) - [Ada](#ada) - [Assembly](#asm) - [Awk](#awk) - [C](#c) - [C#](#csharp) - [C++](#cpp) - [Clojure](#clojure) - [CoffeeScript](#coffeescript) - [ColdFusion](#coldfusion) - [Crystal](#crystal) - [Dart](#dart) - [Delphi](#delphi) - [Dlang](#dlang) - [Elixir](#elixir) - [Elm](#elm) - [Erlang](#erlang) - [F#](#fsharp) - [Fortran](#fortran) - [Go](#go) - [Groovy](#groovy) - [Haskell](#haskell) - [Haxe](#haxe) - [Java](#java) - [JavaScript](#javascript) - [Julia](#julia) - [Kotlin](#kotlin) - [Lua](#lua) - [MATLAB](#matlab) - [Nim](#nim) - [Ocaml](#ocaml) - [PHP](#php) - [PL/SQL](#plsql) - [Perl](#perl) - [Python](#python) - [R](#r) - [Rego](#rego) - [Ruby](#ruby) - [Rust](#rust) - [SQL](#sql) - [Scala](#scala) - [Shell](#shell) - [Swift](#swift) - [Tcl](#tcl) - [TypeScript](#typescript) - [Verilog/SystemVerilog](#verilog) - [Vim Script](#vim-script) - [WebAssembly](#wasm) #### [多语言](#multiple-languages-1) #### [其他](#other-1)
显示其他 - [.env](#dotenv) - [Ansible](#ansible) - [Archive](#archive) - [Azure Resource Manager](#arm) - [Binaries](#binary) - [构建工具](#buildtool) - [CSS/SASS/SCSS](#css) - [配置文件](#configfile) - [配置管理](#configmanagement) - [容器](#container) - [持续集成](#ci) - [Deno](#deno) - [Dockerfile](#dockerfile) - [嵌入式](#embedded) - [Embedded Ruby (a.k.a. ERB, eRuby)](#erb) - [Gherkin](#gherkin) - [HTML](#html) - [JSON](#json) - [Kubernetes](#kubernetes) - [LaTeX](#latex) - [Laravel](#laravel) - [Makefiles](#make) - [Markdown](#markdown) - [Metalinter](#meta) - [移动端](#mobile) - [Nix](#nix) - [Node.js](#nodejs) - [包](#package) - [Prometheus](#prometheus) - [Protocol Buffers](#protobuf) - [Puppet](#puppet) - [Rails](#rails) - [安全/SAST](#security) - [智能合约](#smart-contracts) - [支持](#support) - [模板语言](#template) - [Terraform](#terraform) - [翻译](#translation) - [Vue.js](#vue) - [写作](#writing) - [YAML](#yaml) - [git](#git)
## 编程语言

ABAP

- 🌎 [abaplint](abaplint.org) — ABAP 的 linter,使用 TypeScript 编写。 - 🌎 [abapOpenChecks](docs.abapopenchecks.org) — 通过新的和可自定义的检查来增强 SAP Code Inspector。

Ada

- 🌎 [Polyspace for Ada](www.mathworks.com/products/polyspace-ada.html) :copyright: — 提供代码验证,以证明源代码中不存在溢出、除以零、越界数组访问以及某些其他运行时错误。 - 🌎 [SPARK](www.adacore.com/about-spark) :copyright: — Ada 的静态分析和形式化验证工具集。

Assembly

- **STOKE** :warning: — 一个与编程语言无关的随机优化器,针对 x86_64 指令集。它使用随机搜索来探索所有可能程序转换的极高维空间。

Awk

- 🌎 [gawk --lint](www.gnu.org/software/gawk/manual/html_node/Options.html) — 对可疑或不可移植到其他 awk 实现的构造发出警告。

C

- 🌎 [Astrée](www.absint.com/astree/index.htm) :copyright: — Astrée 自动证明 C/C++ 应用程序中不存在运行时错误和无效的并发行为。它对浮点计算是可靠的(sound),速度非常快,并且异常精确。该分析器还检查 MISRA/CERT/CWE/Adaptive Autosar 编码规则,并支持 ISO 26262、DO-178C level A 和其他安全标准的认证。提供 Jenkins 和 Eclipse 插件。 - [CBMC](http://www.cprover.org/cbmc) — C 程序的有界模型检查器,支持用户定义断言、标准断言、多种覆盖率指标分析。 - 🌎 [clang-tidy](clang.llvm.org/extra/clang-tidy) — 基于 Clang 的 C++ linter 工具,也具有(有限的)修复问题的能力。 -    727⭐     97🍴 [clazy](https://github.com/KDE/clazy)) — 基于 Clang 框架的面向 Qt 的静态代码分析器。clazy 是一个编译器插件,允许 clang 理解 Qt 语义。你会收到 50 多个与 Qt 相关的编译器警告,范围从不必要的内存分配到 API 的误用,包括用于自动重构的修复提示。 -     79⭐     28🍴 [CMetrics](https://github.com/MetricsGrimoire/CMetrics)) — 测量 C 文件的大小和复杂度。 - 🌎 [CPAchecker](cpachecker.sosy-lab.org) — 用于 C 程序的可配置软件验证工具。名称 CPAchecker 的选择是为了反映该工具基于 CPA 概念并用于检查软件程序。 - 🌎 [cppcheck](cppcheck.sourceforge.io) — C/C++ 代码的静态分析。 - 🌎 [CppDepend](www.cppdepend.com) :copyright: — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。 -   1801⭐    303🍴 [cpplint](https://github.com/cpplint/cpplint)) — 遵循 Google 风格指南的自动化 C++ 检查器。 -     69⭐     11🍴 [cqmetrics](https://github.com/dspinellis/cqmetrics)) — C 代码的质量指标。 - 🌎 [CScout](www.spinellis.gr/cscout) — C 和 C 预处理器代码的复杂度和质量指标。 - **ENRE-cpp** :warning: — ENRE(实体关系提取器)是一个从源代码中提取代码实体依赖或关系的工具。ENRE-cpp 是一个基于 @eclipse/CDT 的 C/C++ 实体关系提取器。(开发中) - [ESBMC](http://esbmc.org) — ESBMC 是一个开源、宽松许可、基于可满足性模理论的上下文有界模型检查器,用于验证单线程和多线程 C/C++ 程序。 - **flawfinder** :warning: — 查找可能的安全漏洞。 - **flint++** :warning: — flint 的跨平台、零依赖移植版,flint 是 Facebook 开发和使用的 C++ lint 程序。 - 🌎 [Frama-C](www.frama-c.com) — 一个可靠且可扩展的 C 代码静态分析器。 - 🌎 [GCC](gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html) — GCC 编译器自版本 10 起具有静态分析功能。此选项仅在 GCC 配置启用分析器支持时可用。它还可以将其诊断信息输出为 SARIF 格式的 JSON 文件(从 v13 开始)。 - 🌎 [Goblint](goblint.in.tum.de) — 用于分析多线程 C 程序的静态分析器。其主要重点是检测数据竞争,但也报告其他运行时错误,如缓冲区溢出和空指针解引用。 - 🌎 [Helix QAC](www.perforce.com/products/helix-qac) :copyright: — 针对嵌入式软件的企业级静态分析。支持 MISRA、CERT 和 AUTOSAR 编码标准。 -   3119⭐    218🍴 [IKOS](https://github.com/nasa-sw-vnv/ikos)) — 基于 LLVM 的 C/C++ 代码可靠静态分析器。 - [KLEE](http://klee.github.io/) — 构建在 LLVM 编译器基础设施之上的动态符号执行引擎。它可以为程序自动生成测试用例,使测试用例尽可能多地覆盖程序。 - 🌎 [LDRA](ldra.com) :copyright: — 一个工具套件,包括针对各种标准(包括 MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++ 和自定义规则)的静态分析 (TBVISION)。 - **MATE** :warning: — 一套用于交互式程序分析的工具,专注于在 C 和 C++ 代码中查找错误。MATE 使用代码属性图 统一了特定于应用程序和底层的漏洞分析,从而能够发现高度依赖于实现细节和目标 C/C++ 程序的高级语义的特定于应用程序的漏洞。 - 🌎 [PC-lint](pclintplus.com/) :copyright: — C/C++ 的静态分析。在 Windows/Linux/MacOS 下原生运行。分析几乎任何平台的代码,支持 C11/C18 和 C++17。 - 🌎 [Phasar](phasar.org) — 一个基于 LLVM 的静态分析框架,带有污点和类型状态分析。 - 🌎 [Polyspace Bug Finder](www.mathworks.com/products/polyspace-bug-finder.html) :copyright: — 识别 C 和 C++ 嵌入式软件中的运行时错误、并发问题、安全漏洞和其他缺陷。 -🌎 [Polyspace Code Prover](www.mathworks.com/products/polyspace-code-prover.html) :copyright: — 提供代码验证,证明 C 和 C++ 源代码中不存在溢出、除以零、越界数组访问和某些其他运行时错误。 - 🌎 [scan-build](clang-analyzer.llvm.org/scan-build.html) — 驱动内置于 Clang 中的 Clang 静态分析器通过常规构建运行的前端。 - [splint](http://splint.org) — 注释辅助的静态程序检查器。 - 🌎 [SVF](svf-tools.github.io/SVF) — 一种静态工具,能够对 C 和 C++ 程序进行可扩展且精确的过程间依赖分析。 - 🌎 [TrustInSoft Analyzer](trust-in-soft.com) :copyright: — 穷尽检测编码错误及其相关的安全漏洞。这包括可靠的未定义行为检测(缓冲区溢出、越界数组访问、空指针解引用、释放后使用、除以零、未初始化内存访问、有符号溢出、无效指针算术等)、数据流和控制流验证以及形式化规范的完整功能验证。支持截至 C18 的所有 C 版本和截至 C++20 的 C++ 版本。TrustInSoft Analyzer 将在 2023 年第二季度获得 ISO 26262 认证 (TCL3)。还捆绑了 MISRA C 检查器。 - **vera++** :warning: — Vera++ 是一个可编程工具,用于 C++ 源代码的验证、分析和转换。

C#

- [.NET Analyzers](https://github.com/DotNetAnalyzers) — 一个使用 .NET Compiler Platform 开发分析器(诊断和代码修复)的组织。 -   1226⭐     75🍴 [ArchUnitNET](https://github.com/TNG/ArchUnitNET)) — 一个 C# 架构测试库,用于在 C# 中指定和断言架构规则以进行自动化测试。 - 🌎 [code-cracker](code-cracker.github.io) — 一个用于 C# 和 VB 的分析器库,使用 Roslyn 生成重构、代码分析和其他辅助功能。 - **CSharpEssentials** :warning: — C# Essentials 是 Roslyn 诊断分析器、代码修复和重构的集合,便于使用 C# 6 语言功能。 - [Designite](http://www.designite-tools.com) :copyright: — Designite 支持检测各种架构、设计和实现异味,计算各种代码质量指标,以及趋势分析。 - 🌎 [Gendarme](www.mono-project.com/docs/tools+libraries/tools/gendarme) — Gendarme 检查包含 ECMA CIL 格式代码(Mono 和 .NET)的程序和库。 - **Infer#** :warning: — InferSharp(也称为 Infer#)是一个用于 C# 的过程间且可扩展的静态代码分析器。通过 Facebook Infer 的能力,该工具检测空指针解引用和资源泄漏。 -   1099⭐     64🍴 [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer)) — 一个 Roslyn 分析器,用于在设计、用法、安全性、性能和风格方面强制执行 C# 的一些良好实践。 - [NDepend](http://www.ndepend.com) :copyright: — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。 - 🌎 [Puma Scan](pumasecurity.io) — Puma Scan 为开发团队在 Visual Studio 中编写代码时提供针对常见漏洞(XSS、SQLi、CSRF、LDAPi、加密、反序列化等)的实时安全代码分析。 -   3390⭐    277🍴 [Roslynator](https://github.com/JosefPihrt/Roslynator)) — 190 多个分析器和 190 多个重构的集合,用于 C#,由 Roslyn 驱动。 -    894⭐    240🍴 [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet)) — 这些 Roslyn 分析器允许您生成安全、可靠且可维护的整洁代码,帮助您查找和更正代码库中的错误、漏洞和代码异味。 - **VSDiagnostics** :warning: — 基于 Roslyn 的静态分析器集合,与 VS 集成。 -     89⭐     11🍴 [Wintellect.Analyzers](https://github.com/Wintellect/Wintellect.Analyzers)) — .NET Compiler Platform ("Roslyn") 诊断分析器和代码修复。

C++

- 🌎 [Astrée](www.absint.com/astree/index.htm) :copyright: — Astrée 自动证明 C/C++ 应用程序中不存在运行时错误和无效的并发行为。它对浮点计算是可靠的(sound),速度非常快,并且异常精确。该分析器还检查 MISRA/CERT/CWE/Adaptive Autosar 编码规则,并支持 ISO 26262、DO-178C level A 和其他安全标准的认证。提供 Jenkins 和 Eclipse 插件。 - [CBMC](http://www.cprover.org/cbmc) — C 程序的有界模型检查器,支持用户定义断言、标准断言、多种覆盖率指标分析。 - 🌎 [clang-tidy](clang.llvm.org/extra/clang-tidy) — 基于 Clang 的 C++ linter 工具,也具有(有限的)修复问题的能力。 -    727⭐     97🍴 [clazy](https://github.com/KDE/clazy)) — 基于 Clang 框架的面向 Qt 的静态代码分析器。clazy 是一个编译器插件,允许 clang 理解 Qt 语义。你会收到 50 多个与 Qt 相关的编译器警告,范围从不必要的内存分配到 API 的误用,包括用于自动重构的修复提示。 -     79⭐     28🍴 [CMetrics](https://github.com/MetricsGrimoire/CMetrics)) — 测量 C 文件的大小和复杂度。 - 🌎 [cppcheck](cppcheck.sourceforge.io) — C/C++ 代码的静态分析。 - 🌎 [CppDepend](www.cppdepend.com) :copyright: — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。 -   1801⭐    303🍴 [cpplint](https://github.com/cpplint/cpplint)) — 遵循 Google 风格指南的自动化 C++ 检查器。 -     69⭐     11🍴 [cqmetrics](https://github.com/dspinellis/cqmetrics)) — C 代码的质量指标。 - 🌎 [CScout](www.spinellis.gr/cscout) — C 和 C 预处理器代码的复杂度和质量指标。 - **ENRE-cpp** :warning: — ENRE(实体关系提取器)是一个从源代码中提取代码实体依赖或关系的工具。ENRE-cpp 是一个基于 @eclipse/CDT 的 C/C++ 实体关系提取器。(开发中) - [ESBMC](http://esbmc.org) — ESBMC 是一个开源、宽松许可、基于可满足性模理论的上下文有界模型检查器,用于验证单线程和多线程 C/C++ 程序。 - **flawfinder** :warning: — 查找可能的安全漏洞。 - **flint++** :warning: — flint 的跨平台、零依赖移植版,flint 是 Facebook 开发和使用的 C++ lint 程序。 - 🌎 [GCC](gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html) — GCC 编译器自版本 10 起具有静态分析功能。此选项仅在 GCC 配置启用分析器支持时可用。它还可以将其诊断信息输出为 SARIF 格式的 JSON 文件(从 v13 开始)。 - 🌎 [Helix QAC](www.perforce.com/products/helix-qac) :copyright: — 针对嵌入式软件的企业级静态分析。支持 MISRA、CERT 和 AUTOSAR 编码标准。 -   3119⭐    218🍴 [IKOS](https://github.com/nasa-sw-vnv/ikos)) — 基于 LLVM 的 C/C++ 代码可靠静态分析器。 - [KLEE](http://klee.github.io/) — 构建在 LLVM 编译器基础设施之上的动态符号执行引擎。它可以为程序自动生成测试用例,使测试用例尽可能多地覆盖程序。 - 🌎 [LDRA](ldra.com) :copyright: — 一个工具套件,包括针对各种标准(包括 MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++ 和自定义规则)的静态分析 (TBVISION)。 - **MATE** :warning: — 一套用于交互式程序分析的工具,专注于在 C 和 C++ 代码中查找错误。MATE 使用代码属性图 统一了特定于应用程序和底层的漏洞分析,从而能够发现高度依赖于实现细节和目标 C/C++ 程序的高级语义的特定于应用程序的漏洞。 - 🌎 [PC-lint](pclintplus.com/) :copyright: — C/C++ 的静态分析。在 Windows/Linux/MacOS 下原生运行。分析几乎任何平台的代码,支持 C11/C18 和 C++17。 - 🌎 [Phasar](phasar.org) — 一个基于 LLVM 的静态分析框架,带有污点和类型状态分析。 - 🌎 [Polyspace Bug Finder](www.mathworks.com/products/polyspace-bug-finder.html) :copyright: — 识别 C 和 C++ 嵌入式软件中的运行时错误、并发问题、安全漏洞和其他缺陷。 - 🌎 [Polyspace Code Prover](www.mathworks.com/products/polyspace-code-prover.html) :copyright: — 提供代码验证,证明 C 和 C++ 源代码中不存在溢出、除以零、越界数组访问和某些其他运行时错误。 - 🌎 [scan-build](clang-analyzer.llvm.org/scan-build.html) — 驱动内置于 Clang 中的 Clang 静态分析器通过常规构建运行的前端。 - [splint](http://splint.org) — 注释辅助的静态程序检查器。 - 🌎 [SVF](svf-tools.github.io/SVF) — 一种静态工具,能够对 C 和 C++ 程序进行可扩展且精确的过程间依赖分析。 - 🌎 [TrustInSoft Analyzer](trust-in-soft.com) :copyright: — 穷尽检测编码错误及其相关的安全漏洞。这包括可靠的未定义行为检测(缓冲区溢出、越界数组访问、空指针解引用、释放后使用、除以零、未初始化内存访问、有符号溢出、无效指针算术等)、数据流和控制流验证以及形式化规范的完整功能验证。支持截至 C18 的所有 C 版本和截至 C++20 的 C++ 版本。TrustInSoft Analyzer 将在 2023 年第二季度获得 ISO 26262 认证 (TCL3)。还捆绑了 MISRA C 检查器。 - **vera++** :warning: — Vera++ 是一个可编程工具,用于 C++ 源代码的验证、分析和转换。

Clojure

-   1824⭐    298🍴 [clj-kondo](https://github.com/borkdude/clj-kondo)) — 一个让人愉悦的 Clojure 代码 linter。它会在您输入时通知您潜在的错误。

CoffeeScript

- **coffeelint** :warning: — 一个样式检查器,帮助保持 CoffeeScript 代码整洁和一致。

ColdFusion

- 🌎 [Fixinator](fixinator.app) :copyright: — 针对 ColdFusion 或 CFML 代码的静态安全代码分析。旨在在 CI 流水线内或从开发人员终端工作。

Crystal

- 🌎 [ameba](crystal-ameba.github.io) — Crystal 的静态代码分析工具。 - 🌎 [crystal](crystal-lang.org) — Crystal 编译器具有内置的 linting 功能。

Dart

- **Dart Code Metrics** :warning: — Dart 的附加 linter。报告代码指标,检查反模式并为 Dart analyzer 提供附加规则。 - 🌎 [effective_dart](pub.dev/packages/effective_dart) — 对应于 Effective Dart 中指导原则的 linter 规则。 **lint** :warning: — 一套固执己见、社区驱动的 Dart 和 Flutter 项目 lint 规则。像 pedantic 但更严格。 - **Linter for dart** :warning: — Dart 的样式 linter。

Delphi

-    133⭐     27🍴 [DelphiLint](https://github.com/integrated-application-development/delphilint)) — 一个 Delphi IDE 包,提供由 SonarDelphi 驱动的即时代码分析和 linting。 - 🌎 [Fix Insight](www.tmssoftware.com/site/fixinsight.asp) :copyright: — 一个免费的静态代码分析 IDE 插件。_Pro_ 版本包括用于自动化目的的命令行工具。 - 🌎 [Pascal Analyzer](peganza.com/products_pal.html) :copyright: — 具有大量报告的静态代码分析工具。提供报告功能受限的免费 _Lite_ 版本。 - 🌎 [Pascal Expert](peganza.com/products_pex.html) :copyright: — 用于代码分析的 IDE 插件。包括 Pascal Analyzer 报告功能的子集,适用于 Delphi 2007 及更高版本。 -    147⭐     29🍴 [SonarDelphi](https://github.com/integrated-application-development/sonar-delphi)) — 用于 SonarQube 代码质量平台的 Delphi 静态分析器。

Dlang

-    251⭐     83🍴 [D-scanner](https://github.com/dlang-community/D-Scanner)) — D-Scanner 是一个用于分析 D 源代码的工具。

Elixir

-   5147⭐    436🍴 [credo](https://github.com/rrrene/credo)) — 专注于代码一致性和教学的静态代码分析工具。 -   1786⭐    159🍴 [dialyxir](https://github.com/jeremyjh/dialyxir)) — 简化在 Elixir 项目中使用 Dialyzer 的 Mix 任务。 -   1774⭐    117🍴 [sobelow](https://github.com/nccgroup/sobelow)) — 针对 Phoenix Framework 的侧重安全的静态分析。

Elm

- **elm-analyse** :warning: — 一种允许您分析 Elm 代码、识别缺陷并应用最佳实践的工具。 - 🌎 [elm-review](package.elm-lang.org/packages/jfmengels/elm-review/latest) — 分析整个 Elm 项目,专注于用 Elm 编写的可共享和自定义规则,这些规则增加了 Elm 编译器无法提供的保证。

Erlang

- 🌎 [dialyzer](www.erlang.org/doc/man/dialyzer.html) — DIALYZER,一个用于 ERlang 程序的差异分析器(DIscrepancy AnaLYZer)。Dialyzer 是一个静态分析工具,用于识别软件差异,例如单个 Erlang 模块或整个(组)应用程序中的确定类型错误、因编程错误而变为死代码或不可达的代码以及不必要的测试。 Dialyzer 从调试编译的 BEAM 字节码或 Erlang 源代码开始分析。报告差异的文件和行号以及关于差异内容的指示。Dialyzer 基于成功类型的概念进行分析,这允许发出可靠的警告(无误报)。 -    429⭐     87🍴 [elvis](https://github.com/inaka/elvis)) — Erlang 风格审查器。 - **Primitive Erlang Security Tool (PEST)** :warning: — 一个对 Erlang 源代码进行基本扫描并报告任何可能导致 Erlang 源代码不安全的函数调用的工具。

F#

- 🌎 [fantomas](fsprojects.github.io/fantomas/) — F# 源代码格式化工具。 -    320⭐     74🍴 [FSharpLint](https://github.com/fsprojects/FSharpLint)) — F# 的 Lint 工具。 - 🌎 [ionide-analyzers](ionide.io/ionide-analyzers/) — 使用 FSharp.Analyzers.SDK 构建的 F# 分析器集合。

Fortran

- 🌎 [Fortitude](fortitude.readthedocs.io) — Fortran linter,受 Ruff 启发(并基于 Ruff 构建),基于社区最佳实践。支持最新的 Fortran (2023) 标准。 - 🌎 [fprettify](pypi.python.org/pypi/fprettify) — 用于现代 Fortran 源代码的自动格式化工具,使用 Python 编写。 Fprettify 是一个在代码中提供一致的空格、缩进和分隔符对齐的工具,包括更改字母大小写和处理预处理器指令的能力,同时保留修订历史记录并经过编辑器集成测试。 - **i-Code CNES for Fortran** :warning: — 一个针对 Fortran 77、Fortran 90 和 Shell 的开源静态代码分析工具。

Go

- 🌎 [aligncheck](gitlab.com/opennota/check) — 查找填充效率低下的结构体。 -    324⭐     38🍴 [bodyclose](https://github.com/timakin/bodyclose)) — 检查 HTTP 响应体是否已关闭。 -     53⭐     13🍴 [deadcode](https://github.com/tsenart/deadcode)) — 查找未使用的代码。 - **dingo-hunter** :warning: — 用于发现 Go 中死锁的静态分析器。 -     73⭐      2🍴 [dogsled](https://github.com/alexkohler/dogsled)) — 查找带有过多空白标识符的赋值/声明。 - **dupl** :warning: — 报告可能重复的代码。 -   2473⭐    141🍴 [errcheck](https://github.com/kisielk/errcheck)) — 检查错误返回值是否被使用。 -    381⭐     16🍴 [errwrap](https://github.com/fatih/errwrap)) — 使用新的 %w 动词指令包装和修复 Go 错误。此工具分析 fmt.Errorf() 调用并报告包含与 Go v1.13 中引入的新 %w 动词指令不同的动词指令的调用。它还能够重写调用以使用新的 %w 包装动词指令。 -     50⭐      3🍴 [flen](https://github.com/lafolle/flen)) — 获取 Go 包中函数长度的信息。 - **Go Meta Linter** :warning: — 并发运行 Go lint 工具并规范化其输出。对新项目使用 `golangci-lint`。 - 🌎 [go tool vet --shadow](golang.org/cmd/vet#hdr-Shadowed_variables) — 报告可能被无意遮蔽的变量。 - 🌎 [go vet](golang.org/cmd/vet) — 检查 Go 源代码并报告可疑之处。 - **go-consistent** :warning: — 帮助您使 Go 程序更一致的分析器。 -   2036⭐    132🍴 [go-critic](https://github.com/go-critic/go-critic)) — Go 源代码 linter,维护当前在其他 linter 中未实现的检查。 - 🌎 [go/ast](golang.org/pkg/go/ast) — ast 包声明了用于表示 Go 包语法树的类型。 - **goast** :warning: — 基于 Go AST(抽象语法树)并使用 Rego 的静态分析工具。 - **gochecknoglobals** :warning: — 检查是否存在全局变量。 -    315⭐     20🍴 [goconst](https://github.com/jgautheron/goconst)) — 查找可以替换为常量的重复字符串。 -   1547⭐     93🍴 [gocyclo](https://github.com/fzipp/gocyclo)) — 计算 Go 源代码中函数的圈复杂度。 - 🌎 [gofmt -s](golang.org/cmd/gofmt) — 检查代码格式是否正确且无法进一步简化。 -   3885⭐    125🍴 [gofumpt](https://github.com/mvdan/gofumpt)) — 强制执行比 `gofmt` 更严格的格式,同时向后兼容。也就是说,`gofumpt` 接受 `gofmt` 接受的格式的子集。 该工具是 Go 1.19 版本 `gofmt` 的一个分支,需要 Go 1.18 或更高版本。它可以用作格式化 Go 代码的直接替代品,在 gofumpt 之后运行 gofmt 应该不会产生任何更改。 `gofumpt` 永远不会添加与 `gofmt` 格式不一致的规则。所以我们扩展 `gofmt` 而不是与它竞争。 - 🌎 [goimports](pkg.go.dev/golang.org/x/tools/cmd/goimports) — 检查缺失或未引用的包导入。 -   2167⭐    108🍴 [gokart](https://github.com/praetorian-inc/gokart)) — Golang 安全分析,专注于最大限度地减少误报。它能够追踪变量和函数参数的来源,以确定输入源是否安全。 - 🌎 [GolangCI-Lint](golangci-lint.run) — `Go Meta Linter` 的替代品:GolangCI-Lint 是一个 linter 聚合器。 -   3969⭐    480🍴 [golint](https://github.com/golang/lint)) — 打印 Go 源代码中的编码样式错误。 -   3133⭐    265🍴 [goreporter](https://github.com/360EntSecGroup-Skylar/goreporter)) — 并发运行许多 linter 并将其输出规范化为报告。 -    477⭐     18🍴 [goroutine-inspect](https://github.com/linuxerwang/goroutine-inspect)) — 用于分析 Golang goroutine 转储的交互式工具。 - 🌎 [gosec (gas)](securego.io) — 通过扫描 Go AST 来检查源代码的安全问题。 - 🌎 [gotype](pkg.go.dev/golang.org/x/tools/cmd/gotype) — 类似于 Go 编译器的语法和语义分析。 - 🌎 [govulncheck](go.dev/blog/vuln) — Govulncheck 报告影响 Go 代码的已知漏洞。它使用源代码静态分析或二进制文件的符号表将报告范围缩小到仅那些可能影响应用程序的漏洞。 默认情况下,govulncheck 向 https://vuln.go.dev 的 Go 漏洞数据库发出请求。对漏洞数据库的请求仅包含模块路径,不包含代码或程序的其他属性。 -    457⭐     48🍴 [ineffassign](https://github.com/gordonklaus/ineffassign)) — 检测 Go 代码中的无效赋值。 - **interfacer** :warning: — 建议可以使用更窄的接口。 -     70⭐      8🍴 [lll](https://github.com/walle/lll)) — 报告长。 - **maligned** :warning: — 检测如果字段排序后占用更少内存的结构体。 -   1396⭐    134🍴 [misspell](https://github.com/client9/misspell)) — 查找常见拼写错误的英语单词。 -    132⭐     16🍴 [nakedret](https://github.com/alexkohler/nakedret)) — 查找裸返回。 -     86⭐      6🍴 [nargs](https://github.com/alexkohler/nargs)) — 查找函数声明中未使用的参数。 - 🌎 [OSV-Scanner](osv.dev/) — 用 Go 编写的漏洞扫描程序,使用 OSV.dev 提供的数据。由 Google 开发,用于跨多种语言和包管理器扫描依赖项以查找已知漏洞。支持容器扫描、许可证扫描和引导式修复。适用于 lockfiles、SBOM 和容器镜像以识别安全问题。 -    664⭐     26🍴 [prealloc](https://github.com/alexkohler/prealloc)) — 查找可能可以预分配的切片声明。 -   9148⭐    479🍴 [Reviewdog](https://github.com/haya14busa/reviewdog)) — 一种用于从任何代码托管服务中的任何 linter 发布评论的工具。 - 🌎 [revive](revive.run) — 快速、可配置、可扩展、灵活且美观的 Go linter。golint 的直接替代品。 - **safesql** :warning: — 用于 Golang 的静态分析工具,可防止 SQL 注入。 - **shisho** :warning: — 为开发人员和安全团队设计的轻量级静态代码分析器。它允许您使用类似于 sed 但用于代码的直观 DSL 来分析和转换源代码。 - 🌎 [staticcheck](staticcheck.io) — Go 静态分析,专门用于查找错误、简化代码和提高性能。 - 🌎 [structcheck](gitlab.com/opennota/check) — 查找未使用的结构体字段。 -    833⭐     29🍴 [structslop](https://github.com/orijtech/structslop)) — 用于 Go 的静态分析器,建议结构体字段重排以提供最大的空间/分配效率。 - 🌎 [test](pkg.go.dev/testing) — 显示标准库测试模块中测试失败的位置。 - **unconvert** :warning: — 检测冗余的类型转换。 -    568⭐     29🍴 [unparam](https://github.com/mvdan/unparam)) — 查找未使用的函数参数。 - 🌎 [varcheck](gitlab.com/opennota/check) — 查找未使用的全局变量和常量。 -    346⭐     46🍴 [wsl](https://github.com/bombsimon/wsl)) — 在正确的位置强制执行空行。

Groovy

- 🌎 [CodeNarc](codenarc.github.io/CodeNarc) — Groovy 源代码的静态分析工具,能够监控和强制执行许多编码标准和最佳实践。

Haskell

- **brittany** :warning: — Haskell 源代码格式化工具。 -   1578⭐    204🍴 [HLint](https://github.com/ndmitchell/hlint)) — HLint 是一个用于建议 Haskell 代码可能改进之处的工具。 - 🌎 [Liquid Haskell](ucsd-progsys.github.io/liquidhaskell-blog/) — Liquid Haskell 是 Haskell 程序的细化类型检查器。 - 🌎 [Stan](kowainik.github.io/projects/stan) — Stan 是一个命令行工具,用于分析 Haskell 项目并以有用的方式输出发现的漏洞以及检测到的问题的可能解决方案。 -    184⭐     33🍴 [Weeder](https://github.com/ocharles/weeder)) — 用于检测 Haskell 代码中死导出或包导入的工具。

Haxe

- 🌎 [Haxe Checkstyle](haxecheckstyle.github.io/docs/haxe-checkstyle/home.html) — 一个静态分析工具,帮助开发人员编写符合编码标准的 Haxe 代码。

Java

- 🌎 [Checker Framework](checkerframework.org) — Java 的可插入类型检查。这不仅仅是一个错误查找器,而是一个提供正确性保证的验证工具。它附带 27 个预构建的类型系统,并允许用户定义自己的类型系统;手册列出了 30 多个用户贡献的类型系统。 - 🌎 [checkstyle](checkstyle.org) — 检查 Java 源代码是否遵守代码标准或一组验证规则(最佳实践)。 -    447⭐    165🍴 [ck](https://github.com/mauricioaniche/ck)) — 通过处理源 Java 文件计算 Chidamber 和 Kemerer 面向对象指标。 - [ckjm](http://www.spinellis.gr/sw/ckjm) — 通过处理编译 Java 文件的字节码计算 Chidamber 和 Kemerer 面向对象指标。 - **CogniCrypt** :warning: — 检查 Java 源代码和字节码中加密 API 的不正确使用。 -   1133⭐    437🍴 [Dataflow Framework](https://github.com/typetools/checker-framework)) — 一个工业强度的 Java 数据流框架。Dataflow Framework 用于 Checker Framework、Google 的 Error Prone、Uber 的 NullAway、Meta 的 Nullsafe 以及其他环境。它与 Checker Framework 一起分发。 - [DesigniteJava](http://www.designite-tools.com/designitejava) :copyright: — DesigniteJava 支持检测各种架构、设计和实现异味,以及计算各种代码质量指标。 - 🌎 [Diffblue](www.diffblue.com/) :copyright: — Diffblue 是一家软件公司,为软件开发团队提供 AI 驱动的代码分析和测试解决方案。 其技术帮助开发人员在软件开发过程中实现测试自动化、查找错误并减少体力劳动。该公司的旗舰产品 Diffblue Cover 使用 AI 生成并运行 Java 代码的单元测试,帮助捕获错误并提高代码质量。 - 🌎 [Doop](plast-lab.github.io/doop-pldi15-tutorial/) — Doop 是一个用于 Java/Android 程序静态分析的声明式框架,以指针分析算法为中心。Doop 提供多种分析,以及运行端到端分析所需的周边脚手架(事实生成、处理、统计等)。 - **ENRE-java** :warning: — ENRE(实体关系提取器)是一个从源代码中提取代码实体依赖或关系的工具。ENRE-java 是一个基于 @Eclipse JDT/parser 的 Java 项目实体关系提取器。 - 🌎 [Error Prone](errorprone.info) — 将常见的 Java 错误作为编译时错误捕获。 - [fb-contrib](http://fb-contrib.sourceforge.net) — 一个带有额外错误检测器的 FindBugs 插件。 -    360⭐     37🍴 [forbidden-apis](https://github.com/policeman-tools/forbidden-apis)) — 检测并禁止调用特定方法/类/字段(例如在没有字符集的情况下从文本流读取)。兼容 Maven/Gradle/Ant。 -   6090⭐    918🍴 [google-java-format](https://github.com/google/google-java-format)) — 重新格式化 Java 源代码以符合 Google Java 风格。 - **HuntBugs** :warning: — 基于 Procyon Compiler Tools 的字节码静态分析器工具,旨在取代 FindBugs。 - 🌎 [IntelliJ IDEA](www.jetbrains.com/idea) :copyright: — 捆绑了大量 Java 和 Kotlin 检查,并包含用于重构、格式化等的工具。 - 🌎 [JArchitect](www.jarchitect.com) :copyright: — 测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。 - 🌎 [JBMC](www.cprover.org/jbmc) — Java (字节码) 的有界模型检查器,验证用户定义断言、标准断言、多种覆盖率指标分析。 -     26⭐      0🍴 [JLiSA](https://github.com/lisa-analyzer/jlisa)) — 基于     75⭐     35🍴 [LiSA](https://github.com/lisa-analyzer/lisa)) 框架构建的 Java 抽象解释静态分析器。 - 🌎 [Mariana Trench](mariana-tren.ch/) — 我们专注于安全的 Android 和 Java 应用程序静态分析工具。Mariana Trench 分析 Dalvik 字节码,专为在大型代码库(数千万行代码)上快速运行而构建。它可以在代码更改时发现漏洞,甚至在它进入您的存储库之前。 -   4020⭐    331🍴 [NullAway](https://github.com/uber/NullAway)) — 构建时间开销低的基于类型的空指针检查器;一个 [Error Prone](http://errorprone.info/) 插件。 - **OWASP Dependency Check** :warning: — 检查依赖项是否存在已知的、公开披露的漏洞。 - 🌎 [qulice](www.qulice.com) — 结合了几个(预配置的)静态分析工具(checkstyle、PMD、Findbugs 等)。 -    521⭐     44🍴 [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)) — 识别 Java 代码库中您应该优先重构的上帝类和高耦合类并对其进行排序。 - 🌎 [Soot](soot-oss.github.io/soot) — 一个用于分析和转换 Java 和 Android 应用程序的框架。 - 🌎 [Spoon](spoon.gforge.inria.fr) — Spoon 是一个用于分析和转换 Java 源代码(包括 Java 9、10、11、12、13、14)的元编程库。它解析源文件以构建设计良好的 AST,具有强大的分析和转换 API。可以集成到 Maven 和 Gradle 中。 - 🌎 [SpotBugs](spotbugs.github.io) — SpotBugs 是 FindBugs 的继任者。一个用于静态分析以查找 Java 代码中错误的工具。 - **steady** :warning: — 使用静态分析和测试分析您的 Java 应用程序是否存在具有已知漏洞的开源依赖项,以确定代码上下文和使用情况,从而提高准确性。 -    155⭐     42🍴 [Violations Lib](https://github.com/tomasbjerre/violations-lib)) — 用于解析来自静态代码分析的报告文件的 Java 库。被许多 Jenkins、Maven 和 Gradle 插件使用。

JavaScript

- **aether** :warning: — 在 node 或浏览器中 lint、分析、规范化、转换、沙箱化、运行、单步调试和可视化用户 JavaScript。 - 🌎 [Closure Compiler](developers.google.com/closure/compiler) — 一个编译器工具,用于提高效率、减小大小并在 JavaScript 文件中提供代码警告。 - **ClosureLinter** :warning: — 确保您项目的所有 JavaScript 代码都遵循 Google JavaScript 风格指南中的准则。它还可以自动修复许多常见错误。 - **complexity-report** :warning: — JavaScript 项目的软件复杂度分析。 - 🌎 [DeepScan](deepscan.io) :copyright: — 针对 JavaScript 的分析器,目标是运行时错误和质量问题,而不是编码约定。 - **es6-plato** :warning: — 可视化 JavaScript (ES6) 源代码复杂度。 -  &; 271⭐     26🍴 [escomplex](https://github.com/jared-stilwell/escomplex)) — JavaScript 家族抽象语法树的软件复杂度分析。 - **Esprima** :warning: — 用于多用途分析的 ECMAScript 解析基础设施。 - 🌎 [flow](flow.org) — JavaScript 的静态类型检查器。 - **hegel** :warning: — 一个侧重于类型推断和强类型系统的 JavaScript 静态类型检查器。 - 🌎 [jshint](jshint.com/about) [:information_source:]() — 检测 JavaScript 代码中的错误和潜在问题,并强制执行团队的编码约定。 -   3665⭐    474🍴 [JSLint](https://github.com/douglascrockford/JSLint)) [:information_source:]() — JavaScript 代码质量工具。 - **JSPrime** :warning: — 静态安全分析工具。 - **NodeJSScan** :warning: — 由 libsast 和 semgrep 驱动的 Node.js 应用程序静态安全代码扫描器,构建于 njsscan cli 工具之上。它具有带有有关应用程序安全状态的各种仪表板的 UI。 - **plato** :warning: — 可视化 JavaScript 源代码复杂度。 -    436⭐    200🍴 [Polymer-analyzer](https://github.com/Polymer/tools/tree/master/packages/analyzer)) — Web Components 的静态分析框架。 - 🌎 [retire.js](retirejs.github.io/retire.js) — 检测使用具有已知漏洞的 JavaScript 库的扫描器。 - **RSLint** :warning: — 一个(WIP)用 Rust 编写的 JavaScript linter,旨在尽可能快、可定制且易于使用。 - [standard](http://standardjs.com) — 一个检查 Javascript 样式指南问题的 npm 模块。 - 🌎 [tern](ternjs.net) — 用于深度、跨编辑器语言支持的 JavaScript 代码分析器。 - **TypL** :warning: — 使用 TypL,您只需编写完全标准的 JS,该工具就会通过强大的推断来找出您的类型。 -   7954⭐    304🍴 [xo](https://github.com/xojs/xo)) — 固执己见但可配置的 ESLint 包装器,包含许多好东西。强制执行严格且可读的代码。 - **yardstick** :warning: — Javascript 代码指标。

Julia

-    851⭐     41🍴 [JET](https://github.com/aviatesk/JET.jl)) — 用于检测错误和类型不稳定的静态类型推断系统。 -    159⭐     31🍴 [StaticLint](https://github.com/julia-vscode/StaticLint.jl)) — Julia 的静态代码分析

Kotlin

- 🌎 [detekt](detekt.github.io/detekt) — Kotlin 代码的静态代码分析。 - **diktat** :warning: — Kotlin 的严格编码标准和检测并自动修复代码异味的 linter。 - 🌎 [ktfmt](facebook.github.io/ktfmt/) — 一个重新格式化 Kotlin 源代码以符合 Kotlin 代码约定的通用社区标准的程序。 可以从插件存储库获取 ktfmt IntelliJ 插件。要安装它,请转到 IDE 的设置并选择 Plugins 类别。单击 Marketplace 选项卡,搜索 ktfmt 插件,然后单击 Install 按钮。 - 🌎 [ktlint](ktlint.github.io) — 具有内置格式化程序的反战式(anti-bikeshedding)Kotlin linter。

Lua

-    442⭐     58🍴 [luacheck](https://github.com/lunarmodules/luacheck)) — 用于 Lua 代码的 linting 和静态分析的工具。 -     86⭐     19🍴 [lualint](https://github.com/philips/lualint)) — lualint 执行基于 luac 的 Lua 源代码全局变量使用静态分析。 - **Luanalysis** :warning: — 一个用于静态类型 Lua 开发的 IDE。

MATLAB

- **MISS_HIT** :warning: — MISS_HIT 是一款免费、开源的 MATLAB、Simulink 和 Octave 代码质量工具集。它包括 MH Style(样式检查器和格式化程序)、MH Metrics(复杂度指标)、MH Lint(静态分析)、MH Trace(需求可追溯性)和 MH Copyright(版权管理)。旨在无需安装 MATLAB/Octave 即可独立运行。 - 🌎 [mlint](www.mathworks.com/help/matlab/ref/mlint.html) :copyright: — 检查 MATLAB 代码文件是否存在可能的问题。

Nim

- 🌎 [DrNim](nim-lang.org/docs/drnim.html) — DrNim 结合了 Nim 前端和 Z3 证明引擎,以允许验证/验证用 Nim 编写的软件。 - **nimfmt** :warning: — Nim 代码格式化工具 / linter / 样式检查器

Ocaml

-    236⭐     42🍴 [Sys](https://github.com/PLSysSec/sys)) — 用于在(浏览器)代码中查找错误的静态/符号工具。它使用 LLVM AST 查找诸如未初始化内存访问之类的错误。 -    477⭐     70🍴 [VeriFast](https://github.com/verifast/verifast)) — 一个用于模块化形式化验证单线程和多线程 C 和 Java 程序正确性属性的工具,这些程序带有用分离逻辑编写的前置条件和后置条件注释。为了表达丰富的规范,程序员可以定义归纳数据类型、对这些数据类型的原始递归纯函数以及抽象分离逻辑谓词。

PHP

- 🌎 [CakeFuzzer](zigrin.com/tools/cake-fuzzer/) — 针对基于 CakePHP 的 Web 应用程序的 Web 应用程序安全测试工具。CakeFuzzer 采用一组预定义的攻击,这些攻击在执行前随机修改。利用其对 Cake PHP 框架的深入理解,Cake Fuzzer 对所有潜在的应用程序入口点发起攻击。 -   1380⭐     58🍴 [churn-php](https://github.com/bmitch/churn-php)) — 帮助发现重构的良好候选者。 -    602⭐     13🍴 [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser)) — 快速检测 composer 依赖项问题。 * 💪 强大:检测未使用、遮蔽和错位的 composer 依赖项 * ⚡ 高性能:2 秒内扫描 15 000 个文件! * ⚙️ 可配置:通过 PHP 配置进行细粒度忽略 * 🕸️ 轻量级:无 composer 依赖项 * 🍰 易于使用:首次尝试无需配置 * ✨ 兼容:PHP >= 7.2 -    534⭐     24🍴 [dephpend](https://github.com/mihaeu/dephpend)) — 依赖项分析工具。 -    391⭐     41🍴 [deprecation-detector](https://github.com/sensiolabs-de/deprecation-detector)) — 查找已弃用 代码的使用情况。 -   2905⭐    149🍴 [deptrac](https://github.com/sensiolabs-de/deptrac)) — 强制执行软件层之间依赖关系的规则。 -    116⭐     12🍴 [DesignPatternDetector](https://github.com/Halleck45/DesignPatternDetector)) — 检测 PHP 代码中的设计模式。 - 🌎 [EasyCodingStandard](www.tomasvotruba.com/blog/2017/05/03/combine-power-of-php-code-sniffer-and-php-cs-fixer-in-3-lines) — 结合了  10791⭐   1457🍴 [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)) 和  13476⭐   1632🍴 [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer))。 - **Enlightn** :warning: — Laravel 应用程序的静态和动态分析工具,提供改进 Laravel 应用程序性能、安全性和代码可靠性的建议。包含 120 项自动检查。 - 🌎 [exakat](www.exakat.io) — PHP 的自动代码审查引擎。 -   4276⭐    445🍴 [GrumPHP](https://github.com/phpro/grumphp)) — 在每次提交时检查代码。 -   6335⭐    489🍴 [larastan](https://github.com/larastan/larastan)) — 为 Laravel 添加静态分析,提高开发人员效率和代码质量。它是 PHPStan 的包装器。 - 🌎 [mago](mago.carthage.software) — Mago 是一个完整的 PHP 工具链,用 Rust 编写,从头设计以实现最大性能。 - ✨ 一个超快的格式化程序,可根据 PER-CS 自动格式化您的代码,永远结束样式争论。- 🔎 一个智能 linter,可在 stylistic 问题、不一致和代码异味成为问题之前将其捕获。- 🔬 一个强大的静态分析器,无需运行即可在您的代码中查找类型错误和逻辑错误。- 🛡️ 一个强大的架构卫士,强制执行依赖规则和结构约定。 - **Mondrian** :warning: — 一组使用图论的静态分析和重构工具。 -    349⭐     25🍴 [parallel-lint](https://github.com/php-parallel-lint/PHP-Parallel-Lint)) — 此工具检查 PHP 文件语法的速度比串行检查更快,并具有更美观的输出。 -    380⭐     41🍴 [Parse](https://github.com/psecio/parse)) — 一个静态安全扫描器。 - 🌎 [pdepend](pdepend.org) — 计算 PHP 代码的软件指标,如圈复杂度。 -      ?⭐      ?🍴 [phan](https://github.com/phan/phan/wiki)) — 来自 etsy 的现代静态分析器。 -   1244⭐     60🍴 [PHP Architecture Tester](https://github.com/carlosas/phpat)) — 易于使用的 PHP 架构测试工具。 -    165⭐     12🍴 [PHP Assumptions](https://github.com/rskuipers/php-assumptions)) — 检查弱假设。 - 🌎 [PHP Coding Standards Fixer](cs.symfony.com) — 根据 PSR-1、PSR-2 和 Symfony 标准等标准修复您的代码。 -   5588⭐    295🍴 [PHP Insights](https://github.com/nunomaduro/phpinsights)) — 从您的控制台进行即时 PHP 质量检查。分析代码质量和编码风格,代码架构及其复杂性的概述。 - 🌎 [Php Inspections (EA Extended)](plugins.jetbrains.com/plugin/7622-php-inspections-ea-extended-) — PHP 的静态代码分析器。 - 🌎 [PHP Refactoring Browser](qafoolabs.github.io/php-refactoring-browser) — 重构助手。 -    434⭐     28🍴 [PHP Semantic Versioning Checker](https://github.com/tomzx/php-semver-checker)) — 根据语义版本控制建议下一个版本。 -  17428⭐   1120🍴 [PHP-Parser](https://github.com/nikic/PHP-Parser)) — 用 PHP 编写的 PHP 解析器。 -     68⭐     24🍴 [php-speller](https://github.com/mekras/php-speller)) — PHP 拼写检查库。 - **PHP-Token-Reflection** :warning: — 模拟 PHP 内部反射的库。 - **php7cc** :warning: — PHP 7 兼容性检查器。 - **php7mar** :warning: — 协助开发人员快速将其代码移植到 PHP 7。 - **PHP_CodeSniffer** :warning: — 检测违反定义的一组编码标准的行为。 -    880⭐     53🍴 [PHPArkitect](https://github.com/phparkitect/arkitect)) — PHPArkitect 通过允许向您的工作流添加一些架构约束检查,帮助您保持 PHP 代码库的一致性和稳固性。您可以用简单且可读的 PHP 代码表达您想要强制执行的约束。 - **phpca** :warning: — 查找非内置扩展的使用情况。 - **phpcpd** :warning: — PHP 代码的复制/粘贴检测器。 - **phpdcd** :warning: — PHP 代码的死代码检测器 (DCD)。 - **PhpDependencyAnalysis** :warning: — 为项目构建依赖关系图。 - **PhpDeprecationDetector** :warning: — PHP 代码分析器,用于搜索较新解释器版本中已弃用功能的问题。它查找已删除的对象(函数、变量、常量和 ini 指令)、已弃用的函数功能以及禁用名称或技巧的使用(例如较新版本中的保留标识符)。 - **phpdoc-to-typehint** :warning: — 使用 PHPDoc 注释向现有 PHP 项目添加标量类型提示和返回类型。 - 🌎 [phpDocumentor](www.phpdoc.org) — 分析 PHP 源代码以生成文档。 -   2349⭐    163🍴 [phploc](https://github.com/sebastianbergmann/phploc)) — 一种用于快速测量大小和分析 PHP 项目结构的工具。 - 🌎 [PHPMD](phpmd.org) — 查找代码中可能的错误。 - [PhpMetrics](http://www.phpmetrics.org) — 计算并可视化各种代码质量指标。 -    580⭐     46🍴 [phpmnd](https://github.com/povils/phpmnd)) — 帮助检测魔术数字。 - 🌎 [PHPQA](edgedesigncz.github.io/phpqa) — 用于运行 QA 工具(phploc、phpcpd、phpcs、pdepend、phpmd、phpmetrics)的工具。 -   1302⭐     67🍴 [phpqa - jakzal](https://github.com/jakzal/phpqa)) — 一个容器中的许多 PHP 静态分析工具。 -    325� - [pylint](http://pylint.pycqa.org/en/latest) — 查找编程错误,帮助强制执行编码标准并检查代码异味。它还包括 `pyreverse`(UML 图生成器)和 `symilar`(相似性检查器)。 - 🌎 [pylyzers](mtshiba.github.io/pylyzer/) — 一个用 Rust 编写的 Python 静态代码分析器 / language server,专注于类型检查和可读的输出。 -     30⭐      1🍴 [Pyra](https://github.com/spangea/Pyra)) — Pyra 是一个用 Python 编写的、针对数据科学应用的高级 linter 静态分析器,作为     31⭐     11🍴 [Lyra](https://github.com/caterinaurban/Lyra))的扩展,帮助开发者识别其 Python 数据科学代码中的潜在问题。 - **pyre-check** :warning: — 一个用于大型 Python 代码库的快速、可扩展类型检查器。Pyre-check 已被其下一代版本 Pyrefly 取代。 - 🌎 [pyrefly](pyrefly.org/) — 一个用于 Python 的快速、增量式类型检查器和语言服务器,提供代码导航、语义高亮和代码补全等 IDE 功能。 -  15312⭐   1779🍴 [pyright](https://github.com/Microsoft/pyright)) — Python 静态类型检查器,旨在解决 mypy 等现有工具的不足。 -    232⭐     23🍴 [pyroma](https://github.com/regebro/pyroma)) — 评估 Python 项目符合 Python 打包生态系统最佳实践的程度,并列出可以改进的问题。 - 🌎 [Pysa](pyre-check.org/docs/pysa-basics.html) — 一个基于 Facebook 的 pyre-check 的工具,用于通过污点分析识别 Python 代码中的潜在安全问题。 - **PyT - Python Taint** :warning: — 用于检测 Python Web 应用程序中安全漏洞的静态分析工具。 - 🌎 [pytype](google.github.io/pytype) — Python 代码的静态类型分析器。 - 🌎 [pyupgrade](pypi.org/project/pyupgrade-docs/) — 一个用于自动将语法升级到新版本语言的工具(和 pre-commit 钩子)。 - **QuantifiedCode** :warning: — 自动化代码审查和修复。它帮助您跟踪软件项目中的问题和指标,并且可以轻松扩展以支持新类型的分析。 - **radon** :warning: — 一个从源代码计算各种指标的 Python 工具。 -   2530⭐     56🍴 [refurb](https://github.com/dosisod/refurb)) — 一个用于翻新和现代化 Python 代码库的工具。Refurb 深受 Rust 内置 linter clippy 的启发。 - 🌎 [ruff](astral.sh/ruff) — 快速的 Python linter,用 Rust 编写。比现有 linter 快 10-100 倍。兼容 Python 3.10。支持文件监视器。 - 🌎 [Safety](safetycli.com/) — Python 依赖项漏洞扫描器,旨在通过检测已知漏洞的包来增强软件供应链安全。根据已知安全漏洞数据库检查 Python 依赖项,并提供详细报告。支持 CI/CD 集成和多种输出格式。 - 🌎 [ty](docs.astral.sh/ty/) — 一个用 Rust 编写的极速 Python 类型检查器。 - 🌎 [unimport](unimport.hakancelik.dev) — 一个用于查找和删除未使用导入语句的 linter 和格式化工具。 -   4376⭐    179🍴 [vulture](https://github.com/jendrikseipp/vulture)) — 查找 Python 代码中未使用的类、函数和变量。 - 🌎 [wemake-python-styleguide](wemake-python-styleguide.rtfd.io/) — 有史以来最严格、最有主见的 python linter。 -   1273⭐     64🍴 [wily](https://github.com/tonybaloney/wily)) — 一个用于归档、探索和绘制 Python 源代码复杂度的命令行工具。 - **xenon** :warning: — 使用   1947⭐    134🍴 [`radon`](https://github.com/rubik/radon)) 监控代码复杂度。 - **yapf** :warning: — Google 创建的 Python 文件格式化工具 YAPF 遵循一种独特的方法,源于 Daniel Jasper 创建的 'clang-format' 工具。本质上,该程序将代码重新格式化为符合风格指南的最合适格式,即使原始代码已经遵循了风格指南。这个概念类似于 Go 语言的 'gofmt' 工具,旨在通过对项目的整个代码库在更改时通过 YAPF,从而在整个项目中保持一致的风格,从而结束关于格式的争论,并且在每次代码审查中无需再争论风格。

R

-     93⭐     16🍴 [CodeDepends](https://github.com/duncantl/CodeDepends)) — R 的静态代码分析。 -     48⭐      4🍴 [cyclocomp](https://github.com/MangoTheCat/cyclocomp)) — 量化 R 函数/表达式的圈复杂度。 -     87⭐     10🍴 [flowR](https://github.com/flowr-analysis/flowr)) — 针对 🌎 [R](www.r-project.org/) 编程语言的      ?⭐      ?🍴 [程序切片器](https://github.com/flowr-analysis/flowr/wiki/Terminology#program-slice)) 和 🌎 [数据流分析器](en.wikipedia.org/wiki/Data-flow_analysis)。其切片器允许您将复杂的程序简化为仅与特定任务相关的部分(例如,生成单个或一组图表、显著性测试等)。数据流分析为您提供了 R 代码语义的详细视图,可以极大地改善其他分析。要使用 _flowR_,请查看 🌎 [Visual Studio Code 扩展](marketplace.visualstudio.com/items?itemName=code-inspect.vscode-flowr)、     5⭐      0🍴 [RStudio Addin](https://github.com/flowr-analysis/rstudio-addin-flowr))、🌎 [Docker 镜像](hub.docker.com/r/eagleoutice/flowr) 或      3⭐      0🍴 [R 包](https://github.com/flowr-analysis/flowr-r-adapter))。 - 🌎 [goodpractice](docs.ropensci.org/goodpractice/) — 分析 R 包的源代码并提供最佳实践建议。 -   1269⭐    197🍴 [lintr](https://github.com/jimhester/lintr)) — R 的静态代码分析。 -      ?⭐      ?🍴 [R Language Server](https://github.com/REditorSupport/languageserver/)) — 为 R 提供代码补全、重构、折叠、诊断(使用 lintr)等功能。 - 🌎 [rco](jcrodriguez1989.github.io/rco/) — R 代码的性能优化器(带 GUI)。 - 🌎 [styler](styler.r-lib.org) — R 源代码文件的格式化和 R 代码的漂亮打印。

Rego

-    365⭐     52🍴 [Regal](https://github.com/styrainc/regal)) — Regal 是策略语言 Rego 的 linter。Regal 旨在捕获策略代码中的错误和失误,同时帮助人们学习该语言、最佳实践和惯用结构。

Ruby

-   1909⭐     64🍴 [Active Record Doctor](https://github.com/gregnavis/active_record_doctor)) — 在数据库问题投入生产之前识别它们。 - 🌎 [brakeman](brakemanscanner.org) — Ruby on Rails 应用程序的静态分析安全漏洞扫描器。 -   7307⭐    452🍴 [Bullet](https://github.com/flyerhzm/bullet)) — 帮助消灭 N+1 查询和未使用的预加载。 -   2740⭐    243🍴 [bundler-audit](https://github.com/rubysec/bundler-audit)) — 审计 Gemfile.lock 中是否存在   1054⭐    228🍴 [Ruby Advisory Database](https://github.com/rubysec/ruby-advisory-db)) 中报告的安全漏洞 gems。 - **cane** :warning: — 作为构建一部分的代码质量阈值检查。 - **Churn** :warning: — 一个项目,用于给出给定签入的项目改动文件、类和方法。随着时间的推移,该工具累积改动历史,以给出文件、类或方法在项目生命周期中更改的次数。 -   1169⭐     58🍴 [DatabaseConsistency](https://github.com/djezzzl/database_consistency)) — 避免因数据库模式与应用程序模型之间的不一致和低效而导致的各种问题的工具。 -    748⭐     84🍴 [dawnscanner](https://github.com/thesp0nge/dawnscanner)) — Ruby 编写的 Web 应用程序的静态分析安全扫描器。支持 Sinatra、Padrino 和 Ruby on Rails 框架。 -    742⭐    135🍴 [ERB Lint](https://github.com/Shopify/erb-lint)) — 检查您的 ERB 或 HTML 文件 -    194⭐     38🍴 [ERB::Formatter](https://github.com/nebulab/erb-formatter)) — 快速且精确地格式化 ERB 文件。 -   1820⭐     76🍴 [Fasterer](https://github.com/DamirSvrtan/fasterer)) — 常见的 Ruby 习惯用法检查器。 - 🌎 [flay](ruby.sadi.st/Flay.html) — Flay 分析代码的结构相似性。 - 🌎 [flog](ruby.sadi.st/Flog.html) — Flog 以易于阅读的痛苦报告形式报告最折磨人的代码。分数越高,代码越痛苦。 -     32⭐      7🍴 [Fukuzatsu](https://github.com/CoralineAda/fukuzatsu)) — 用于测量 Ruby 类文件中代码复杂度的工具。其分析基于圈复杂度算法生成评分,不添加任何“意见”。 -    371⭐     61🍴 [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier)) — HTML 的标准化/美化器,也理解嵌入式 Ruby。非常适合整理 Rails 模板。 - **laser** :warning: — Ruby 代码的静态分析和风格 linter。 - **MetricFu** :warning: — MetricFu 是一组工具,用于提供报告显示代码的哪些部分可能需要额外的工作。 -    436⭐     17🍴 [pelusa](https://github.com/codegram/pelusa)) — 用于改进您的 OO Ruby 代码的静态分析 Lint 类型工具。 - **quality** :warning: — 使用社区工具对您的代码运行质量检查,并确保您的数字随着时间的推移不会变差。 - **Querly** :warning: — Ruby 的基于模式的检查工具。 - **Railroader** :warning: — Ruby on Rails 应用程序的开源静态分析安全漏洞扫描器。 - 🌎 [rails_best_practices](rails-bestpractices.com) — Rails 项目的代码度量工具 -   4125⭐    282🍴 [reek](https://github.com/troessner/reek)) — Ruby 的代码异味检测器。 -    277⭐     39🍴 [Roodi](https://github.com/roodi/roodi)) — Roodi 代表 Ruby 面向对象设计推断器。它解析您的 Ruby 代码,并根据其配置的检查警告您有关的设计问题。 - 🌎 [RuboCop](docs.rubocop.org/rubocop) — 基于 Ruby 社区风格指南的 Ruby 静态代码分析器。 -    644⭐     29🍴 [Rubrowser](https://github.com/blazeeboy/rubrowser)) — Ruby 类交互式依赖图生成器。 - **ruby-lint** :warning: — Ruby 的静态代码分析。 -   3474⭐    230🍴 [rubycritic](https://github.com/whitesmith/rubycritic)) — Ruby 代码质量报告器。 -    933⭐     58🍴 [rufo](https://github.com/ruby-formatter/rufo)) — 一个有主见的 ruby 格式化工具,旨在通过命令行作为文本编辑器插件使用,以便在保存时或按需自动格式化文件。 - **Saikuro** :warning: — Ruby 圈复杂度分析器。 - **SandiMeter** :warning: — 用于检查 Ruby 代码是否符合 Sandi Metz 规则的静态分析工具。 -    543⭐     33🍴 [Skunk](https://github.com/fastruby/skunk)) — Ruby 代码的 SkunkScore 计算器 —— 找到没有测试覆盖的最复杂代码! - 🌎 [Sorbet](sorbet.org) — 为 Ruby 设计的快速、强大的类型检查器。 -   2889⭐    230🍴 [Standard Ruby](https://github.com/testdouble/standard)) — Ruby 风格指南,带有 linter 和自动代码修复器 -   1478⭐    111🍴 [Steep](https://github.com/soutaro/steep)) — Ruby 的渐进式类型。 -    903⭐     38🍴 [Traceroute](https://github.com/amatsuda/traceroute)) — 一个 Rake 任务 gem,帮助您查找 Rails 3+ 应用程序的未使用路由和控制器操作。

Rust

- 🌎 [C2Rust](c2rust.com) — C2Rust 帮助您将符合 C99 标准的代码迁移到 Rust。转换器(或转译器)生成的 unsafe Rust 代码与输入的 C 代码紧密镜像。 -   2084⭐     50🍴 [cargo udeps](https://github.com/est31/cargo-udeps)) — 查找 Cargo.toml 中未使用的依赖项。它要么打印出一个“未使用的 crates”行列出这些 crates,要么打印出一行说明没有未使用的 crates。 - 🌎 [cargo-audit](rustsec.org) — 审计 Cargo.lock 中是否存在报告给      ?⭐      ?🍴 [RustSec Advisory Database](https://github.com/RustSec/advisory-db/)) 的安全漏洞 crates。 - **cargo-bloat** :warning: — 找出可执行文件中占用大部分空间的内容。支持 ELF(Linux、BSD)、Mach-O(macOS)和 PE(Windows)二进制文件。 -    111⭐      6🍴 [cargo-breaking](https://github.com/iomentum/cargo-breaking)) — cargo-breaking 比较两个不同分支之间 crate 的公共 API,显示更改了什么,并根据 semver 建议下一个版本。 -    650⭐     54🍴 [cargo-call-stack](https://github.com/japaric/cargo-call-stack)) — 全程序静态栈分析。该工具将程序的完整调用图生成为 dot 文件。 - 🌎 [cargo-deny](embarkstudios.github.io/cargo-deny) — 用于检查依赖项的 cargo 插件。它可以用作命令行工具、Rust crate 或 Github action CI。它检查有效的许可证信息、重复的 crates、安全漏洞等。 -   3048⭐     75🍴 [cargo-expand](https://github.com/dtolnay/cargo-expand)) — Cargo 子命令,用于显示应用于当前 crate 的宏扩展和 #[derive] 扩展的结果。这是一个更详细的编译器命令的包装器。 -   1567⭐     76🍴 [cargo-geiger](https://github.com/geiger-rs/cargo-geiger)) — 用于分析 unsafe Rust 代码使用的 cargo 插件。提供统计输出以帮助安全审计 - **cargo-inspect** :warning: — 检查没有语法糖的 Rust 代码,看看编译器在幕后做了什么。 - 🌎 [cargo-semver-checks](crates.io/crates/cargo-semver-checks) — 扫描您的 Rust crate 版本是否存在 semver 违规。它可以直接通过 CLI 使用,作为 CI 中的 GitHub Action,或通过 release-plz 等发布管理器使用。它在 crates.io 上 🌎 [排名前 1000 的下载量最多的 crates 中,有超过 1/6 发现了 semver 违规](predr.ag/blog/semver-violations-are-common-better-tooling-is-the-answer/)。 -    929⭐     46🍴 [cargo-show-asm](https://github.com/pacak/cargo-show-asm)) — 显示 Rust 代码生成的汇编、LLVM-IR 和 MIR 的 cargo 子命令 -    359⭐     37🍴 [cargo-spellcheck](https://github.com/drahnr/cargo-spellcheck)) — 使用 hunspell(已就绪)和 languagetool(预览版)检查您所有文档中的拼写和语法错误 - **cargo-unused-features** :warning: — 查找潜在未使用的已启用特性标志并修剪它们。您可以从 json 生成简单的 HTML 报告,以便更容易检查结果。 它会移除依赖项的一个特性,然后编译项目以查看它是否仍然编译。如果是,则该特性标志可能可以被移除,但也可能是误报。 - 🌎 [clippy](rust-lang.github.io/rust-clippy) — 一个代码 linter,用于捕获常见错误并改进您的 Rust 代码。 - 🌎 [diff.rs](diff.rs) — 用于渲染 Rust crate 版本之间差异的 Web 应用程序(WASM)。 - 🌎 [dylint](www.trailofbits.com/post/write-rust-lints-without-forking-clippy) — 用于从动态库运行 Rust lints 的工具。Dylint 使开发者易于维护自己的个人 lint 集合。 - **electrolysis** :warning: — 通过将 Rust 程序转译为 Lean 定理证明器中的定义来正式验证 Rust 程序的工具。 - **herbie** :warning: — 在使用数值不稳定的浮点表达式时向您的 crate 添加警告或错误。 -   2982⭐    142🍴 [kani](https://github.com/model-checking/kani)) — Kani Rust 验证器是 Rust 的位精确模型检查器。 Kani 对于验证 Rust 中的 unsafe 代码块特别有用, 因为编译器不会检查“unsafe 超能力”。 Kani 验证: * 内存安全(例如,空指针解引用) * 用户指定的断言(即 assert!(...)) * 没有 panics(例如,对 None 值进行 unwrap()) * 不存在某些类型的意外行为(例如,算术溢出) - **linter-rust** :warning: — 在 Atom 中使用 rustc 和 cargo 对您的 Rust 文件进行 Lint。 -    588⭐     39🍴 [lockbud](https://github.com/BurtonQin/lockbud)) — 静态检测 Rust 死锁错误。它目前检测两种常见的死锁错误:双重锁定和冲突顺序锁定。它将以 JSON 格式打印错误以及源代码位置和每个错误的解释。 - **MIRAI** :warning: — 在 Rust 的中级中间语言上运行的抽象解释器,并基于污点分析提供警告。 - **prae** :warning: — 提供一个方便的宏,允许您生成承诺始终遵守您指定的任意不变量的类型包装器。 - **Prusti** :warning: — Rust 的静态验证器,基于 Viper 验证基础设施。默认情况下,Prusti 通过证明 unreachable!() 和 panic!() 等语句不可达来验证没有 panics。 - **Rudra** :warning: — Rust 内存安全和未定义行为检测。它能够分析单个 Rust 包以及 crates.io 上的所有包。 - **Rust Language Server** :warning: — 支持“转到定义”、符号搜索、重新格式化和代码补全等功能,并启用重命名和重构。 - 🌎 [rust-analyzer](rust-analyzer.github.io) — 支持“转到定义”、类型推断、符号搜索、重新格式化和代码补全等功能,并启用重命名和重构。 -    811⭐     37🍴 [rust-audit](https://github.com/Shnatsel/rust-audit)) — 审计 Rust 二进制文件是否存在已知错误或安全漏洞。这是通过将有关依赖树(Cargo.lock)的数据以 JSON 格式嵌入到编译可执行文件的专用链接器部分来实现的。 -    853⭐     59🍴 [rustfix](https://github.com/rust-lang/rustfix)) — 读取并应用 rustc(以及第三方 lints,如 clippy 提供的)提出的建议。 -   6774⭐    996🍴 [rustfmt](https://github.com/rust-lang/rustfmt)) — 根据风格指南格式化 Rust 代码的工具。 -   2825⭐     79🍴 [RustViz](https://github.com/rustviz/rustviz)) — RustViz 是一个从简单的 Rust 程序生成可视化的工具,以帮助用户更好地理解 Rust 的生命周期和借用机制。它生成带有图形指示器的 SVG 文件,这些指示器与 mdbook 集成以渲染 Rust 程序中的数据流可视化。 - 🌎 [TangleGuard](tangleguard.com/) :copyright: — 帮助您理解和维护可扩展的软件架构。为此,它从源代码生成一个交互式、嵌套的依赖图。您可以选择详细程度并获取对您重要的代码库部分。 **warnalyzer** :warning: — 显示多 crate Rust 项目中未使用的代码

SQL

-    179⭐      2🍴 [dbcritic](https://github.com/channable/dbcritic)) — dbcritic 查找数据库模式中的问题,例如表中缺少主键约束。 - 🌎 [holistic](holistic.dev/) — 超过 1,300 条规则来分析 SQL 查询。获取 SQL 模式定义和查询源代码以生成改进建议。检测代码异味、未使用的索引、未使用的表、视图、物化视图等。 -    130⭐      8🍴 [pgspot](https://github.com/timescale/pgspot)) — 发现 postgres 扩展脚本中的漏洞。查找 PostgreSQL 扩展脚本或任何其他 PostgreSQL SQL 代码中不安全的 search_path 使用和不安全的对象创建。 -    274⭐     22🍴 [sleek](https://github.com/nrempel/sleek)) — Sleek 是一个用于格式化 SQL 的 CLI 工具。它帮助您在 SQL 代码中保持一致的风格,提高可读性和生产力。繁重的工作由 sqlformat crate 完成。 - **sqlcheck** :warning: — 自动识别 SQL 查询中的反模式。 - 🌎 [SQLFluff](www.sqlfluff.com/) — 多种方言 SQL linter 和格式化工具。 -    437⭐     26🍴 [sqlint](https://github.com/purcell/sqlint)) — 简单的 SQL linter。 - 🌎 [squawk](squawkhq.com) — PostgreSQL 的 Linter,专注于迁移。防止数据库迁移导致的意外停机,并鼓励围绕 Postgres 模式和 SQL 的最佳实践。 - **tsqllint** :warning: — T-SQL 专用 linter。 - **TSqlRules** :warning: — 用于 SQL Server 的 TSQL 静态代码分析规则。 - 🌎 [Visual Expert](www.visual-expert.com) :copyright: — 针对 PowerBuilder、Oracle 和 SQL Server 的代码分析。探索、分析和记录代码

Scala

- **linter** :warning: — Linter 是一个 Scala 静态分析编译器插件,它为各种可能的错误、低效率和样式问题添加编译时检查。 - [Scalastyle](http://www.scalastyle.org) — Scalastyle 检查您的 Scala 代码并指出潜在问题。 -    554⭐     96🍴 [scapegoat](https://github.com/sksamuel/scapegoat)) — 用于静态代码分析的 Scala 编译器插件。 - 🌎 [WartRemover](www.wartremover.org) — 灵活的 Scala 代码 linting 工具。

Shell

-    394⭐     22🍴 [bashate](https://github.com/openstack/bashate)) — bash 程序的代码风格强制执行。输出格式旨在遵循 pycodestyle (pep8) 默认输出格式。 - **i-Code CNES for Shell** :warning: — 一个针对 Shell 和 Fortran(77 和 90)的开源静态代码分析工具。 -     19⭐      0🍴 [kmdr](https://github.com/ediardo/kmdr-cli)) — 用于从您的终端学习命令的 CLI 工具。kmdr 提供命令的分解,并解释每个属性。 - 🌎 [sh](pkg.go.dev/mvdan.cc/sh/v3) — 一个 Shell 解析器、格式化程序和解释器,支持 bash;包括 shfmt - 🌎 [shellcheck](www.shellcheck.net) — ShellCheck,一个静态分析工具,为 bash/sh shell 脚本提供警告和建议。 -   4759⭐    134🍴 [shellharden](https://github.com/anordal/shellharden)) — 一个语法高亮器和一个半自动化重写脚本以符合 ShellCheck 的工具,主要专注于引用。

Swift

-   8731⭐    684🍴 [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)) — 用于重新格式化 Swift 代码的库和命令行格式化工具。 - 🌎 [SwiftLint](realm.github.io/SwiftLint) — 强制执行 Swift 风格和约定的工具。 - **Tailor** :warning: — 用于用 Apple Swift 编程语言编写的源代码的静态分析和 lint 工具。

Tcl

- [Frink](http://catless.ncl.ac.uk/Programs/Frink) — 一个 Tcl 格式化和静态检查程序(可以美化程序、最小化、混淆或只是健全性检查)。 - 🌎 [Nagelfar](sourceforge.net/projects/nagelfar) — Tcl 的静态语法检查器。 -     81⭐     37🍴 [tclchecker](https://github.com/ActiveState/tdk/blob/master/docs/3.0/TDK_3.0_Checker.txt)) — 一个静态语法分析模块(作为     81⭐     37🍴 [TDK](https://github.com/ActiveState/tdk)) 的一部分)。

TypeScript

-   1778⭐    260🍴 [Angular ESLint](https://github.com/angular-eslint/angular-eslint#readme)) — Angular 项目的 Linter - **Codelyzer** :warning: — 一组用于 Angular 2 TypeScript 项目静态代码分析的 tslint 规则。 -     15⭐      6🍴 [ENRE-ts](https://github.com/xjtu-enre/ENRE-ts)) — ENRE(实体关系提取器)是一个从源代码提取代码实体依赖或关系的工具。ENRE-ts 是基于 @babel/parser 的 ECMAScript 和 TypeScript 实体关系提取器。 - 🌎 [fta](ftaproject.dev/) — 基于 Rust 的 TypeScript 项目静态分析 - **stc** :warning: — 用 Rust 编写的快速 TypeScript 类型检查器 - **tslint** :warning: — TSLint 自 2019 年起已被弃用。有关更多详细信息,请参阅      ?⭐      ?🍴 [此 issue](https://github.com/palantir/tslint/issues/4534))。`typescript-eslint` 现在是 linting TypeScript 的最佳选择。 TSLint 是一个可扩展的静态分析工具,用于检查 TypeScript 代码的可读性、可维护性和功能性错误。它在现代编辑器和构建系统中得到广泛支持,可以使用您自己的 lint 规则、配置和格式化程序进行自定义。 - 🌎 [tslint-clean-code](www.npmjs.com/package/tslint-clean-code) — 受《Clean Code》手册启发的一组 TSLint 规则。 - **tslint-microsoft-contrib** :warning: — 由 Microsoft 维护的用于 TypeScript 项目静态代码分析的一组 tslint 规则。 -    284⭐     23🍴 [TypeScript Call Graph](https://github.com/whyboris/TypeScript-Call-Graph)) — 从您的 TypeScript 文件生成函数和调用的交互式图表的 CLI -  16153⭐   2888🍴 [TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint)) — eslint 的 TypeScript 语言扩展。 - 🌎 [zod](zod.dev) — 具有静态类型推断的 TypeScript 优先模式验证。目标是消除重复的类型声明。使用 Zod,您只需声明一个验证器,Zod 将自动推断静态 TypeScript 类型。将较简单的类型组合成复杂的数据结构很容易。

Verilog/SystemVerilog

- **Icarus Verilog** :warning: — 一个 Verilog 仿真和综合工具,通过将 IEEE-1364 Verilog 编写的源代码编译成某种目标格式来运行 -    564⭐     32🍴 [svls](https://github.com/dalance/svls)) — Verilog 和 SystemVerilog 的 Language Server Protocol 实现,包括 lint 功能。 - **verible-linter-action** :warning: — 在 github actions 中借助 Verible 进行自动 SystemVerilog linting。用于 lint Verilog 和 SystemVerilog 源文件,并在 Pull Requests 中自动注释错误的代码行。 - 🌎 [Verilator](www.veripool.org/verilator) — 一个将 Verilog 转换为 C++ 或 SystemC 中的周期精确行为模型的工具。执行 lint 代码质量检查。 -    356⭐     83🍴 [vscode-verilog-hdl-support](https://github.com/mshr-h/vscode-verilog-hdl-support)) — VS Code 的 Verilog HDL/SystemVerilog/Bluespec SystemVerilog 支持。提供来自 Icarus Verilog、Vivado Logical Simulation、Modelsim 和 Verilator 的语法高亮和 Linting 支持

Vim Script

- **vint** :warning: — 由 Python 实现的快速且高度可扩展的 Vim 脚本语言 Lint。

WebAssembly

-   1428⭐     74🍴 [Twiggy](https://github.com/rustwasm/twiggy)) — 分析二进制文件的调用图以分析代码大小。目标是减小 wasm 二进制大小。 -     70⭐      0🍴 [wasm-language-tools](https://github.com/g-plane/wasm-language-tools)) — WebAssembly Language Tools 旨在提供和改进 WebAssembly Text Format 的编辑体验。它还为 WebAssembly Text Format 提供了一个开箱即用的格式化程序(也就是 pretty printer)。 ## 多种语言 -  13978⭐   1481🍴 [ale](https://github.com/w0rp/ale)) — Vim 和 NeoVim 的异步 Lint 引擎,支持多种语言。 - 🌎 [Android Studio](developer.android.com/studio) — 基于 IntelliJ IDEA,并捆绑了 Android 工具,包括 Android Lint。 - 🌎 [AppChecker](npo-echelon.ru/en/solutions/appchecker.php) :copyright: — C/C++/C#、PHP 和 Java 的静态分析。 - 🌎 [Application Inspector](www.ptsecurity.com/ww-en/products/ai) :copyright: — 商业静态代码分析,生成 exploits 以验证漏洞。 -   4387⭐    366🍴 [ApplicationInspector](https://github.com/microsoft/ApplicationInspector)) — 创建超过 400 种规则模式的报告,用于特征检测(例如应用程序中加密或版本控制的使用)。 - 🌎 [ArchUnit](www.archunit.org) — 单元测试您的 Java 或 Kotlin 架构。 - 🌎 [ast-grep](ast-grep.github.io/) — ast-grep 是一个功能强大的工具,旨在使用抽象语法树(AST)大规模管理代码。可以把它看作是 grep、eslint 和 codemod 的混合体,能够根据结构而不是纯文本搜索、lint 和重写代码。 它支持多种语言,并且设计为可扩展的,允许您注册自定义语言。 - **Atom-Beautify** :warning: — 在 Atom 编辑中美化 HTML、CSS、JavaScript、PHP、Python、Ruby、Java、C、C++、C#、Objective-C、CoffeeScript、TypeScript、Coldfusion、SQL 等。 - 🌎 [autocorrect](huacnlee.github.io/autocorrect) — 一个 linter 和格式化工具,帮助您改进文案,纠正 CJK(中文、日文、韩文)之间的空格、单词、标点符号。 - 🌎 [Axivion Bauhaus Suite](www.axivion.com/en/products-services-9#products_bauhaussuite) :copyright: — 追踪 C/C++、C#/.NET、Java 和 Ada 83/Ada 95 中易出错的代码位置、样式违规、克隆或死代码、循环依赖等。 -   2593⭐    145🍴 [Bearer](https://github.com/bearer/bearer)) — 开源静态代码分析工具,用于发现、过滤和优先处理导致敏感数据泄露(PII、PHI、PD)的安全风险和漏洞。高度可配置且易于扩展,专为安全性和工程团队构建。 - 🌎 [Better Code Hub](bettercodehub.com) :copyright: — Better Code Hub 根据软件质量权威机构 Software Improvement Group 设计的 10 条工程准则检查您的 GitHub 代码库。 - **Betterscan CE** :warning: — 检查您的代码和基础设施(支持各种 Git 存储库、云堆栈、CLI、Web 界面平台、可用集成)是否存在安全和质量问题。使用许多工具/扫描器进行代码扫描/SAST/Linting,去重后生成一份报告(可选 AI)。 - 🌎 [biome](biomejs.dev) — Web 项目的工具链,旨在提供维护它们的功能。Biome 在几分之一秒内格式化和 lint 代码。它是 Rome 的继承者。它旨在最终取代 Babel、ESLint、webpack、Prettier、Jest 等。 -     24⭐      0🍴 [BlockWatch](https://github.com/mennanov/blockwatch)) — 一个语言无关的 linter,保持代码、文档和配置同步,并强制执行严格的格式化和验证规则。 - **BugProve** :warning: :copyright: — BugProve 是一个固件分析平台,采用静态和动态分析技术来发现内存损坏、命令注入和其他类别的常见弱点或二进制代码。它还检测易受攻击的依赖项、弱加密参数、配置错误等。 -    327⭐     33🍴 [callGraph](https://github.com/koknat/callGraph)) — 静态生成调用图图像并在屏幕上显示。 - 🌎 [CAST Highlight](www.castsoftware.com/products/highlight) :copyright: — 商业静态代码分析,在本地运行,但将结果上传到其云进行展示。 - 🌎 [Checkmarx CxSAST](www.checkmarx.com/products/static-application-security-testing) :copyright: — 不需要预编译的商业静态代码分析。 -   2967⭐    301🍴 [ClassGraph](https://github.com/classgraph/classgraph)) — 用于查询或可视化类元数据或类相关性的类路径和模块路径扫描器。 - 🌎 [Clayton](www.getclayton.com/) :copyright: — Salesforce 的 AI 驱动代码审查。保护您的开发,强制执行最佳实践并实时控制您的技术债务。 - **coala** :warning: — 用于创建代码分析的语言无关框架 —— 默认支持超过 60 种语言。 - 🌎 [Cobra](spinroot.com/cobra) :copyright: — NASA 喷气推进实验室的结构源代码分析器。 - 🌎 [Codacy](www.codacy.com) :copyright: — 代码分析,以交付更好的代码,更快。 - 🌎 [Code Intelligence](www.code-intelligence.com) :copyright: — CI/CD 无关的 DevSecOps 平台,结合行业领先的模糊测试引擎来查找错误并可视化代码覆盖率 - 🌎 [Codeac](www.codeac.io/?ref=awesome-static-analysis) :copyright: — 自动化代码审查工具,集成了 GitHub、Bitbucket 和 GitLab(甚至自托管)。适用于 JavaScript、TypeScript、Python、Ruby、Go、PHP、Java、Docker 等。(开源免费) - 🌎 [codeburner](groupon.github.io/codeburner) — 提供统一的界面来分类和处理它发现的问题。 - 🌎 [codechecker](codechecker.readthedocs.io/en/latest) — Clang Static Analyzer 的缺陷数据库和查看器扩展,带有 Web GUI。 - 🌎 [CodeFactor](codefactor.io) :copyright: — GitHub 或 BitBucket 上存储库的自动化代码分析。 - 🌎 [CodeFlow](www.getcodeflow.com) :copyright: — 处理技术深度的自动化代码分析工具。与 Bitbucket 和 Gitlab 集成。(对开源项目免费) - 🌎 [Codemodder](codemodder.io/) — Codemodder 是一个用于构建表达性 codemods 的可插拔框架。当您需要的不仅仅是 linter 或代码格式化工具时,请使用 Codemodder。用它来修复非平凡的安全问题和其他代码质量问题。 -   9329⭐   1930🍴 [codeql](https://github.com/github/codeql)) — 深度代码分析 —— 多种语言的语义查询和数据流,支持 VSCode 插件。 - 🌎 [CodeQue](codeque.co) — 用于结构化匹配 JavaScript 和 TypeScript 代码的生态系统。提供理解代码结构的搜索工具。可用作 CLI 工具和 Visual Studio Code 扩展。它有助于更快、更准确地搜索代码,使您的工作流程更有效。很快它将提供 ESLint 插件,以便在几分钟内创建您自己的规则,以帮助确保代码库质量。 - 🌎 [CodeRush](www.devexpress.com/products/coderush) :copyright: — 在 Visual Studio 2015 及更高版本中使用 Roslyn 引擎的代码创建、调试、导航、重构、分析和可视化工具。 - 🌎 [CodeScan](www.codescan.io/) :copyright: — Salesforce 开发人员的代码质量和安全性。专为 Salesforce 平台打造,CodeScan 的代码分析解决方案为您提供对代码健康状况的全面了解。 - 🌎 [CodeScene](codescene.com) :copyright: — CodeScene 是一个软件质量可视化工具。优先处理技术债务,检测交付风险,并衡量组织方面。完全自动化。 - 🌎 [CodeSee](www.codesee.io/) :copyright: — CodeSee 正在映射和自动化您的应用程序的服务、目录、文件依赖项和代码更改。这就像代码的 Google Map。 - 🌎 [CodeSonar from GrammaTech](codesecure.com/our-products/codesonar/) :copyright: — C、C++、Java 和 C# 的高级、全程序、深度路径静态分析,具有易于理解的解释以及代码和路径可视化。 - 🌎 [Codety](www.codety.io) :copyright: — Codety Scanner 是一个综合源代码扫描器,嵌入了 5000 多条静态代码分析规则,旨在检测 20 多种编程语言和 IaC 工具的代码问题。 - 🌎 [Codiga](www.codiga.io) :copyright: — 支持 12 种以上语言的自动化代码审查和技术债务管理平台。 - 🌎 [Corgea](corgea.com/) :copyright: — Corgea 是一个 AI 驱动的 SAST 扫描器,可帮助开发人员查找和修复不安全的代码。它以极低的误报率发现业务逻辑缺陷、损坏的身份验证、API 漏洞等。此外,它会自动编写安全修复程序供他们批准。Corgea 与 GitHub、GitLab、Azure DevOps、IDE 和 CLI 集成。可以免费试用。 - **Corrode** :warning: — 从 C 到 Rust 的半自动翻译。可以通过显示 Rust 编译器警告和错误来揭示原始实现中的错误。已被 C2Rust 取代。 - 🌎 [Coverity](www.synopsys.com/software-integrity/security-testing/static-analysis-sast.html) :copyright: — Synopsys Coverity 支持 20 种语言和 70 多个框架,包括 Ruby on rails、Scala、PHP、Python、JavaScript、TypeScript、Java、Fortran、C、C++、C#、VB.NET。 - 🌎 [cpp-linter-action](cpp-linter.github.io/cpp-linter-action/) — 用于 lint C/C++ 代码的 Github Action,集成 clang-tidy 和 clang-format 以收集以线程注释和/或注解形式提供的反馈。 - **cqc** :warning: — 检查 js、jsx、vue、css、less、scss、sass 和 styl 文件的代码质量。 - **DeepCode** :warning: :copyright: — DeepCode 被 Snyk 收购,现在是 Snyk Code。 - 🌎 [DeepSource](deepsource.com) :copyright: — 深度静态分析,以在错误风险、安全性、反模式、性能、文档和样式方面发现问题。与 GitHub、GitLab 和 Bitbucket 原生集成。误报率低于 5%。 - 🌎 [deleaker](www.deleaker.com/) :copyright: — Deleaker 是一个用于 C++、.NET 和 Delphi 的内存泄漏检测工具,与 Visual Studio、Qt Creator 和 RAD Studio 集成或作为独立应用程序运行。它帮助开发人员高效地查找和修复内存、GDI 和句柄泄漏。 -    247⭐     61🍴 [Depends](https://github.com/multilang-depends/depends)) — 分析 Java、C/C++、Ruby 的代码元素的综合依赖关系。 - 🌎 [DerScanner](derscanner.com/) :copyright: — 多语言静态应用程序安全测试(SAST)平台,可检测关键漏洞,包括硬编码机密、弱加密、后门、SQL 注入、不安全配置等。 -    976⭐    123🍴 [DevSkim](https://github.com/microsoft/devskim)) — 用于 Visual Studio、VS Code 和 Sublime Text 的基于正则表达式的静态分析工具 —— C/C++、C#、PHP、ASP、Python、Ruby、Java 等。 -   1946⭐    171🍴 [dotnet-format](https://github.com/dotnet/format)) — .NET 的代码格式化程序。首选项将从 `.editorconfig` 文件(如果存在)中读取,否则将使用一组默认首选项。此时 dotnet-format 能够使用受支持的 `.editorconfig` 选项的子集格式化 C# 和 Visual Basic 项目。 - 🌎 [Embold](embold.io) :copyright: — 智能软件分析平台,可识别设计问题、代码问题、重复和指标。支持 Java、C、C++、C#、JavaScript、TypeScript、Python、Go、Kotlin 等。 - **emerge** :warning: — Emerge 是一个源代码和依赖项可视化工具,可用于收集有关软件项目的源代码结构、指标、依赖项和复杂性的见解。扫描项目的源代码后,它为您提供一个交互式 Web 界面,以使用图形结构探索和分析您的项目。 - 🌎 [Enforster AI](enforster.ai/) :copyright: — Enforster AI 执行上下文代码安全 SAST,利用 LLM 和人工智能减少和丰富对逻辑缺陷、机密、数据泄露、供应链和技术漏洞的检测。 -  27202⭐   4940🍴 [ESLint](https://github.com/eslint/eslint)) — 用于 JS 的可扩展 linter,遵循 ECMAScript 标准。 - 🌎 [ezno](kaleidawave.github.io/posts/introducing-ezno/) — 一个用 Rust 编写的 JavaScript 编译器和 TypeScript 检查器,专注于静态分析和运行时性能。Ezno 的类型检查器是从头开始构建的。该检查器完全兼容 TypeScript 类型注释,甚至可以在没有任何类型注释的情况下工作。 - 🌎 [Find Security Bugs](find-sec-bugs.github.io) — 用于 Java Web 应用程序和 Android 应用程序安全审计的 SpotBugs 插件。(也适用于 Kotlin、Groovy 和 Scala 项目) - 🌎 [Fortify](www.microfocus.com/en-us/cyberres/application-security/static-code-analyzer) :copyright: — 一个商业静态分析平台,支持扫描 C/C++、C#、VB.NET、VB6、ABAP/BSP、ActionScript、Apex、ASP.NET、Classic ASP、VB Script、Cobol、ColdFusion、HTML、Java、JS、JSP、MXML/Flex、Objective-C、PHP、PL/SQL、T-SQL、Python(2.6、2.7)、Ruby(19.3)、Swift、Scala、VB 和 XML。 - 🌎 [Freeplane Code Explorer](docs.freeplane.org/user-documentation/Code_Explorer.html) — Freeplane 中的 Code Explorer 模式旨在分析编译为 JVM 类文件的代码的结构和依赖项。它还允许直接在 Freeplane 中显示 ArchUnit 测试结果,如果 Freeplane 正在运行并且 ArchUnit 在测试期间检测到规则违规。 - 🌎 [Goodcheck](sider.github.io/goodcheck) — 基于正则表达式的可自定义 linter。 - **goone** :warning: — 在 go 代码中查找 N+1 查询(for 循环中的 SQL 调用) - [graudit](http://www.justanotherhacker.com) — Grep rough audit —— 源代码审计工具。 - 🌎 [HCL AppScan Source](www.hcltechsw.com/products/appscan) :copyright: — 商业静态代码分析。 - **Hopper** :warning: — 用 scala 编写的静态分析工具,用于在 JVM 上运行的语言。 - 🌎 [Hound CI](houndci.com) — 在 GitHub pull requests 中评论样式违规。支持 Coffeescript、Go、HAML、JavaScript、Ruby、SCSS 和 Swift。 - **imhotep** :warning: — 评论进入您的存储库的提交,并检查语法错误和一般 lint 警告。 - **include-gardener** :warning: — 用于 C/C++/Obj-C/Python/Ruby 的多语言静态分析器,用于创建一个图(以 dot 或 graphml 格式),显示给定文件集的所有 `#include` 关系。 - 🌎 [Infer](fbinfer.com) — 用于 Java、C 和 Objective-C 的静态分析器 - 🌎 [Joern](joern.io) — Joern 是一个用于分析源代码、字节码和二进制可执行文件的平台。它生成代码属性图(CPG),这是一种用于跨语言代码分析的代码图形表示。代码属性图存储在自定义图数据库中。这允许使用基于 Scala 的领域特定查询语言制定的搜索查询来挖掘代码。Joern 的开发目标是为静态程序分析中的漏洞发现和研究提供一个有用的工具。 - 🌎 [keploy](keploy.io/) — Keploy 是一个开源测试平台,帮助开发人员自动化和简化他们的测试流程。它提供 API 和集成测试代理,生成实际上有效的 API 测试、模拟/存根。此外,Keploy 提供了一个 AI 驱动的单元测试代理,可直接在您的 GitHub PR 和 VSCode 中生成稳定、有用的单元测试,帮助捕获错误并提高代码质量。 - 🌎 [Kiuwan](www.kiuwan.com/code-security-sast) :copyright: — 在极快、协作的环境中识别和补救网络威胁,与您的 SDLC 无缝集成。Python、C\C++、Java、C#、PHP 等。 - 🌎 [Klocwork](www.perforce.com/products/klocwork) :copyright: — C/C++、Java 和 C# 的质量和安全静态分析。 -      ?⭐      ?🍴 [LangLint](https://github.com/HzaCode/Langlint)) — 用于跨 20 多种文件类型的代码注释和文档字符串的自动化翻译平台。消除国际软件协作中的语言障碍。支持 100 多种语言对,具有语法保护。集成到 CI/CD 管道中,如 Ruff。通过并发处理快 10-20 倍。 - 🌎 [LGTM](lgtm.com/) :copyright: — 使用 CodeQL 查询源代码查找安全漏洞、变体和关键代码质量问题。自动 PR 代码审查;对开源免费。前身为 semmle。它支持 Bitbucket Cloud、GitHub.com、GitLab.com 上托管的公共 Git 存储库。 -   2289⭐    289🍴 [lizard](https://github.com/terryyin/lizard)) — Lizard 是一个用于多种编程语言的可扩展圈复杂度分析器,包括 C/C++(不需要所有头文件或 Java 导入)。它还进行复制粘贴检测(代码克隆检测/代码重复检测)和许多其他形式的静态代码分析。计算不带注释的代码行数、CCN(圈复杂度数)、函数的标记计数、函数的参数计数。 - 🌎 [Mega-Linter](megalinter.io/) — Mega-Linter 可以处理任何类型的项目,这得益于其 70 多个嵌入式 Linters, 其高级报告,可在任何 CI 系统上或本地运行, 具有辅助安装和配置,能够应用格式化和修复 - 🌎 [Mobb](mobb.ai) :copyright: — Mobb 是一个值得信赖的自动漏洞修复器,可保护应用程序,减少安全积压,并解放开发人员专注于创新。Mobb 对开源项目免费。 - 🌎 [MOPSA](mopsa.lip6.fr) — 一个静态分析器,旨在轻松地跨广泛不同的语言(如 C 和 Python)重用抽象域。 - 🌎 [Neurolint-CLI](neurolint.dev) — 使用 AST 解析和基于规则的转换的确定性代码转换工具。 自动修复 50 多个问题,包括可访问性违规、hydration 错误、 React 19/Next.js 16 迁移和配置更新。具有 5 步故障安全 编排以确保零破坏性更改。专为 React、Next.js 和 TypeScript 项目定制。 - [oclint](http://oclint.org) — 一个静态源代码分析工具,用于改进质量并减少 C、C++ 和 Objective-C 的缺陷。 - 🌎 [Offensive 360](offensive360.com/) :copyright: — 商业静态代码分析系统,不需要构建源代码或预编译。 - 🌎 [OpenRewrite](docs.openrewrite.org/) — OpenRewrite 🌎 [修复常见的静态分析问题](docs.openrewrite.org/running-recipes/popular-recipe-guides/common-static-analysis-issue-remediation),通过 Maven 和 Gradle 插件或 Moderne CLI 报告自 Sonar 和其他工具。 -     48⭐     19🍴 [OpenStaticAnalyzer](https://github.com/sed-inf-u-szeged/OpenStaticAnalyzer)) — OpenStaticAnalyzer 是一个源代码分析器工具,可以对复杂系统的源代码执行深度静态分析。 -  20039⭐    892🍴 [oxc](https://github.com/web-infra-dev/oxc)) — Oxidation Compiler 正在为 JavaScript / TypeScript 语言创建一套用 Rust 重写的高性能工具。 - 🌎 [parasoft](www.parasoft.com/) :copyright: — 用于单元、API 和 Web UI 测试的自动化软件测试解决方案。符合 MISRA、OWASP 等。 -      ?⭐      ?🍴 [pfff](https://github.com/facebookarchive/pfff/wiki/Main)) — Facebook 的代码分析、可视化或多种语言的保留样式源转换工具。 - 🌎 [Pixee](pixee.ai) :copyright: — Pixeebot 在您的代码中查找安全和代码质量问题,并创建带有建议修复的即可合并的 pull requests。 - 🌎 [PMD](pmd.github.io) — Java、Salesforce Apex、Javascript、PLSQL、XML、XSL 等的源代码分析器。 - 🌎 [pre-commit](pre-commit.com) — 用于管理和维护多语言 pre-commit 钩子的框架。 - 🌎 [Precaution](www.securesauce.dev/) — Precaution 是一个静态分析安全工具(SAST),旨在在生产之前发现源代码中潜在的关键漏洞。它可用作 CLI、GitHub Action 和 GitHub App。 - 🌎 [Prettier](prettier.io) — 一个有主见的代码格式化程序。 -   2661⭐    249🍴 [Pronto](https://github.com/prontolabs/pronto)) — 快速自动代码审查您的更改。支持 40 多种各种语言的运行器,包括 Clang、Elixir、JavaScript、PHP、Ruby 等。 - **PT.PM** :warning: — 用于在源代码中搜索模式的引擎,基于 Unified AST 或 UST。目前支持 C#、Java、PHP、PL/SQL、T-SQL 和 JavaScript。可以在代码内或使用 DSL 描述模式。 -    782⭐     45🍴 [Putout](https://github.com/coderaiser/putout)) — 可插拔和可配置的代码转换器,内置 eslint、babel 插件支持 js、jsx typescript、flow、markdown、yaml 和 json。 - 🌎 [PVS-Studio](pvs-studio.com) :copyright: — 对 C、C++、C# 和 Java 代码的 🌎 [有条件免费](pvs-studio.com/en/order/open-source-license)(对 FOSS 和个人开发者)静态分析。出于广告目的     29⭐     40🍴 [您可以提议一个大型 FOSS 项目供 PVS 员工分析](https://github.com/viva64/pvs-studio-check-list))。支持 CWE 映射、OWASP ASVS、MISRA、AUTOSAR 和 SEI CERT 编码标准。 - 🌎 [pylama](klen.github.io/pylama/) — Python 和 JavaScript 的代码审计工具。包装 pycodestyle、pydocstyle、PyFlakes、Mccabe、Pylint 等 - 🌎 [Qwiet AI](qwiet.ai/) :copyright: — 在代码库独有的漏洞到达生产之前识别它们。利用代码属性图(CPG)在单个图中同时运行其分析。在开发中自动查找业务逻辑缺陷,如硬编码机密和逻辑炸弹 - 🌎 [Refactoring Essentials](marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.RefactoringEssentialsforVisualStudio) — 用于 C# 和 VB.NET 重构的免费 Visual Studio 2015 扩展,包括代码最佳实践分析器。 -     65⭐     12🍴 [relint](https://github.com/codingjoe/relint)) — 一个静态文件 linter,允许您使用正则表达式编写自定义规则。 - 🌎 [ReSharper](www.jetbrains.com/resharper) :copyright: — 使用针对 C#、VB.NET、ASP.NET、JavaScript、TypeScript 和其他技术的即时代码检查扩展 Visual Studio。 -    214⭐      5🍴 [Rev-dep](https://github.com/jayu/rev-dep)) — 现代JavaScript和TypeScript项目的依赖分析和优化工具包。跟踪导入,识别循环依赖,查找未使用的代码,清理 node modules。 - 🌎 [RIPS](www.ripstech.com) :copyright: — 用于 PHP 脚本漏洞的静态源代码分析器。 -   1670⭐    479🍴 [Roslyn Analyzers](https://github.com/dotnet/roslyn-analyzers)) — 基于 Roslyn 的 FxCop 分析器实现。 - 🌎 [Roslyn Security Guard](security-code-scan.github.io) — 专注于识别潜在漏洞的项目,例如 SQL 注入、跨站脚本(XSS)、CSRF、加密弱点、硬编码密码等。 - 🌎 [SafeQL](safeql.dev) — 验证并自动生成 PostgreSQL 中原始 SQL 查询的 TypeScript 类型。SafeQL 是一个用于以类型安全方式编写 SQL 查询的 ESLint 插件。 - 🌎 [SAST Online](sast.online/) :copyright: — 彻底检查 Android 源代码以发现和解决潜在的安全问题和漏洞。静态应用程序安全测试(静态代码分析)工具在线 - **Scrutinizer** :warning: :copyright: — 一个可以与 GitHub 集成的专有代码质量检查器。 - 🌎 [Security Code Scan](security-code-scan.github.io) — C# 和 VB.NET 的安全代码分析器。检测各种安全漏洞模式:SQLi、XSS、CSRF、XXE、开放重定向等。集成到 Visual Studio 2015 及更高版本中。检测各种安全漏洞模式:SQLi、XSS、CSRF、XXE、开放重定向等。 - 🌎 [Semgrep](semgrep.dev) — 一个快速、开源的静态分析工具,用于在编辑器、提交和 CI 时查找错误和强制执行代码标准。其规则看起来像您已经编写的代码;无需抽象语法树或正则表达式 wrestling。支持 17 种以上语言。 - 🌎 [Semgrep Supply Chain]() :copyright: — 快速查找和修复高优先级安全问题。Semgrep Supply Chain 优先处理可从您的代码访问的 2% 漏洞。 - 🌎 [Seqra](seqra.dev) — 针对 Java 和 Kotlin Web 应用程序的安全静态分析器。使用 Semgrep 风格的 YAML 规则和 CodeQL 级数据流(具有一流的 Spring 支持)分析字节码,以查找仅源扫描器会遗漏的漏洞。 - **ShiftLeft Scan** :warning: — Scan 是一个免费的开源 DevSecOps 平台,用于检测源代码和依赖项中的安全问题。它支持广泛的语言和 CI/CD 管道。注意:ShiftLeft 于 2023 年更名为 Qwiet AI,随后于 2025 年 9 月被 Harness 收购。此开源项目不再维护。 - **shipshape** :warning: — 静态程序分析平台,允许自定义分析器通过通用接口插入。 - 🌎 [Sigrid](www.softwareimprovementgroup.com/solutions/sigrid-software-assurance-platform/) :copyright: — Sigrid 通过测量系统的代码质量帮助您改进软件,然后将结果与数千个行业系统的基准进行比较,就在您可以改进的领域为您提供具体建议。 - 🌎 [Similarity Tester](dickgrune.com/Programs/similarity_tester/) — 一个查找文件之间或文件内部相似性的工具,以支持您遇到 DRY 原则违规。 -    335⭐     10🍴 [Skylos](https://github.com/duriantaco/skylos)) — 针对 Python、TypeScript 和 Go 的死代码检测、安全扫描、机密检测和代码质量分析。具有 98% 召回率的框架感知分析。包括 CI/CD GitHub Action、VS Code 扩展和用于 AI 代理集成的 MCP server。 - 🌎 [Snyk Code](snyk.io) :copyright: — Snyk Code 基于 AI 查找安全漏洞。其分析速度使我们能够实时分析您的代码,并在您点击 IDE 中的保存按钮时交付结果。支持的语言有 Java、JavaScript、Python、PHP、C#、Go 和 TypeScript。与 GitHub、BitBucket 和 Gitlab 集成。它可以免费试用,也是覆盖 SCA、容器和 IaC 的 Snyk 平台的一部分。 - 🌎 [SonarQube Cloud](sonarcloud.io) :copyright: — SonarQube Cloud 使您的团队能够通过代码审查工具持续且高效地交付干净代码,该工具可轻松集成到云 DevOps 平台并扩展您的 CI/CD 工作流。SonarQube Cloud 提供免费计划。 - 🌎 [SonarQube for IDE](sonarlint.org) — SonarQube for IDE(前身为 SonarLint)是一个免费的 IDE 扩展,适用于 IntelliJ、VS Code、Visual Studio 和 Eclipse,用于实时查找和修复编码问题,在您编码时标记问题,就像拼写检查器一样。不仅仅是 linter,它还提供丰富的上下文指导,以帮助开发人员了解为什么存在问题,评估风险,并教育他们如何修复它。 - 🌎 [SonarQube Server](sonarqube.org) — SonarQube 为开发团队提供代码质量和安全解决方案,深度集成到您的企业环境中;使您能够一致且可靠地部署干净代码。SonarQube 提供免费的开源 Community Build。 - 🌎 [Sonatype](www.sonatype.com) :copyright: — 报告常见依赖项中的已知漏洞,并建议更新包以最大限度地减少破坏性更改 - 🌎 [Soto Platform](www.hello2morrow.com/products/sotograph) :copyright: — 由三个组件组成的静态分析工具套件:Sotoarc(架构分析)、Sotograph(质量分析)和 Sotoreport(质量报告)。帮助查找架构与实现之间的差异、接口违规(例如子系统的私有部分的外部访问)、检测所有通过循环关系强耦合的类、文件、包和子系统等。Sotograph 产品系列在 Windows 和 Linux 上运行。 - 🌎 [SourceMeter](www.sourcemeter.com/) :copyright: — C/C++、Java、C#、Python 以及 RPG III 和 RPG IV 版本(包括自由格式)的静态代码分析。 -    497⭐     29🍴 [sqlvet](https://github.com/houqp/sqlvet)) — 对您的 Go 代码库中的原始 SQL 查询执行静态分析,以发现潜在的运行时错误。它检查 SQL 语法错误,识别可能导致 SQL 注入的不安全查询,确保 INSERT 语句中的列数与值计数 -     22⭐      4🍴 [alquitran](https://github.com/ferivoz/alquitran)) — 检查 tar 归档文件并尝试发现与 POSIX 2017 pax 规范及常见 tar 实现相关的可移植性问题。 本项目旨在供项目维护者使用,以便为尽可能多的系统提供可移植的源代码归档。在发布之前使用 alquitran 检查 tar 归档文件,应有助于在问题触及分发者和用户之前发现它们。 - **packj** :warning: — Packj(发音同 package)是一个命令行 (CLI) 工具,用于审查开源软件包中可能导致供应链攻击的“风险”属性。这是我们大规模安全分析平台 Packj.dev 背后的工具,该平台持续审查包并提供免费报告。 - **pure** :warning: — Pure 是一个静态分析文件格式检查器,用于检查 ZIP 文件是否存在危险压缩率、规格偏差、恶意归档签名、本地和中央目录头不匹配、模糊的 UTF-8 文件名、目录和符号链接遍历、无效的 MS-DOS 日期、重叠头、溢出、下溢、稀疏性、意外缓冲区溢出等问题。

Azure Resource Manager

- 🌎 [AzSK](azsk.azurewebsites.net/) — Azure 安全 DevOps 套件 提供安全 IntelliSense、安全验证测试、CICD 扫描漏洞、合规性问题以及基础设施即代码中的配置错误。通过 ARM 支持 Azure。

二进制文件

-   8548⭐   1153🍴 [angr](https://github.com/angr/angr)) — 二进制代码分析工具,也支持符号执行。 -    568⭐     60🍴 [binbloom](https://github.com/quarkslab/binbloom)) — 分析原始二进制固件并确定字节序或加载地址等特性。该工具兼容所有架构。 加载地址:binbloom 可以解析原始二进制固件并确定其加载地址。字节序:binbloom 可以使用启发式方法确定固件的字节序。UDS 数据库:binbloom 可以解析原始二进制固件并检查其是否包含含有 UDS 命令 ID 的数组。 -    839⭐    166🍴 [BinSkim](https://github.com/Microsoft/binskim)) — 一种二进制静态分析工具,为 Windows 可移植可执行文件提供安全性和正确性结果。 - 🌎 [Black Duck](www.blackducksoftware.com) :copyright: — 用于分析源代码和二进制文件以查找可复用代码、必要许可证和潜在安全方面的工具。 -   5398⭐    372🍴 [bloaty](https://github.com/google/bloaty)) — 曾经想知道是什么让你的二进制文件变大了吗?Bloaty McBloatface 将向你展示二进制文件的大小配置文件,以便你了解其中占用了空间的内容。Bloaty 对二进制文件执行深度分析。使用自定义的 ELF、DWARF 和 Mach-O 解析器,Bloaty 旨在准确地将二进制文件的每个字节归因于生成它的符号或编译单元。它甚至会对二进制文件进行反汇编,寻找对匿名数据的引用。F - **cargo-bloat** :warning: — 找出你的可执行文件中占用空间最大的部分。支持 ELF (Linux, BSD)、Mach-O (macOS) 和 PE (Windows) 二进制文件。 -   1326⭐    142🍴 [cwe_checker](https://github.com/fkie-cad/cwe_checker)) — cwe_checker 在二进制可执行文件中查找易受攻击的模式。 - 🌎 [Ghidra](ghidra-sre.org) — 由 NSA 研究局开发的软件逆向工程 (SRE) 工具套件,旨在支持网络安全任务 - 🌎 [Hopper](www.hopperapp.com/) :copyright: — macOS 和 Linux 逆向工程工具,可让你反汇编、反编译和调试应用程序。Hopper 使用不同的表示形式显示代码,例如控制流图 和过程的伪代码。支持 Apple Silicon。 - 🌎 [IDA Free](www.hex-rays.com/products/ida/support/download_freeware) :copyright: — 二进制代码分析工具。 -    163⭐     24🍴 [Jakstab](https://github.com/jkinder/jakstab)) — Jakstab 是一个基于抽象解释的集成反汇编和静态分析框架,用于设计可执行文件分析并恢复可靠的控制流图。 - 🌎 [JEB Decompiler](www.pnfsoftware.com/) :copyright: — 反编译和调试二进制代码。分解和分析文档文件。Android Dalvik、MIPS、ARM、Intel x86、Java、WebAssembly 和 Ethereum 反编译器。 - 🌎 [Malcat](malcat.fr/) :copyright: — 用于恶意软件分析和二进制文件检查的十六进制编辑器和反汇编器。支持 50 多种文件格式和多种 CPU 架构(x86/x64、MIPS、.NET、Python、VB p-code)。具有快速分析、嵌入文件提取、Yara 签名扫描、异常检测和 Python 脚本编写功能。专为恶意软件分析师、SOC 操作员、事件响应者和 CTF 选手设计。 -   1110⭐    164🍴 [Manalyze](https://github.com/JusticeRage/Manalyze)) — 一个静态分析器,用于检查可移植可执行文件中的恶意内容。 - **mcsema** :warning: — 将 x86、amd64、aarch64、sparc32 和 sparc64 程序二进制文件提升为 LLVM bitcode 的框架。它将可执行二进制文件从本机机器代码转换(“提升”)为 LLVM bitcode,这对于执行程序分析方法非常有用。 -    569⭐     82🍴 [Nauz File Detector](https://github.com/horsicq/Nauz-File-Detector)) — 用于 Windows、Linux 和 MacOS 的静态链接器/编译器/工具检测器。 - 🌎 [rhabdomancer](crates.io/crates/rhabdomancer) — IDA Pro 无头插件,用于在二进制文件中定位对潜在不安全 API 函数的调用。 -    811⭐     37🍴 [rust-audit](https://github.com/Shnatsel/rust-audit)) — 审计 Rust 二进制文件中的已知错误或安全漏洞。其工作原理是将有关依赖树 的数据以 JSON 格式嵌入到编译后的可执行文件的专用链接器部分中。 -   1428⭐     74🍴 [Twiggy](https://github.com/rustwasm/twiggy)) — 分析二进制文件的调用图以分析代码大小。目标是减小 wasm 二进制文件的大小。 -    391⭐     43🍴 [VMware chap](https://github.com/vmware/chap)) — chap 分析未经检测的 ELF 核心文件以查找泄漏、内存增长和损坏。它足够可靠,可以在自动化中使用,以便在提交泄漏之前捕获它们。作为一种交互式工具,它有助于解释内存增长,可以识别某些形式的损坏,并通过提供各种内存位置的状态来补充调试器。 - 🌎 [zydis](zydis.re) — 快速且轻量的 x86/x86-64 反汇编器库

构建工具

-   1178⭐     51🍴 [checkmake](https://github.com/mrtazz/checkmake)) — Makefile 的 Linter/分析器。 - 🌎 [portlint](www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports) — FreeBSD 和 DragonFlyBSD 端口目录的验证器。

CSS/SASS/SCSS

- 🌎 [CSS Stats](cssstats.com) — 关于样式表的潜在有趣统计信息。 -   3326⭐    451🍴 [CSScomb](https://github.com/csscomb/csscomb.js)) — CSS 的编码风格格式化程序。支持自定义配置以使样式表美观且一致。 - [CSSLint](http://csslint.net) — 进行基本的语法检查并发现有问题的模式或效率低下的迹象。 - 🌎 [GraphMyCSS.com](graphmycss.com) — CSS 特异性图生成器。 - 🌎 [Nu Html Checker](validator.github.io/validator/) — 帮助你发现 HTML/CSS/SVG 中的问题 - **Parker** :warning: — 样式表分析工具。 - 🌎 [PostCSS](postcss.org) — 一个使用 JS 插件转换样式的工具。这些插件可以检查 (lint) 你的 CSS,支持变量和 mixins,转译未来的 CSS 语法,内联图像等。 - 🌎 [Project Wallace CSS Analyzer](www.projectwallace.com) — CSS 分析工具,属于 🌎 [Project Wallace](www.projectwallace.com) 的一部分。 - **sass-lint** :warning: — 适用于 sass 和 scss 语法的纯 Node Sass linter。 - **scsslint** :warning: — SCSS 文件的 Linter。 -    701⭐     34🍴 [Specificity Graph](https://github.com/pocketjoso/specificity-graph)) — CSS 特异性图生成器。 - [Stylelint](http://stylelint.io) — SCSS/CSS 文件的 Linter。

配置文件

- 🌎 [dotenv-linter](dotenv-linter.readthedocs.io/en/latest) — 像魔法一样检查 dotenv 文件。 - 🌎 [dotenv-linter (Rust)](dotenv-linter.github.io/#/) — 用于 .env 文件的超快 linter。用 Rust 编写 -   8550⭐    447🍴 [gixy](https://github.com/yandex/gixy)) — 分析 Nginx 配置的工具。主要目标是防止配置错误并自动检测缺陷。

配置管理

- 🌎 [ansible-lint](ansible.readthedocs.io/projects/lint/) — 检查剧本中可能被改进的做法和行为。 -   1369⭐    195🍴 [AWS CloudFormation Guard](https://github.com/aws-cloudformation/cloudformation-guard)) — 根据策略即代码规则检查本地 CloudFormation 模板,并从现有模板生成规则。 - 🌎 [AzSK](azsk.azurewebsites.net/) — Azure 安全 DevOps 套件 提供安全 IntelliSense、安全验证测试、CICD 扫描漏洞、合规性问题以及基础设施即代码中的配置错误。通过 ARM 支持 Azure。 -   2609⭐    624🍴 [cfn-lint](https://github.com/awslabs/cfn-python-lint)) — AWS Labs CloudFormation linter。 -   1305⭐    208🍴 [cfn_nag](https://github.com/stelligent/cfn_nag)) — AWS CloudFormation 模板的 linter。 - 🌎 [checkov](www.checkov.io) — Terraform 文件 (tf>=v0.12) 的静态分析工具,在构建时防止云配置错误。 - 🌎 [cookstyle](docs.chef.io/cookstyle.html) — Cookstyle 是一个基于 RuboCop Ruby linting 工具的 Chef cookbook linting 工具。 - [foodcritic](http://www.foodcritic.io) — 检查 Chef cookbook 中常见问题的 lint 工具。 - 🌎 [kics](kics.io/) — 在基础设施即代码中发现安全漏洞合规性问题和基础设施配置错误。支持 Terraform、Kubernetes、Docker、AWS CloudFormation 和 Ansible -     31⭐     27🍴 [metadata-json-lint](https://github.com/voxpupuli/metadata-json-lint)) — 检查 Puppet metadata.json 文件有效性的工具。 - **Puppet Lint** :warning: — 检查你的 Puppet 清单是否符合风格指南。 - 🌎 [Steampunk Spotter](steampunk.si/spotter/) :copyright: — Ansible Playbook 扫描工具,用于分析你的 playbook 并提供建议。 - 🌎 [terraform-compliance](terraform-compliance.com) — 一个针对 Terraform 的轻量级、专注于合规性和安全的 BDD 测试框架。 -      2⭐      0🍴 [terrascan](https://github.com/cesar-rodriguez/terrascan)) — 用于 Terraform 模板静态代码分析的安全性和最佳实践测试集合。 -      0⭐      0🍴 [tflint](https://github.com/wata727/tflint)) — 用于检测 `terraform plan` 无法检测到的错误的 Terraform linter。 -   6965⭐    554🍴 [tfsec](https://github.com/tfsec/tfsec)) — Terraform 静态分析工具,通过在构建时检查云配置错误来防止潜在的安全问题,并直接与 HCL 解析器集成以获得更好的结果。检查是否违反 AWS、Azure 和 GCP 安全最佳实践建议。

容器

- 🌎 [anchore](anchore.io) — 发现、分析和认证容器镜像。一种分析 Docker 镜像并应用用户定义的接受策略以允许自动容器镜像验证和认证的服务 -  10942⭐   1195🍴 [clair](https://github.com/coreos/clair)) — 容器漏洞静态分析。 - 🌎 [Code Pathfinder](codepathfinder.dev) — 一个开源安全套件,旨在将结构化代码分析与 AI 驱动的漏洞检测相结合。专为高级结构化搜索而构建,用于获取洞察、发现代码中的漏洞。 - **collector** :warning: — 在容器内运行任意脚本并收集有用的信息。 - **dagda** :warning: — 对 docker 镜像/容器中的已知漏洞执行静态分析。 - **Docker Label Inspector** :warning: — 检查和验证 Dockerfile 标签。 - **Dockle** :warning: — 面向安全的容器镜像 Linter,帮助构建最佳实践的 Docker 镜像。扫描 Docker 镜像以查找安全漏洞和 CIS 基准合规性。检查机密、凭据暴露和安全最佳实践。提供多种严重性级别(FATAL、WARN、INFO),并支持多种 CI/CD 集成的输出格式。 - 🌎 [GitGuardian ggshield](www.gitguardian.com/ggshield) — ggshield 是一个 CLI 应用程序,可在你的本地环境或 CI 环境中运行,帮助你检测 350 多种类型的机密,以及影响代码库的其他潜在安全漏洞或策略违规。 -  11736⭐    753🍴 [Grype](https://github.com/anchore/grype)) — 容器镜像和文件系统的漏洞扫描程序。由 Anchore 开发,它扫描容器镜像、目录和存档以查找已知漏洞。支持多种镜像格式、SBOM 集成和 VEX(漏洞可利用性交换),以进行准确的漏洞评估。适用于各种漏洞数据库并提供详细报告。 -  12002⭐    488🍴 [Haskell Dockerfile Linter](https://github.com/lukasmartinelli/hadolint)) — 更智能的 Dockerfile linter,可帮助你构建最佳实践的 Docker 镜像。 - 🌎 [kics](kics.io/) — 在基础设施即代码中发现安全漏洞、合规性问题和基础设施配置错误。支持 Terraform、Kubernetes、Docker、AWS CloudFormation 和 Ansible -    738⭐     34🍴 [krane](https://github.com/appvia/krane)) — Krane 是一个简单的 Kubernetes RBAC 静态分析工具。 它识别 K8s RBAC 设计中的潜在安全风险并提出缓解建议。Krane 仪表板显示当前的 RBAC 安全态势,并允许你浏览其定义。 - 🌎 [OpenSCAP](www.open-scap.org/) — 自动化审计工具套件,用于根据 NIST 认证的安全内容自动化协议 (SCAP) 检查配置和已知漏洞。 - 🌎 [Qualys Container Security](www.qualys.com/apps/container-security) :copyright: — 容器原生应用保护,提供容器化应用的可见性和控制。 - 🌎 [sysdig](sysdig.com/) :copyright: — 用于云和容器取证的安全 DevOps 平台。基于开源堆栈构建,Sysdig 提供 Docker 镜像扫描并创建了 Falco,这是容器、Kubernetes 和云的运行时威胁检测开放标准。 - 🌎 [Vuls](vuls.io/) — 基于 NVD、OVAL 等信息的无代理 Linux 漏洞扫描程序。它具有一些容器镜像支持,尽管不是一个容器专用工具。

持续集成

- 🌎 [actionlint](rhysd.github.io/actionlint) — GitHub Actions 工作流文件的静态检查器。提供在线版本。 - 🌎 [AzSK](azsk.azurewebsites.net/) — Azure 安全 DevOps 套件 提供安全 IntelliSense、安全验证测试、CICD 扫描漏洞、合规性问题以及基础设施即代码中的配置错误。通过 ARM 支持 Azure。 - 🌎 [Code Climate](codeclimate.com) — 开放且可扩展的静态分析平台,面向所有人。 - 🌎 [Code Pathfinder](codepathfinder.dev) — 一个开源安全套件,旨在将结构化代码分析与 AI 驱动的漏洞检测相结合。专为高级结构化搜索而构建,用于获取洞察、发现代码中的漏洞。 - 🌎 [Codecov](about.codecov.io/) :copyright: — Codecov 是一家为开发人员和工程负责人提供代码覆盖率工具的公司,以便让他们了解其代码覆盖率。 它们提供灵活统一的报告、无缝的覆盖率洞察和强大的覆盖率控制。Codecov 支持 20 多种语言,且与 CI/CD 无关。超过 29,000 个组织和 100 万开发人员使用 Codecov。Codecov 最近加入了 Sentry。 - 🌎 [CodeRabbit](coderabbit.ai) :copyright: — AI 驱动的代码审查工具,可帮助开发人员更快地编写更好的代码。CodeRabbit 提供自动代码审查,识别安全漏洞并提出代码改进建议。它与 GitHub 和 GitLab 集成。 -    602⭐     13🍴 [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser)) — 快速检测 composer 依赖项问题。 * 💪 强大:检测未使用、影子 (shadow) 和错位的 composer 依赖项 * ⚡ 高性能:在 2 秒内扫描 15 000 个文件! * ⚙️ 可配置:通过 PHP 配置进行细粒度忽略 * 🕸️ 轻量:无 composer 依赖项 * 🍰 易用:首次尝试无需配置 * ✨ 兼容:PHP >= 7.2 - 🌎 [Diffblue](www.diffblue.com/) :copyright: — Diffblue 是一家软件公司,为软件开发团队提供 AI 驱动的代码分析和测试解决方案。 其技术帮助开发人员自动化测试、发现错误并减少软件开发过程中的手动劳动。该公司的旗舰产品 Diffblue Cover 使用 AI 生成并运行 Java 代码的单元测试,帮助捕获错误并提高代码质量。 - 🌎 [exakat](www.exakat.io) — PHP 的自动代码审查引擎。 - 🌎 [GitGuardian ggshield](www.gitguardian.com/ggshield) — ggshield 是一个 CLI 应用程序,可在你的本地环境或 CI 环境中运行,帮助你检测 350 多种类型的机密,以及影响代码库的其他潜在安全漏洞或策略违规。 - 🌎 [Goblint](goblint.in.tum.de) — 用于分析多线程 C 程序的静态分析器。其主要重点是检测数据竞争,但它也会报告其他运行时错误,例如缓冲区溢出和空指针取消引用。 - 🌎 [PullRequest](www.hackerone.com/product/code) :copyright: — 具有内置静态分析的代码审查即服务。通过由一流自动化支持的专业工程师进行高质量代码审查,提高速度并减少技术债务。 - **quality** :warning: — 使用社区工具对你的代码运行质量检查,并确保你的数值不会随着时间的推移而变差。 - **QuantifiedCode** :warning: — 自动化代码审查和修复。它帮助你跟踪软件项目中的问题和指标,并且可以轻松扩展以支持新类型的分析。 -    521⭐     44🍴 [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)) — 识别 Java 代码库中的上帝类和高度耦合类,并确定你应优先重构哪些类。 -   9148⭐    479🍴 [Reviewdog](https://github.com/haya14busa/reviewdog)) — 一种用于在任何代码托管服务中发布来自任何 linter 的审查评论的工具。 - 🌎 [Symfony Insight](insight.symfony.com/) :copyright: — 检测安全风险、查找错误并为 PHP 项目提供可操作的指标。 - 🌎 [TangleGuard](tangleguard.com/) :copyright: — 帮助你理解和维护可扩展的软件架构。为此,它从源代码生成一个交互式的、嵌套的依赖关系图。你可以选择详细程度并获取代码库中对你重要的部分。 -    155⭐     42🍴 [Violations Lib](https://github.com/tomasbjerre/violations-lib)) — 用于解析静态代码分析报告文件的 Java 库。被一堆 Jenkins、Maven 和 Gradle 插件使用。

Deno

-   1581⭐    181🍴 [deno_lint](https://github.com/denoland/deno_lint)) — Deno 的官方 linter。

Dockerfile

- 🌎 [Cloud (IaC) Security for JetBrains IDEs](plugins.jetbrains.com/plugin/25413-cloud-iac-security) — 适用于 JetBrains IDE 的 Cloud (IaC) Security 插件。基于 Docker 镜像/构建安全最佳实践、Kubernetes Pod 安全标准以及 NSA/CISA Kubernetes 加固指南,通过 50 多条规则对 Docker 和 Kubernetes IaC 执行实时检查。 - 🌎 [Code Pathfinder](codepathfinder.dev) — 一个开源安全套件,旨在将结构化代码分析与 AI 驱动的漏洞检测相结合。专为高级结构化搜索而构建,用于获取洞察、发现代码中的漏洞。 - **Dockle** :warning: — 面向安全的容器镜像 Linter,帮助构建最佳实践的 Docker 镜像。扫描 Docker 镜像以查找安全漏洞和 CIS 基准合规性。检查机密、凭据暴露和安全最佳实践。提供多种严重性级别(FATAL、WARN、INFO),并支持多种 CI/CD 集成的输出格式。

嵌入式

-     77⭐     36🍴 [oelint-adv](https://github.com/priv-kweihmann/oelint-adv)) — 用于 open-embedded 和 YOCTO 中使用的 bitbake 配方的 Linter

嵌入式 Ruby (又名 ERB, eRuby)

-    742⭐    135🍴 [ERB Lint](https://github.com/Shopify/erb-lint)) — 检查你的 ERB 或 HTML 文件 -    194⭐
    38🍴 [ERB::Formatter](https://github.com/nebulab/erb-formatter)) — 快速且精确地格式化 ERB 文件。 -    371⭐     61🍴 [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier)) — HTML 的规范化/美化器,也能理解嵌入式 Ruby。非常适合整理 Rails 模板。

Gherkin

-    194⭐     74🍴 [gherkin-lint](https://github.com/vsiakka/gherkin-lint)) — 用 Javascript 编写的 Gherkin 语法 Linter。

HTML

-   1778⭐    260🍴 [Angular ESLint](https://github.com/angular-eslint/angular-eslint#readme)) — Angular 项目的 Linter - **Bootlint** :warning: — Bootstrap 项目的 HTML linter。 -    742⭐    135🍴 [ERB Lint](https://github.com/Shopify/erb-lint)) — 检查你的 ERB 或 HTML 文件 -    194⭐     38🍴 [ERB::Formatter](https://github.com/nebulab/erb-formatter)) — 快速且精确地格式化 ERB 文件。 - **grunt-bootlint** :warning: —   2389⭐    309🍴 [Bootlint](https://github.com/twbs/bootlint)) 的 Grunt 包装器,这是 Bootstrap 项目的 HTML linter。 - **gulp-bootlint** :warning: —   2389⭐    309🍴 [Bootlint](https://github.com/twbs/bootlint)) 的 gulp 包装器,这是 Bootstrap 项目的 HTML linter。 - **HTML Inspector** :warning: — HTML Inspector 是一款代码质量工具,可帮助你及你的团队编写更好的标记。 - [HTML Tidy](http://www.html-tidy.org) — 通过修复标记错误和将遗留代码升级到现代标准来纠正和清理 HTML 和 XML 文档。 - 🌎 [HTML-Validate](html-validate.org/) — 离线 HTML5 验证器。 -    371⭐     61🍴 [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier)) — HTML 的规范化/美化器,也能理解嵌入式 Ruby。非常适合整理 Rails 模板。 - 🌎 [HTMLHint](htmlhint.com) — HTML 静态代码分析工具。 - 🌎 [Nu Html Checker](validator.github.io/validator/) — 帮助你发现 HTML/CSS/SVG 中的问题 -    436⭐    200🍴 [Polymer-analyzer](https://github.com/Polymer/tools/tree/master/packages/analyzer)) — Web Components 的静态分析框架。

JSON

- 🌎 [jsonlint](jsonlint.com/) — 带有 CLI 的 JSON 解析器和验证器。jsonlint.com 的独立版本 - 🌎 [Spectral](stoplight.io/open-source/spectral) — 灵活的 JSON/YAML linter,开箱即支持 OpenAPI v2/v3 和 AsyncAPI v2。

Kubernetes

-   1617⭐    247🍴 [chart-testing](https://github.com/helm/chart-testing)) — ct 是用于测试 Helm chart 的工具。它旨在用于检查和测试拉取请求。它会自动检测针对目标分支更改的 chart。 - 🌎 [Cloud (IaC) Security for JetBrains IDEs](plugins.jetbrains.com/plugin/25413-cloud-iac-security) — 适用于 JetBrains IDE 的 Cloud (IaC) Security 插件。基于 Docker 镜像/构建安全最佳实践、Kubernetes Pod 安全标准以及 NSA/CISA Kubernetes 加固指南,通过 50 多条规则对 Docker 和 Kubernetes IaC 执行实时检查。 -    586⭐     46🍴 [clusterlint](https://github.com/digitalocean/clusterlint)) — Clusterlint 查询实时 Kubernetes 集群以获取资源,针对这些资源执行通用和平台特定的检查,并向集群操作员提供可操作的反馈。它是一种在外部运行的非侵入式工具。Clusterlint 不会更改资源配置。 - 🌎 [Datree](datree.io/) — 一个 CLI 工具,通过确保清单和 Helm chart 遵循最佳实践以及你的组织策略来防止 Kubernetes 配置错误 - 🌎 [kics](kics.io/) — 在基础设施即代码中发现安全漏洞、合规性问题和基础设施配置错误。支持 Terraform、Kubernetes、Docker、AWS CloudFormation 和 Ansible -     42⭐     10🍴 [klint](https://github.com/uswitch/klint)) — 一种监听 Kubernetes 资源更改并对其运行 linting 规则的工具。识别和调试错误对象,并随着时间推移将对象调整至符合策略。Klint 帮助我们编码检查并在团队需要采取行动时主动发出警报。 -    738⭐     34🍴 [krane](https://github.com/appvia/krane)) — Krane 是一个简单的 Kubernetes RBAC 静态分析工具。 它识别 K8s RBAC 设计中的潜在安全风险并提出缓解建议。Krane 仪表板显示当前的 RBAC 安全态势,并允许你浏览其定义。 - **kube-hunter** :warning: — 在 Kubernetes 集群中搜寻安全弱点。 -    156⭐     11🍴 [kube-lint](https://github.com/viglesiasce/kube-lint)) — 具有可自定义规则集的 Kubernetes 资源 linter。你定义要针对资源进行验证的规则列表,kube-lint 将根据这些规则对其进行评估。 -   3414⭐    259🍴 [kube-linter](https://github.com/stackrox/kube-linter)) — KubeLinter 是一个静态分析工具,用于检查 Kubernetes YAML 文件和 Helm chart,以确保其中表示的应用程序符合最佳实践。 - 🌎 [kube-score](kube-score.com) — Kubernetes 对象定义的静态代码分析。 -   2962⭐    162🍴 [kubeconform](https://github.com/yannh/kubeconform)) — 具有自定义资源支持的快速 Kubernetes 清单验证器。 它受 🌎 [Kubeval](analysis-tools.dev/tool/kubeval) 启发,包含其代码并旨在保持与其接近, 但具有以下改进: * 高性能:将通过多个例程验证和下载清单,并在内存中缓存下载的文件 * 可配置的远程或本地模式位置列表,从而能够验证 Kubernetes 自定义资源 和离线验证能力 * 默认使用由 kubernetes-json-schema 项目维护的模式注册表的自更新分支 - 这保证了所有最新版本 Kubernetes 的最新模式。 -   3414⭐    259🍴 [KubeLinter](https://github.com/stackrox/kube-linter)) — KubeLinter 是一个静态分析工具,用于检查 Kubernetes YAML 文件和 Helm chart,以确保其中表示的应用程序符合最佳实践。 - **kubeval** :warning: — 验证你的 Kubernetes 配置文件并支持多个 Kubernetes 版本。

LaTeX

- **ChkTeX** :warning: — LaTex 的 Linter,用于捕获 LaTeX 忽略的一些排版错误。 - 🌎 [lacheck](www.ctan.org/pkg/lacheck) — 用于查找 LaTeX 文档中常见错误的工具。 - 🌎 [TeXLab](texlab.netlify.app) — TeX/LaTeX 的语言服务器协议实现,包括 lint 功能。

Laravel

- **Enlightn** :warning: — Laravel 应用程序的静态和动态分析工具,提供改进 Laravel 应用程序性能、安全性和代码可靠性的建议。包含 120 项自动检查。 -   6335⭐    489🍴 [larastan](https://github.com/larastan/larastan)) — 为 Laravel 添加静态分析,提高开发人员的工作效率和代码质量。它是 PHPStan 的包装器。

Makefiles

-   1178⭐     51🍴 [checkmake](https://github.com/mrtazz/checkmake)) — Makefile 的 Linter/分析器。 - 🌎 [mbake](pypi.org/project/mbake/) — mbake 是一个 Makefile 格式化程序和 linter。它只用了 50 年! - 🌎 [portlint](www.freebsd.org/cgi/man.cgi?query=portlint&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports) — FreeBSD 和 DragonFlyBSD 端口目录的验证器。

Markdown

-   5929⭐    887🍴 [markdownlint](https://github.com/DavidAnson/markdownlint)) — 基于 Node.js 的 Markdown/CommonMark 文件风格检查器和 lint 工具。 - 🌎 [mdformat](mdformat.rtfd.io) — 符合 CommonMark 的 Markdown 格式化程序 -   2017⭐    239🍴 [mdl](https://github.com/mivok/markdownlint)) — 检查 Markdown 文件并标记风格问题的工具。 -     99⭐      3🍴 [mdsf](https://github.com/hougesen/mdsf)) — 使用你喜欢的代码格式化程序格式化 markdown 代码块。 - 🌎 [remark-lint](remark.js.org) — 用 JavaScript 编写的可插拔 Markdown 代码风格 linter。 - 🌎 [textlint](textlint.github.io/) — textlint 是一个用 JavaScript 编写的开源文本 linting 实用程序。

聚合 Linter

- **ciocheck** :warning: — Linter、格式化程序和测试套件助手。作为 linter,它是 `pep8`、`pydocstyle`、`flake8` 和 `pylint` 的包装器。 -   3771⭐    341🍴 [flake8](https://github.com/PyCQA/flake8)) — `pyflakes`、`pycodestyle` 和 `mccabe` 的包装器。 - 🌎 [flakeheaven](pypi.org/project/flakeheaven/) — flakeheaven 是一个围绕 flake8 构建的 python linter,用于启用可继承和复杂的 toml 配置。 - **Go Meta Linter** :warning: — 并发运行 Go lint 工具并规范化其输出。新项目请使用 `golangci-lint`。 -   3133⭐    265🍴 [goreporter](https://github.com/360EntSecGroup-Skylar/goreporter)) — 并发运行许多 linter 并将其输出规范化为报告。 - **multilint** :warning: — `flake8`、`isort` 和 `modernize` 的包装器。 -   3⭐    178🍴 [prospector](https://github.com/PyCQA/prospector)) — `pylint`、`pep8`、`mccabe` 等的包装器。

移动端

- 🌎 [Android Lint](developer.android.com/studio/write/lint) — 在 Android 项目上运行静态分析。 - **android-lint-summary** :warning: — 将多个项目的 lint 错误合并到一个输出中,一次检查多个子项目的 lint 结果。 -   1236⭐    318🍴 [FlowDroid](https://github.com/secure-software-engineering/FlowDroid)) — Android 应用程序的静态污点分析工具。 - **iblessing** :warning: — iblessing 是一个 iOS 安全利用工具包。它可用于逆向工程、二进制分析和漏洞挖掘。 - 🌎 [Mariana Trench](mariana-tren.ch/) — 我们专注于安全的 Android 和 Java 应用程序静态分析工具。Mariana Trench 分析 Dalvik 字节码,旨在大型代码库(数千万行代码)上快速运行。它可以在代码更改时发现漏洞,甚至在它进入你的存储库之前。 - 🌎 [Oversecured](oversecured.com) :copyright: — Android 和 iOS 应用程序的企业漏洞扫描程序。它允许应用程序所有者和开发人员通过将 Oversecured 集成到开发过程中来保护移动应用程序的每个新版本。 - **paprika** :warning: — 用于在分析的 Android 应用程序中检测某些代码异味的工具包。 - **qark** :warning: — 用于查找多个与安全相关的 Android 应用程序漏洞的工具。 - 🌎 [redex](fbredex.com) — Redex 提供了一个用于读取、写入和分析 .dex 文件的框架,以及一组使用此框架改进字节的优化过程。由 Redex 优化的 APK 应该更小更快。

Nix

-    732⭐     19🍴 [deadnix](https://github.com/astro/deadnix)) — 扫描 Nix 文件以查找死代码(未使用的变量绑定) -    847⭐     36🍴 [statix](https://github.com/nerdypepper/statix)) — Nix 编程语言的 Lint 和建议。“statix check”突出显示 Nix 代码中的反模式。“statix fix”可以修复此类情况。

Node.js

-    843⭐     36🍴 [lockfile-lint](https://github.com/lirantal/lockfile-lint)) — Lint npm 或 yarn lockfile 以分析和检测安全问题 - **njsscan** :warning: — 一种静态应用程序测试 (SAST) 工具,可以使用来自 libsast 的简单模式匹配器和语法感知的语义代码模式搜索工具 semgrep 在你的 node.js 应用程序中查找不安全的代码模式。 - **NodeJSScan** :warning: — 由 libsast 和 semgrep 支持的 Node.js 应用程序静态安全代码扫描程序,基于 njsscan cli 工具构建。它具有一个 UI,其中包含有关应用程序安全状态的各种仪表板。 - [standard](http://standardjs.com) — 一个检查 Javascript 风格指南问题的 npm 模块。

-    602⭐     13🍴 [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser)) — 快速检测 composer 依赖项问题。 * 💪 强大:检测未使用、影子 (shadow) 和错位的 composer 依赖项 * ⚡ 高性能:在 2 秒内扫描 15 000 个文件! * ⚙️ 可配置:通过 PHP 配置进行细粒度忽略 * 🕸️ 轻量:无 composer 依赖项 * 🍰 易用:首次尝试无需配置 * ✨ 兼容:PHP >= 7.2 - 🌎 [lintian](wiki.debian.org/Lintian) — Debian 软件包的静态分析工具。 -    162⭐    129🍴 [rpmlint](https://github.com/rpm-software-management/rpmlint)) — 用于检查 rpm 软件包中常见错误的工具。

Prometheus

-     38⭐     10🍴 [promformat](https://github.com/facetoe/promformat)) — Promformat 是一个用 Python 编写的 PromQL 格式化程序。 -      4⭐      7🍴 [promval](https://github.com/facetoe/promval)) — 用 Python 编写的 PromQL 验证器。它可用于验证 PromQL 表达式是否按预期编写。

Protocol Buffers

- 🌎 [buf](buf.build) — 提供强制执行良好 API 设计选择和结构的 CLI linter -    678⭐     58🍴 [protolint](https://github.com/yoheimuta/protolint)) — 可插拔的 linter 和修复程序,用于强制执行 Protocol Buffer 风格和约定。

Puppet

-     31⭐     27🍴 [metadata-json-lint](https://github.com/voxpupuli/metadata-json-lint)) — 检查 Puppet metadata.json 文件有效性的工具。

Rails

-   1909⭐     64🍴 [Active Record Doctor](https://github.com/gregnavis/active_record_doctor)) — 在数据库问题影响生产环境之前识别它们。 -   7307⭐    452🍴 [Bullet](https://github.com/flyerhzm/bullet)) — 帮助消灭 N+1 查询和未使用的预加载。 -   1169⭐     58🍴 [DatabaseConsistency](https://github.com/djezzzl/database_consistency)) — 用于避免数据库模式与应用程序模型之间的不一致和低效导致的各种问题的工具。 -    748⭐     84🍴 [dawnscanner](https://github.com/thesp0nge/dawnscanner)) — ruby 编写的 Web 应用程序的静态分析安全扫描程序。它支持 Sinatra、Padrino 和 Ruby on Rails 框架。 -    194⭐     38🍴 [ERB::Formatter](https://github.com/nebulab/erb-formatter)) — 快速且精确地格式化 ERB 文件。 -    543⭐     33🍴 [Skunk](https://github.com/fastruby/skunk)) — Ruby 代码的 SkunkScore 计算器 —— 找到没有测试覆盖的最复杂代码! -    903⭐     38🍴 [Traceroute](https://github.com/amatsuda/traceroute)) — 一个 Rake 任务 gem,可帮助你查找 Rails 3+ 应用程序的未使用路由和控制器操作。

安全/SAST

- 🌎 [AzSK](azsk.azurewebsites.net/) — Azure 安全 DevOps 套件 提供安全 IntelliSense、安全验证测试、CICD 扫描漏洞、合规性问题以及基础设施即代码中的配置错误。通过 ARM 支持 Azure。 - 🌎 [brakeman](brakemanscanner.org) — Ruby on Rails 应用程序的静态分析安全漏洞扫描程序。 - 🌎 [Cloud (IaC) Security for JetBrains IDEs](plugins.jetbrains.com/plugin/25413-cloud-iac-security) — 适用于 JetBrains IDE 的 Cloud (IaC) Security 插件。基于 Docker 镜像/构建安全最佳实践、Kubernetes Pod 安全标准以及 NSA/CISA Kubernetes 加固指南,通过 50 多条规则对 Docker 和 Kubernetes IaC 执行实时检查。 - 🌎 [Code Pathfinder](codepathfinder.dev) — 一个开源安全套件,旨在将结构化代码分析与 AI 驱动的漏洞检测相结合。专为高级结构化搜索而构建,用于获取洞察、发现代码中的漏洞。 -    361⭐     54🍴 [Credential Digger](https://github.com/SAP/credential-digger)) — Credential Digger 是一个 GitHub 扫描工具,用于识别硬编码凭据(密码、API 密钥、密钥、令牌、个人信息等),并通过名为 🌎 [Password Model](huggingface.co/SAPOSS/password-model) 的机器学习模型过滤误报数据。此扫描程序能够以较低的误报率检测密码和非结构化令牌。 - 🌎 [Datree](datree.io/) — 一个 CLI 工具,通过确保清单和 Helm chart 遵循最佳实践以及你的组织策略来防止 Kubernetes 配置错误 -   4443⭐    540🍴 [detect-secrets](https://github.com/Yelp/detect-secrets)) — 一种企业友好的检测和防止代码中机密的方法。 它通过针对启发式精心设计的正则表达式语句运行定期差异输出,来确定是否提交了任何新机密。这样,它避免了挖掘整个 git 历史记录的开销,以及每次都扫描整个存储库的需要。 - **Dockle** :warning: — 面向安全的容器镜像 Linter,帮助构建最佳实践的 Docker 镜像。扫描 Docker 镜像以查找安全漏洞和 CIS 基准合规性。检查机密、凭据暴露和安全最佳实践。提供多种严重性级别(FATAL、WARN、INFO),并支持多种 CI/CD 集成的输出格式。 - **Enlightn** :warning: — Laravel 应用程序的静态和动态分析工具,提供改进 Laravel 应用程序性能、安全性和代码可靠性的建议。包含 120 项自动检查。 - 🌎 [GitGuardian ggshield](www.gitguardian.com/ggshield) — ggshield 是一个 CLI 应用程序,可在你的本地环境或 CI 环境中运行,帮助你检测 350 多种类型的机密,以及影响代码库的其他潜在安全漏洞或策略违规。 -  25425⭐   1957🍴 [Gitleaks](https://github.com/zricethezav/gitleaks)) — 用于检测 git 存储库中硬编码机密(如密码、api 密钥和令牌)的 SAST 工具。 -   2167⭐    108🍴 [gokart](https://github.com/praetorian-inc/gokart)) — Golang 安全分析,侧重于最大限度地减少误报。它能够跟踪变量和函数参数的来源,以确定输入源是否安全。 -  11736⭐    753🍴 [Grype](https://github.com/anchore/grype)) — 容器镜像和文件系统的漏洞扫描程序。由 Anchore 开发,它扫描容器镜像、目录和存档以查找已知漏洞。支持多种镜像格式、SBOM 集成和 VEX(漏洞可利用性交换),以进行准确的漏洞评估。适用于各种漏洞数据库并提供详细报告。 - **HasMySecretLeaked** :warning: :copyright: — HasMySecretLeaked 是 GitGuardian 的一个项目,旨在帮助个人用户和组织搜索 2000 万暴露的机密,以验证他们的开发人员机密是否已在 GitHub 项目上的公共存储库、gist 和 issue 中泄露。 - **iblessing** :warning: — iblessing 是一个 iOS 安全利用工具包。它可用于逆向工程、二进制分析和漏洞挖掘。 -   2982⭐    142🍴 [kani](https://github.com/model-checking/kani)) — Kani Rust Verifier 是 Rust 的位精确模型检查器。 Kani 对于验证 Rust 中的 unsafe 代码块特别有用, 因为“不安全超能力”未受编译器检查。 Kani 验证: * 内存安全(例如,空指针取消引用) * 用户指定的断言(即 assert!(...)) * 没有恐慌(例如,对 None 值进行 unwrap()) * 没有某些类型的意外行为(例如,算术溢出) - 🌎 [kics](kics.io/) — 在基础设施即代码中发现安全漏洞、合规性问题和基础设施配置错误。支持 Terraform、Kubernetes、Docker、AWS CloudFormation 和 Ansible - **kube-hunter** :warning: — 在 Kubernetes 集群中搜寻安全弱点。 -    843⭐     36🍴 [lockfile-lint](https://github.com/lirantal/lockfile-lint)) — Lint npm 或 yarn lockfile 以分析和检测安全问题 - **LunaSec** :warning: — 开源 AppSec 平台,下次发生 Log4Shell 或 node-ipc 等漏洞时会自动通知你。在集中服务中跟踪你的依赖项和构建。 - 🌎 [Malcat](malcat.fr/) :copyright: — 用于恶意软件分析和二进制文件检查的十六进制编辑器和反汇编器。支持 50 多种文件格式和多种 CPU 架构(x86/x64、MIPS、.NET、Python、VB p-code)。具有快速分析、嵌入文件提取、Yara 签名扫描、异常检测和 Python 脚本编写功能。专为恶意软件分析师、SOC 操作员、事件响应者和 CTF 选手设计。 - **njsscan** :warning: — 一种静态应用程序测试 (SAST) 工具,可以使用来自 libsast 的简单模式匹配器和语法感知的语义代码模式搜索工具 semgrep 在你的 node.js 应用程序中查找不安全的代码模式。 - **NodeJSScan** :warning: — 由 libsast 和 semgrep 支持的 Node.js 应用程序静态安全代码扫描程序,基于 njsscan cli 工具构建。它具有一个 UI,其中包含有关应用程序安全状态的各种仪表板。 - 🌎 [OSV-Scanner](osv.dev/) — 用 Go 编写的漏洞扫描程序,使用 OSV.dev 提供的数据。由 Google 开发,用于跨多种语言和包管理器扫描依赖项中的已知漏洞。支持容器扫描、许可证扫描和引导式修复。适用于 lockfile、SBOM 和容器镜像以识别安全问题。 - 🌎 [Oversecured](oversecured.com) :copyright: — Android 和 iOS 应用程序的企业漏洞扫描程序。它允许应用程序所有者和开发人员通过将 Oversecured 集成到开发过程中来保护移动应用程序的每个新版本。 - 🌎 [OWASP Noir](owasp-noir.github.io/noir/) — 通过静态分析识别端点的攻击面检测器。 -   1214⭐     86🍴 [pip-audit](https://github.com/pypa/pip-audit)) — 用于扫描 Python 包中已知漏洞的工具。由 Python 包装权威 和 Trail of Bits 支持,并由 Google 支持。扫描 Python 环境和需求文件以识别易受攻击的包并提出修复建议。支持 GitHub Actions、pre-commit 钩子和多种漏洞服务集成。 - 🌎 [PT Application Inspector](www.ptsecurity.com) :copyright: — 识别代码缺陷并检测漏洞以防止 Web 攻击。通过展示可能的利用来演示远程代码执行。 - 🌎 [Qualys Container Security](www.qualys.com/apps/container-security) :copyright: — 容器原生应用保护,提供容器化应用的可见性和控制。 - **QuantifiedCode** :warning: — 自动化代码审查和修复。它帮助你跟踪软件项目中的问题和指标,并且可以轻松扩展以支持新类型的分析。 - 🌎 [Safety](safetycli.com/) — Python 依赖项漏洞扫描程序,旨在通过检测具有已知漏洞的包来增强软件供应链安全性。根据已知安全漏洞数据库检查 Python 依赖项并提供详细报告。支持 CI/CD 集成和多种输出格式。 -   5307⭐    612🍴 [scorecard](https://github.com/ossf/scorecard)) — 安全记分卡 - 开源的安全健康指标 - 🌎 [Steampunk Spotter](steampunk.si/spotter/) :copyright: — Ansible Playbook 扫描工具,用于分析你的 playbook 并提供建议。 - 🌎 [Symfony Insight](insight.symfony.com/) :copyright: — 检测安全风险、查找错误并为 PHP 项目提供可操作的指标。 -   6965⭐    554🍴 [tfsec](https://github.com/tfsec/tfsec)) — Terraform 静态分析工具,通过在构建时检查云配置错误来防止潜在的安全问题,并直接与 HCL 解析器集成以获得更好的结果。检查是否违反 AWS、Azure 和 GCP 安全最佳实践建议。 - 🌎 [trufflehog](trufflesecurity.com) — 发现各地的凭据 TruffleHog 是一个开源机密扫描引擎,可解析你公司整个技术堆栈中暴露的机密。 -   8550⭐    919🍴 [Tsunami Security Scanner](https://github.com/google/tsunami-security-scanner)) — 一种通用网络安全扫描程序,具有可扩展的插件系统,用于以高置信度检测高危 RCE 类漏洞。可以添加用于查找漏洞(例如开放的 API)的自定义检测器。

智能合约

-   4214⭐    808🍴 [mythril](https://github.com/ConsenSys/mythril)) — 一个包含电池的符号执行框架,可用于自动查找和利用智能合约中的漏洞。 - 🌎 [MythX](mythx.io) :copyright: — MythX 是一个易于使用的分析平台,集成了模糊测试、符号执行和静态分析等多种分析方法,以高精度发现漏洞。它可以与 Remix 或 VSCode 等工具链集成,也可以从命令行调用。 -   6166⭐   1089🍴 [slither](https://github.com/trailofbits/slither)) — 静态分析框架,运行一套漏洞检测器,打印有关合约详细信息的可视信息,并提供 API 以轻松编写自定义分析。 - 🌎 [solhint](protofire.github.io/solhint) — Solhint 是由 https://protofire.io 创建的开源项目。其目标是为 Solidity 代码提供 linting 实用程序。 - 🌎 [solium](ethlint.readthedocs.io/en/latest) — Solium 是一个 linter,用于识别和修复 Solidity 智能合约中的风格和安全问题。

支持

-     23⭐      7🍴 [LibVCS4j](https://github.com/uni-bremen-agst/libvcs4j)) — 一个 Java 库,允许现有工具通过为不同的版本控制系统和问题跟踪器提供通用 API 来分析软件系统的演变。 -    521⭐     44🍴 [RefactorFirst](https://github.com/jimbethancourt/RefactorFirst)) — 识别 Java 代码库中的上帝类和高度耦合类,并确定你应优先重构哪些类。 -    155⭐     42🍴 [Violations Lib](https://github.com/tomasbjerre/violations-lib)) — 用于解析静态代码分析报告文件的 Java 库。被一堆 Jenkins、Maven 和 Gradle 插件使用。

模板语言

-    265⭐    234🍴 [ember-template-lint](https://github.com/ember-template-lint/ember-template-lint)) — Ember 或 Handlebars 模板的 Linter。 -    335⭐    109🍴 [haml-lint](https://github.com/sds/haml-lint)) — 用于编写干净一致的 HAML 的工具。 -    225⭐     64🍴 [slim-lint](https://github.com/sds/slim-lint)) — 用于分析 Slim 模板的可配置工具。 - 🌎 [yamllint](yamllint.readthedocs.io) — 检查 YAML 文件的语法有效性、键重复和外观问题,例如行长度、尾随空格和缩进。

Terraform

- 🌎 [GitGuardian ggshield](www.gitguardian.com/ggshield) — ggshield 是一个 CLI 应用程序,可在你的本地环境或 CI 环境中运行,帮助你检测 350 多种类型的机密,以及影响代码库的其他潜在安全漏洞或策略违规。 - 🌎 [kics](kics.io/) — 在基础设施即代码中发现安全漏洞、合规性问题和基础设施配置错误。支持 Terraform、Kubernetes、Docker、AWS CloudFormation 和 Ansible - **shisho** :warning: — 为开发人员和安全团队设计的轻量级静态代码分析器。它允许你使用类似于 sed 的直观 DSL 分析和转换源代码,但是用于代码。

翻译

-     50⭐     11🍴 [dennis](https://github.com/willkg/dennis)) — 一组用于处理 PO 文件的实用程序,以简化开发并提高质量。

Vue.js

- 🌎 [HTML-Validate](html-validate.org/) — 离线 HTML5 验证器。 - **Vetur** :warning: — VS Code 的 Vue 工具,由 vls (vue language server) 提供支持。Vetur 支持格式化嵌入式 HTML、CSS、SCSS、JS、TypeScript 等。Vetur 只有“整个文档格式化程序”,不能格式化任意范围。

写作

- **After the Deadline** :warning: — 拼写、风格和语法检查器。 - **alex** :warning: — 捕获不敏感、不体贴的写作 -   2334⭐    507🍴 [codespell](https://github.com/codespell-project/codespell)) — 检查代码中的常见拼写错误。 - 🌎 [languagetool](languagetool.org) — 25 种以上语言的风格和语法检查器。它发现了许多简单的拼写检查器无法检测到的错误。 -    197⭐     23🍴 [misspell-fixer](https://github.com/vlajos/misspell-fixer)) — 用于修复源代码中常见拼写错误、错别字的快速工具。 - 🌎 [Misspelled Words In Context](jwilk.net/software/mwic) — 一个拼写检查器,将可能的拼写错误分组并在其上下文中显示它们。 -   4515⭐    181🍴 [proselint](https://github.com/amperser/proselint)) — 英语散文的 Linter,侧重于写作风格而不是语法。 - 🌎 [vale](vale.sh) — 考虑到速度和可扩展性而构建的语法感知散文 Linter。 -   5065⭐  nbsp; 191🍴 [write-good](https://github.com/btford/write-good)) — 专注于消除“我们asel words”的 Linter。

YAML

- 🌎 [Spectral](stoplight.io/open-source/spectral) — 灵活的 JSON/YAML linter,开箱即支持 OpenAPI v2/v3 和 AsyncAPI v2。 - 🌎 [yamllint](yamllint.readthedocs.io) — 检查 YAML 文件的语法有效性、键重复和外观问题,例如行长度、尾随空格和缩进。

git

- 🌎 [commitlint](commitlint.js.org) — 检查你的提交消息是否符合常规提交格式 - 🌎 [GitGuardian ggshield](www.gitguardian.com/ggshield) — ggshield 是一个 CLI 应用程序,可在你的本地环境或 CI 环境中运行,帮助你检测 350 多种类型的机密,以及影响代码库的其他潜在安全漏洞或策略违规。 - **HasMySecretLeaked** :warning: :copyright: — HasMySecretLeaked 是 GitGuardian 的一个项目,旨在帮助个人用户和组织搜索 2000 万个暴露的机密,以验证他们的开发人员机密是否已在 GitHub 项目上的公共存储库、gist 和 issue 中泄露。 ## 更多合集 -      ?⭐      ?🍴 [Clean code linters](https://github.com/collections/clean-code-linters)) — github collections 中的 linter 集合 -      ?⭐      ?🍴 [Code Quality Checker Tools For PHP Projects](https://github.com/collections/code-quality-in-php)) — github collections 中的 PHP linter 集合 -   6731⭐    406🍴 [go-tools](https://github.com/dominikh/go-tools)) — 用于处理 Go 代码的工具和库集合,包括 linter 和静态分析 -    349⭐     30🍴 [linters](https://github.com/mcandre/linters)) — 静态代码分析简介 - 🌎 [OWASP Source Code Analysis Tools](owasp.org/www-community/Source_Code_Analysis_Tools) — 由开放式 Web 应用程序安全项目维护的工具列表 -   2870⭐    245🍴 [php-static-analysis-tools](https://github.com/exakat/php-static-analysis-tools)) — 经过审查的有用 PHP 静态分析工具列表 - 🌎 [AppSec Santa — SAST Tools](appsecsanta.com/sast-tools) — 对 30 多种静态分析安全测试工具的独立比较,包含功能、定价和替代品 - [Wikipedia](http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis) — 静态代码分析工具列表。 ## 许可证 [![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) 在法律允许的范围内,🌎 [Matthias Endler](endler.dev) 已放弃该作品的所有版权及相关或邻接权。 用于格式化和显示该内容的底层源代码根据 MIT 许可证授权。 标题图片 🌎 [Designed by Freepik](www.freepik.com)。 ## 来源  14437⭐   1437🍴 [analysis-tools-dev/static-analysis](https://github.com/analysis-tools-dev/static-analysis))
标签:DevSecOps, DNS解析, Linter, pptx, SAST, 上游代理, 云安全监控, 代码格式化, 代码规范, 子域名突变, 安全扫描, 开源项目, 时序注入, 盲注攻击, 编程语言, 请求拦截, 软件开发, 通知系统, 配置文件检查, 错误基检测, 防御加固, 静态代码分析, 静态分析