Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/analysis-tools-dev/static-analysis
静态分析静态代码分析 (SAST)漏洞分析代码分析DevSecOps精选资源
GitHubanalysis-tools-dev/static-analysis

static-analysis

面向编程语言、配置、构建工具和 CI 的静态分析(SAST)工具与代码检查工具精选目录,致力于提升代码质量。

查看仓库
14.7k1.5k2个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站
Analysis Tools Website

本仓库收录了适用于所有编程语言、构建工具、配置文件等的静态分析工具。重点聚焦于能够提升代码质量的工具,例如 linter 和格式化程序。官方网站 analysis-tools.dev 基于本仓库构建,并增加了排名、用户评论以及每个工具的附加资源(如视频)。

Website CI Links

赞助商

没有赞助商的慷慨支持,本项目不可能实现。

Pixee

如果您也想支持本项目,请前往我们的 GitHub 赞助页面。

符号含义:

  • ©️ 代表专有软件。其余所有工具均为开源软件。
  • ℹ️ 表示社区不再推荐在新项目中使用该工具。该图标链接到相应的讨论 issue。
  • ⚠️ 表示该工具已超过一年未更新,或仓库已被归档。

非常欢迎提交 Pull Request!
同时也请关注姊妹项目 awesome-dynamic-analysis。

目录

编程语言

多语言

其他

显示其他

编程语言

ABAP

  • abaplint — 用 TypeScript 编写的 ABAP Linter。

  • abapOpenChecks — 通过新的可自定义检查扩展 SAP Code Inspector。

Ada

  • Polyspace for Ada ©️ — 提供代码验证,证明源代码中不存在溢出、除零、数组越界访问及其他某些运行时错误。

  • SPARK ©️ — 用于 Ada 的静态分析和形式化验证工具集。

汇编语言

  • STOKE ⚠️ — 一个与编程语言无关的、面向 x86_64 指令集的随机优化器。它使用随机搜索来探索所有可能程序变换的极高维空间。

Awk

  • gawk --lint — 对可疑或不可移植到其他 awk 实现的结构发出警告。

C

  • Astrée ©️ — Astrée 自动证明 C/C++ 应用程序中不存在运行时错误和无效并发行为。它对浮点计算是可靠的,速度非常快,且极其精确。该分析器还检查 MISRA/CERT/CWE/Adaptive Autosar 编码规则,并支持 ISO 26262、DO-178C A 级及其他安全标准的认证。提供 Jenkins 和 Eclipse 插件。

  • CBMC — 用于 C 程序的有界模型检查器,支持用户自定义断言、标准断言以及多种覆盖率度量分析。

  • clang-tidy — 基于 Clang 的 C++ linter 工具,也具备(有限的)自动修复问题的能力。

  • clazy — 基于 Clang 框架、面向 Qt 的静态代码分析器。clazy 是一个编译器插件,能让 clang 理解 Qt 语义。你会获得 50 多条与 Qt 相关的编译器警告,涵盖从多余内存分配到 API 误用,并包含用于自动重构的修复建议(fix-it)。

  • CMetrics — 衡量 C 文件的大小和复杂度。

  • CPAchecker — 用于 C 程序可配置软件验证的工具。CPAchecker 这一名称的选定,体现了该工具基于 CPA 概念并用于软件程序检查。

  • cppcheck — 对 C/C++ 代码进行静态分析。

  • CppDepend ©️ — 测量、查询和可视化你的代码,避免意外问题、技术债务和复杂度。

  • cpplint — 遵循 Google 风格指南的自动化 C++ 检查器。

  • cqmetrics — C 代码的质量度量。

  • CScout — C 及 C 预处理器代码的复杂度和质量度量。

  • ENRE-cpp ⚠️ — ENRE(ENtity Relationship Extractor,实体关系提取器)是一种从源代码中提取代码实体依赖关系或关系的工具。ENRE-cpp 是基于 @eclipse/CDT 的 C/C++ 实体关系提取器。(开发中)

  • ESBMC — ESBMC 是一个开源、许可宽松、基于可满足性模理论(SMT)的上下文有界模型检查器,用于验证单线程和多线程 C/C++ 程序。

  • flawfinder — 发现可能存在的安全弱点。

  • flint++ ⚠️ — flint(Facebook 开发并使用的 C++ lint 程序)的跨平台、零依赖移植版本。

  • Frama-C — 一个可靠且可扩展的 C 代码静态分析器。

  • GCC — GCC 编译器自版本 10 起具备静态分析能力。只有 GCC 在配置时启用了 analyzer 支持,此选项才可用。它还可以将诊断信息以 SARIF 格式输出到 JSON 文件中(自 v13 起)。

C#

  • .NET Analyzers — 一个使用 .NET 编译器平台开发分析器(诊断和代码修复)的组织。

  • ArchUnitNET — 一个 C# 架构测试库,用于在 C# 中指定和断言架构规则,以进行自动化测试。

  • code-cracker — 一个面向 C# 和 VB 的分析器库,使用 Roslyn 提供重构、代码分析及其他实用功能。

  • CSharpEssentials ⚠️ — C# Essentials 是 Roslyn 诊断分析器、代码修复和重构的集合,让你更轻松地使用 C# 6 语言特性。

  • Designite ©️ — Designite 支持检测各种架构、设计和实现层面的坏味道(smell),计算各种代码质量度量,并进行趋势分析。

  • Gendarme — Gendarme 检查包含 ECMA CIL 格式(Mono 和 .NET)代码的程序和库。

  • Infer# ⚠️ — InferSharp(也称为 Infer#)是一个面向 C# 的过程间、可扩展的静态代码分析器。借助 Facebook Infer 的能力,该工具可检测空指针解引用和资源泄漏。

  • Meziantou.Analyzer — 一个 Roslyn 分析器,用于在 C# 中强制执行设计、用法、安全性、性能和风格等方面的良好实践。

  • NDepend ©️ — 测量、查询和可视化你的代码,避免意外问题、技术债务和复杂度。

  • Puma Scan — Puma Scan 在开发团队使用 Visual Studio 编写代码时,针对常见漏洞(XSS、SQLi、CSRF、LDAPi、加密、反序列化等)提供实时的安全代码分析。

  • Roslynator — 一个由 Roslyn 驱动的集合,包含 190 多个分析器和 190 多个重构,适用于 C#。

  • SonarAnalyzer.CSharp — 这些 Roslyn 分析器通过帮助您发现并纠正代码库中的 bug、漏洞和代码坏味道,使您能够编写安全、可靠、可维护的整洁代码(Clean Code)。

  • VSDiagnostics ⚠️ — 一个基于 Roslyn、与 Visual Studio 集成的静态分析器集合。

  • Wintellect.Analyzers — .NET 编译器平台(“Roslyn”)诊断分析器和代码修复。

C++

  • Astrée ©️ — Astrée 自动证明 C/C++ 应用程序中不存在运行时错误和无效并发行为。它对浮点计算是可靠的,速度非常快,且极其精确。该分析器还检查 MISRA/CERT/CWE/Adaptive Autosar 编码规则,并支持 ISO 26262、DO-178C A 级及其他安全标准的认证。提供 Jenkins 和 Eclipse 插件。

  • CBMC — 用于 C 程序的有界模型检查器,支持用户自定义断言、标准断言以及多种覆盖率度量分析。

  • clang-tidy — 基于 Clang 的 C++ linter 工具,也具备(有限的)自动修复问题的能力。

  • clazy — 基于 Clang 框架、面向 Qt 的静态代码分析器。clazy 是一个编译器插件,能让 clang 理解 Qt 语义。你会获得 50 多条与 Qt 相关的编译器警告,涵盖从多余内存分配到 API 误用,并包含用于自动重构的修复建议(fix-it)。

  • CMetrics — 衡量 C 文件的大小和复杂度。

  • cppcheck — 对 C/C++ 代码进行静态分析。

  • CppDepend ©️ — 测量、查询和可视化你的代码,避免意外问题、技术债务和复杂度。

  • cpplint — 遵循 Google 风格指南的自动化 C++ 检查器。

  • cqmetrics — C 代码的质量度量。

  • CScout — C 及 C 预处理器代码的复杂度和质量度量。

  • ENRE-cpp ⚠️ — ENRE(ENtity Relationship Extractor,实体关系提取器)是一种从源代码中提取代码实体依赖关系或关系的工具。ENRE-cpp 是基于 @eclipse/CDT 的 C/C++ 实体关系提取器。(开发中)

  • ESBMC — ESBMC 是一个开源、许可宽松、基于可满足性模理论(SMT)的上下文有界模型检查器,用于验证单线程和多线程 C/C++ 程序。

  • flawfinder — 发现可能存在的安全弱点。

  • flint++ ⚠️ — flint(Facebook 开发并使用的 C++ lint 程序)的跨平台、零依赖移植版本。

  • GCC — GCC 编译器自版本 10 起具备静态分析能力。只有 GCC 在配置时启用了 analyzer 支持,此选项才可用。它还可以将诊断信息以 SARIF 格式输出到 JSON 文件中(自 v13 起)。

  • Helix QAC ©️ — 面向嵌入式软件的企业级静态分析。支持 MISRA、CERT 和 AUTOSAR 编码标准。

Clojure

  • clj-kondo — 一款能带来愉悦感的 Clojure 代码检查器。它会在您输入时提示潜在错误。

CoffeeScript

  • coffeelint ⚠️ — 一款帮助保持 CoffeeScript 代码整洁和一致的样式检查器。

ColdFusion

  • Fixinator ©️ — 针对 ColdFusion 或 CFML 代码的静态安全代码分析。设计用于在 CI 流水线中或从开发者的终端运行。

Crystal

  • ameba — 一款用于 Crystal 的静态代码分析工具。

  • crystal — Crystal 编译器内置了代码检查功能。

Dart

  • Dart Code Metrics ⚠️ — Dart 的附加代码检查器。报告代码度量、检查反模式,并为 Dart 分析器提供附加规则。

  • effective_dart — 与《Effective Dart》指南相对应的代码检查规则。

  • lint ⚠️ — 一套由社区驱动、观点鲜明的 Dart 和 Flutter 项目代码检查规则。类似于 pedantic,但更严格。

  • Linter for dart ⚠️ — 用于 Dart 的样式检查器。

Delphi

  • DelphiLint — 一个 Delphi IDE 包,由 SonarDelphi 驱动,提供实时代码分析和代码检查功能。

  • Fix Insight ©️ — 一款免费的静态代码分析 IDE 插件。Pro 版本包含用于自动化目的的命令行工具。

  • Pascal Analyzer ©️ — 一款提供大量报告的静态代码分析工具。提供报告功能有限的免费 Lite 版本。

  • Pascal Expert ©️ — 用于代码分析的 IDE 插件。包含 Pascal Analyzer 报告功能的子集,适用于 Delphi 2007 及更高版本。

  • SonarDelphi — 用于 SonarQube 代码质量平台的 Delphi 静态分析器。

Dlang

  • D-scanner — D-Scanner 是一款用于分析 D 源代码的工具。

Elixir

  • credo — 一款专注于代码一致性和教学性的静态代码分析工具。

  • dialyxir — 简化在 Elixir 项目中使用 Dialyzer 的 Mix 任务。

  • sobelow — 针对 Phoenix Framework 的以安全为重点的静态分析。

Elm

  • elm-analyse ⚠️ — 一款允许您分析 Elm 代码、识别缺陷并应用最佳实践的工具。

  • elm-review — 分析整个 Elm 项目,重点是可共享的、用 Elm 编写的自定义规则,这些规则提供了 Elm 编译器无法提供的保证。

Erlang

  • dialyzer — DIALYZER,即用于 ERlang 程序的差异分析器(DIscrepancy AnaLYZER)。Dialyzer 是一款静态分析工具,用于识别软件差异,例如明确的类型错误、因编程错误而变成死代码或不可达的代码,以及不必要的测试,可作用于单个 Erlang 模块或整个(一组)应用程序。 Dialyzer 从调试编译的 BEAM 字节码或 Erlang 源代码开始分析。它会报告差异所在的文件和行号,并说明差异的内容。Dialyzer 的分析基于成功类型(success typings)的概念,从而产生可靠的警告(无误报)。

  • elvis — Erlang 样式审查器。

  • Primitive Erlang Security Tool (PEST) ⚠️ — 一款对 Erlang 源代码进行基本扫描并报告任何可能导致 Erlang 源代码不安全的函数调用的工具。

F#

  • fantomas — F# 源代码格式化工具。

  • FSharpLint — 用于 F# 的代码检查工具。

  • ionide-analyzers — 一组使用 FSharp.Analyzers.SDK 构建的 F# 分析器集合。

Fortran

  • Fortitude — Fortran 代码检查器,灵感来自(并构建于)Ruff,基于社区最佳实践。支持最新的 Fortran(2023)标准。

  • fprettify — 用 Python 编写的现代 Fortran 源代码自动格式化工具。 Fprettify 提供代码中一致的空白、缩进和分隔符对齐,包括更改字母大小写和处理预处理器指令的能力,同时保留修订历史,并经过编辑器集成测试。

  • i-Code CNES for Fortran ⚠️ — 一款适用于 Fortran 77、Fortran 90 和 Shell 的开源静态代码分析工具。

Go

  • aligncheck — 查找打包效率低下的结构体。

  • bodyclose — 检查 HTTP 响应体是否已关闭。

  • deadcode — 查找未使用的代码。

  • dingo-hunter ⚠️ — 用于查找 Go 死锁的静态分析器。

  • dogsled — 查找包含过多空白标识符的赋值/声明。

  • dupl — 报告可能重复的代码。

  • errcheck — 检查错误返回值是否被使用。

  • errwrap ⚠️ — 使用新的 %w 动词指令包装和修复 Go 错误。该工具分析 fmt.Errorf() 调用,并报告包含与 Go v1.13 中引入的新 %w 动词指令不同的动词指令的调用。它还能够重写调用以使用新的 %w 包装动词指令。

  • flen — 获取 Go 包中函数长度的信息。

  • Go Meta Linter ⚠️ — 并发运行 Go 代码检查工具并规范化其输出。新项目请使用 golangci-lint。

  • go tool vet --shadow — 报告可能被无意遮蔽的变量。

  • go vet — 检查 Go 源代码并报告可疑之处。

  • go-consistent ⚠️ — 帮助您使 Go 程序更加一致的分析器。

  • go-critic — Go 源代码检查器,维护其他代码检查器目前未实现的检查项。

  • go/ast — ast 包声明了用于表示 Go 包语法树的类型。

  • goast — 基于 Go AST(抽象语法树)并结合 Rego 的静态分析工具。

  • gochecknoglobals ⚠️ — 检查是否存在全局变量。

  • goconst — 查找可被常量替换的重复字符串。

  • gocyclo — 计算 Go 源代码中函数的圈复杂度。

Groovy

  • CodeNarc — 一款用于 Groovy 源代码的静态分析工具,可监控和执行许多编码标准和最佳实践。

Haskell

  • brittany ⚠️ — Haskell 源代码格式化工具。

  • HLint — HLint 是一款为 Haskell 代码提供可能改进建议的工具。

  • Liquid Haskell — Liquid Haskell 是 Haskell 程序的精化类型检查器。

  • Stan — Stan 是一款命令行工具,用于分析 Haskell 项目,并以有用的方式输出所发现的漏洞,同时针对检测到的问题提供可能的解决方案。

  • Weeder — 一款用于检测 Haskell 代码中死导出或包导入的工具。

Haxe

  • Haxe Checkstyle — 一款帮助开发人员编写符合编码标准的 Haxe 代码的静态分析工具。

Java

  • Checker Framework — Java 的可插拔类型检查。这不仅是一个 bug 查找器,更是一个提供正确性保证的验证工具。它附带 27 个预构建的类型系统,并允许用户定义自己的类型系统;手册中列出了 30 多个用户贡献的类型系统。

  • checkstyle — 检查 Java 源代码是否符合代码标准或一组验证规则(最佳实践)。

  • ck — 通过处理 Java 源文件来计算 Chidamber 和 Kemerer 面向对象度量。

  • ckjm — 通过处理已编译 Java 文件的字节码来计算 Chidamber 和 Kemerer 面向对象度量。

  • CogniCrypt ⚠️ — 检查 Java 源代码和字节码中密码学 API 的错误使用。

  • Dataflow Framework — 一个工业级强度的 Java 数据流框架。Dataflow Framework 被用于 Checker Framework、Google 的 Error Prone、Uber 的 NullAway、Meta 的 Nullsafe 以及其他场景。它与 Checker Framework 一同分发。

  • DesigniteJava ©️ — DesigniteJava 支持检测各种架构、设计和实现层面的坏味道,并计算各种代码质量度量。

  • Diffblue ©️ — Diffblue 是一家为软件开发团队提供 AI 驱动的代码分析和测试解决方案的软件公司。 其技术帮助开发人员在软件开发过程中实现测试自动化、发现 bug 并减少人工劳动。该公司的主要产品 Diffblue Cover 使用 AI 为 Java 代码生成并运行单元测试,帮助捕获错误并提高代码质量。

  • Doop — Doop 是一个面向 Java/Android 程序静态分析的声明式框架,以指针分析算法为核心。Doop 提供种类繁多的分析,以及端到端运行分析所需的周边脚手架(事实生成、处理、统计等)。

  • ENRE-java ⚠️ — ENRE(实体关系提取器)是一款从源代码中提取代码实体依赖或关系的工具。ENRE-java 是基于 @Eclipse JDT/parser 的 Java 项目实体关系提取器。

  • Error Prone — 在编译时将常见的 Java 错误捕获为编译错误。

  • fb-contrib — 一个包含附加 bug 检测器的 FindBugs 插件。

  • forbidden-apis — 检测并禁止对特定方法/类/字段的调用(例如在没有字符集的情况下从文本流读取)。兼容 Maven/Gradle/Ant。

  • google-java-format — 重新格式化 Java 源代码以符合 Google Java Style。

  • HuntBugs ⚠️ — 基于 Procyon Compiler Tools 的字节码静态分析工具,旨在取代 FindBugs。

  • ©️ — 捆绑了大量针对 Java 和 Kotlin 的检查,并包含用于重构、格式化等的工具。

JavaScript

  • aether ⚠️ — 在 Node 或浏览器中对用户 JavaScript 进行 lint、分析、规范化、转换、沙箱化、运行、逐步调试和可视化。

  • Closure Compiler — 一种编译器工具,用于提高效率、减小体积,并为 JavaScript 文件提供代码警告。

  • ClosureLinter ⚠️ — 确保您项目中的所有 JavaScript 代码都遵循 Google JavaScript 风格指南中的准则。它还可以自动修复许多常见错误。

  • complexity-report ⚠️ — 用于 JavaScript 项目的软件复杂度分析。

  • DeepScan ©️ — 一种针对 JavaScript 的分析器,重点关注运行时错误和质量问题,而非编码规范。

  • es6-plato ⚠️ — 可视化 JavaScript (ES6) 源代码复杂度。

  • escomplex — 对 JavaScript 系列抽象语法树进行软件复杂度分析。

  • Esprima ⚠️ — 用于多用途分析的 ECMAScript 解析基础设施。

  • flow — JavaScript 的静态类型检查器。

  • hegel ⚠️ — JavaScript 的静态类型检查器,侧重于类型推断和强类型系统。

  • jshint ℹ️ — 检测 JavaScript 代码中的错误和潜在问题,并强制执行您团队的编码约定。

  • JSLint ℹ️ — JavaScript 代码质量工具。

  • JSPrime ⚠️ — 静态安全分析工具。

  • NodeJSScan ⚠️ — 一款由 libsast 和 semgrep 驱动的 Node.js 应用程序静态安全代码扫描器,构建于 njsscan CLI 工具之上。它具有一个 UI,提供有关应用程序安全状态的各种仪表板。

  • plato ⚠️ — 可视化 JavaScript 源代码复杂度。

  • Polymer-analyzer — 用于 Web Components 的静态分析框架。

  • retire.js — 检测使用具有已知漏洞的 JavaScript 库的扫描器。

  • RSLint ⚠️ — 一个用 Rust 编写的(WIP)JavaScript linter,设计目标是尽可能快速、可定制且易于使用。

Julia

  • JET — 用于检测错误和类型不稳定性的静态类型推断系统。

  • StaticLint — Julia 的静态代码分析

Kotlin

  • detekt — 对 Kotlin 代码进行静态代码分析。

  • diktat ⚠️ — Kotlin 的严格编码标准,以及一个检测并自动修复代码坏味道的 linter。

  • ktfmt — 一个重新格式化 Kotlin 源代码以符合 Kotlin 代码约定的通用社区标准的程序。 可以从插件仓库获取 ktfmt IntelliJ 插件。要安装它,请转到 IDE 的设置并选择“插件”类别。单击“市场”选项卡,搜索 ktfmt 插件,然后单击“安装”按钮。

  • ktlint — 一个带内置格式化程序的反自行车棚效应 Kotlin linter。

Lua

  • luacheck — 用于对 Lua 代码进行 lint 和静态分析的工具。

  • lualint — lualint 对 Lua 源代码中全局变量的使用执行基于 luac 的静态分析。

  • Luanalysis ⚠️ — 用于静态类型 Lua 开发的 IDE。

MATLAB

  • MISS_HIT ⚠️ — MISS_HIT 是一个免费、开源的 MATLAB、Simulink 和 Octave 代码质量工具集。它包括 MH Style(样式检查器和格式化程序)、MH Metrics(复杂度度量)、MH Lint(静态分析)、MH Trace(需求可追溯性)和 MH Copyright(版权管理)。设计为独立运行,无需安装 MATLAB/Octave。

  • mlint ©️ — 检查 MATLAB 代码文件是否存在可能的问题。

Nim

  • DrNim — DrNim 将 Nim 前端与 Z3 证明引擎相结合,以允许验证/校验用 Nim 编写的软件。

  • nimfmt ⚠️ — Nim 代码格式化程序 / linter / 样式检查器

Ocaml

  • Sys — 一种用于在(浏览器)代码中查找错误的静态/符号工具。它使用 LLVM AST 来查找诸如未初始化内存访问之类的错误。

  • VeriFast — 一种用于对单线程和多线程 C 和 Java 程序进行模块化形式化验证的工具,这些程序使用分离逻辑编写的前置条件和后置条件进行注解。为了表达丰富的规范,程序员可以定义归纳数据类型、对这些数据类型进行原始递归纯函数,以及抽象分离逻辑谓词。

PHP

  • CakeFuzzer — 针对基于 CakePHP 的 Web 应用程序的 Web 应用安全测试工具。CakeFuzzer 使用一组预定义的攻击,在执行前会随机修改这些攻击。凭借对 CakePHP 框架的深入理解,CakeFuzzer 对所有潜在的应用入口点发起攻击。

  • churn-php — 帮助发现适合重构的候选代码。

  • composer-dependency-analyser — 快速检测 composer 依赖问题。

  • 💪 功能强大:检测未使用、遮蔽和错放的 composer 依赖
  • ⚡ 性能卓越:2 秒内扫描 15000 个文件!
  • ⚙️ 可配置:通过 PHP 配置进行细粒度忽略
  • 🕸️ 轻量级:无 composer 依赖
  • 🍰 易于使用:首次尝试无需配置
  • ✨ 兼容性:PHP >= 7.2
  • dephpend — 依赖分析工具。

  • deprecation-detector — 查找已弃用(Symfony)代码的使用。

  • deptrac — 强制执行软件层之间依赖关系的规则。

  • DesignPatternDetector — 检测 PHP 代码中的设计模式。

  • EasyCodingStandard — 结合 PHP_CodeSniffer 和 PHP-CS-Fixer。

  • Enlightn ⚠️ — 一个针对 Laravel 应用程序的静态和动态分析工具,提供改进 Laravel 应用性能、安全性和代码可靠性的建议。包含 120 项自动化检查。

  • exakat — 一个用于 PHP 的自动化代码审查引擎。

  • GrumPHP — 在每次提交时检查代码。

  • larastan — 为 Laravel 添加静态分析,提高开发人员生产力和代码质量。它是 PHPStan 的一个包装器。

  • mago — Mago 是一个用 Rust 编写的 PHP 完整工具链,从头开始设计以实现最大性能。

  • ✨ 一个极速格式化程序,可根据 PER-CS 自动格式化您的代码,永远结束风格之争。 - 🔎 一个智能 linter,在风格问题、不一致和代码坏味道成为问题之前捕获它们。 - 🔬 一个强大的静态分析器,无需运行即可发现代码中的类型错误和逻辑缺陷。 - 🛡️ 一个健壮的架构守卫,强制执行依赖规则和结构约定。

  • Mondrian ⚠️ — 一组使用图论的静态分析和重构工具。

  • parallel-lint — 该工具检查 PHP 文件语法的速度比串行检查更快,并且输出更漂亮。

  • Parse — 一个静态安全扫描器。

  • pdepend — 计算 PHP 代码的软件度量,如圈复杂度。

  • phan — 来自 Etsy 的现代静态分析器。

  • PHP Architecture Tester — 易于使用的 PHP 架构测试工具。

  • — 检查薄弱的假设。

PL/SQL

  • ZPA — 一个用于 PL/SQL 和 Oracle SQL 代码的开源解析器和代码分析器。

Perl

  • Perl::Analyzer — Perl-Analyzer 是一组程序和模块,允许用户分析和可视化 Perl 代码库,提供有关命名空间及其关系、依赖关系、继承,以及在包中实现、继承和重定义的方法,以及通过 SUPER 从父包调用方法的信息。

  • Perl::Critic — 根据最佳实践评判 Perl 源代码。

  • perltidy — Perltidy 是一个 Perl 脚本,用于缩进和重新格式化 Perl 脚本以使其更易于阅读。 格式可以通过命令行参数控制。默认参数设置大致遵循 Perl 风格指南中的建议。 除了重新格式化脚本之外,Perltidy 在查找缺失或多余的括号、圆括号和方括号错误方面也很有帮助,因为它非常擅长定位错误。

  • zarn — 一个面向现代 Perl 应用的轻量级静态安全分析工具。

Python

  • autoflake — Autoflake 从 Python 代码中移除未使用的导入和未使用的变量。

  • autopep8 — 一个自动格式化 Python 代码以符合 PEP 8 风格指南的工具。 它使用 pycodestyle 实用程序来确定代码的哪些部分需要格式化。

  • bandit — 一个用于查找 Python 代码中常见安全问题的工具。

  • bellybutton — 一个支持自定义项目特定规则的 lint 引擎。

  • Black — 毫不妥协的 Python 代码格式化程序。

  • Bowler — 面向现代 Python 的安全代码重构。Bowler 是一个在语法树级别操作 Python 的重构工具。它支持安全、大规模地修改代码,同时保证生成的代码可以编译和运行。它既提供了简单的命令行界面,也提供了 Python 中的流畅 API,用于在代码中生成复杂的修改。

  • ciocheck ⚠️ — Linter、格式化程序和测试套件助手。作为 linter,它是 pep8、pydocstyle、flake8 和 pylint 的包装器。

  • cohesion ⚠️ — 一个用于测量 Python 类内聚性的工具。

  • deal — Python 的契约式设计。编写无缺陷代码。通过向代码中添加几个装饰器,即可免费获得测试、静态分析、形式化验证等等。

  • Dlint — 一个用于确保 Python 代码安全的工具。

  • Dodgy — Dodgy 是一个非常基础的工具,用于对您的代码库运行,以搜索看似“可疑”的值。它由一系列简单的正则表达式组成,旨在检测诸如意外的 SCM 差异提交,或硬编码到文件中的密码或密钥等。

  • ENRE-py ⚠️ — ENRE(实体关系提取器)是一种从源代码中提取代码实体依赖关系或关系的工具。ENRE-py 是基于标准库的 Python Language Services 的 Python 实体关系提取器。

  • fixit — 一个用于为源代码创建 lint 规则和相应自动修复的框架。

R

  • CodeDepends — R 的静态代码分析。

  • cyclocomp — 量化 R 函数/表达式的圈复杂度。

  • flowR — 针对 R 编程语言的程序切片器和数据流分析器。其切片器允许您将复杂程序缩减为与特定任务相关的部分(例如,生成单个或一组图表、显著性检验等)。数据流分析为您提供 R 代码语义的详细视图,可大幅改进其他分析。要使用 flowR,请查看 Visual Studio Code 扩展、RStudio 插件、Docker 镜像或 R 包。

  • goodpractice — 分析 R 包的源代码并提供最佳实践建议。

  • lintr — R 的静态代码分析。

  • R Language Server — 为 R 提供代码补全、重构、折叠、诊断(配合 lintr)等功能。

  • rco — R 代码性能优化器(带 GUI)。

  • styler — R 源代码文件的格式化以及 R 代码的美化打印。

Rego

  • Regal — Regal 是策略语言 Rego 的 linter。Regal 旨在捕获策略代码中的 bug 和错误,同时帮助人们学习该语言、最佳实践和惯用结构。

Ruby

  • Active Record Doctor — 在数据库问题影响生产环境之前识别它们。

  • brakeman — 针对 Ruby on Rails 应用的静态分析安全漏洞扫描器。

  • Bullet — 帮助消除 N+1 查询和未使用的预加载。

  • bundler-audit — 审计 Gemfile.lock,查找在 Ruby Advisory Database 中报告存在安全漏洞的 gem。

  • cane ⚠️ — 作为构建一部分的代码质量阈值检查。

  • Churn ⚠️ — 一个项目,用于给出某个项目在特定 checkin 下的文件、类和方法的变更量。随着时间推移,该工具会累加变更历史,得出文件、类或方法在项目生命周期中被修改的次数。

  • DatabaseConsistency — 用于避免因数据库模式与应用模型之间的不一致和低效而导致的各种问题的工具。

  • dawnscanner — 针对 Ruby 编写的 Web 应用的静态分析安全扫描器。支持 Sinatra、Padrino 和 Ruby on Rails 框架。

  • ERB Lint — 检查您的 ERB 或 HTML 文件

  • ERB::Formatter — 快速、精确地格式化 ERB 文件。

  • Fasterer — 常见 Ruby 惯用写法检查器。

  • flay — Flay 分析代码的结构相似性。

  • flog — Flog 以易于阅读的痛苦报告形式报告最折磨人的代码。分数越高,代码承受的痛苦越多。

  • Fukuzatsu — 一种用于度量 Ruby 类文件中代码复杂度的工具。其分析基于圈复杂度算法生成分数,不附带任何“主观意见”。

  • htmlbeautifier — 一个 HTML 规范化/美化工具,也能理解内嵌的 Ruby。非常适合整理 Rails 模板。

  • laser ⚠️ — Ruby 代码的静态分析和样式 linter。

  • MetricFu ⚠️ — MetricFu 是一组工具,用于提供报告,显示代码中哪些部分可能需要额外处理。

  • pelusa — 静态分析 Lint 类型工具,用于改进您的面向对象 Ruby 代码。

Rust

  • C2Rust — C2Rust 帮助您将符合 C99 规范的代码迁移到 Rust。该转换器(或转译器)生成与输入 C 代码高度对应的 unsafe Rust 代码。

  • cargo udeps — 查找 Cargo.toml 中未使用的依赖。它会输出一行 “unused crates” 列出这些 crate,或者输出一行表示没有未使用的 crate。

  • cargo-audit — 审计 Cargo.lock,查找提交到 RustSec Advisory Database 的存在安全漏洞的 crate。

  • cargo-bloat ⚠️ — 找出可执行文件中占用空间最大的部分。支持 ELF(Linux、BSD)、Mach-O(macOS)和 PE(Windows)二进制文件。

  • cargo-breaking — cargo-breaking 比较一个 crate 在两个不同分支之间的公共 API,显示发生了什么变化,并根据 semver 建议下一个版本。

  • cargo-call-stack — 全程序静态栈分析。该工具以 dot 文件形式生成程序的完整调用图。

  • cargo-deny — 用于检查依赖的 cargo 插件。它可以作为命令行工具、Rust crate 或用于 CI 的 GitHub Action 使用。它会检查许可证信息是否有效、重复的 crate、安全漏洞等。

  • cargo-expand — Cargo 子命令,用于显示应用于当前 crate 的宏展开和 #[derive] 展开结果。这是对更冗长的编译器命令的封装。

  • cargo-geiger — 一个用于分析 unsafe Rust 代码使用情况的 cargo 插件。提供统计输出,以辅助安全审计

  • cargo-inspect ⚠️ — 检查去除语法糖后的 Rust 代码,看看编译器在幕后做了什么。

  • cargo-semver-checks — 扫描您的 Rust crate 版本是否存在 semver 违规。它可以通过 CLI 直接使用、作为 CI 中的 GitHub Action,或通过 release-plz 等发布管理器使用。它在 crates.io 上下载量最高的 1000 个 crate 中,超过六分之一发现了 semver 违规。

  • cargo-show-asm — cargo 子命令,显示为 Rust 代码生成的汇编、LLVM-IR 和 MIR

  • cargo-spellcheck — 使用 hunspell(已就绪)和 languagetool(预览)检查您所有文档中的拼写和语法错误

  • 内存安全(例如,空指针解引用)
  • 用户指定的断言(即 assert!(...))
  • 不存在 panic(例如,对 None 值调用 unwrap())
  • 不存在某些类型的意外行为(例如,算术溢出)
  • linter-rust ⚠️ — 在 Atom 中使用 rustc 和 cargo 检查您的 Rust 文件。

  • lockbud — 静态检测 Rust 死锁 bug。目前可检测两种常见的死锁 bug:双重加锁和以冲突顺序加锁。它会以 JSON 格式输出 bug,并附带源代码位置和每个 bug 的说明。

  • MIRAI ⚠️ — 一个在 Rust 中级中间语言上运行的抽象解释器,基于污点分析提供警告。

  • prae ⚠️ — 提供了一个便捷的宏,允许您生成类型包装器,这些包装器承诺始终维护您指定的任意不变量。

  • Prusti ⚠️ — 基于 Viper 验证基础设施的 Rust 静态验证器。默认情况下,Prusti 通过证明 unreachable!() 和 panic!() 等语句不可达来验证不存在 panic。

  • Rudra — Rust 内存安全与未定义行为检测。它能够分析单个 Rust 包以及 crates.io 上的所有包。

  • Rust Language Server ⚠️ — 支持“转到定义”、符号搜索、重新格式化和代码补全等功能,并支持重命名和重构。

  • rust-analyzer — 支持“转到定义”、类型推断、符号搜索、重新格式化和代码补全等功能,并支持重命名和重构。

  • rust-audit — 审计 Rust 二进制文件是否存在已知 bug 或安全漏洞。其原理是将依赖树(Cargo.lock)的 JSON 格式数据嵌入到编译后可执行文件的专用链接器段中。

  • rustfix — 读取并应用 rustc(以及第三方 lint,如 clippy 提供的 lint)提出的建议。

  • rustfmt — 根据样式指南格式化 Rust 代码的工具。

  • RustViz — RustViz 是一种从简单 Rust 程序生成可视化效果的工具,帮助用户更好地理解 Rust 的生命周期和借用机制。它生成带有图形指示符的 SVG 文件,并与 mdbook 集成以渲染 Rust 程序中的数据流可视化。

  • TangleGuard ©️ — 帮助您理解并维护可扩展的软件架构。为此,它会从源代码生成一个交互式、嵌套的依赖关系图。您可以选择详细程度,获得代码库中对您重要的部分。

  • warnalyzer ⚠️ — 显示多 crate Rust 项目中未使用的代码

SQL

  • dbcritic — dbcritic 查找数据库模式中的问题,例如表中缺少主键约束。

  • holistic — 超过 1,300 条规则来分析 SQL 查询。接收 SQL 模式定义和查询源代码,生成改进建议。检测代码坏味道、未使用的索引、未使用的表、视图、物化视图等。

  • pgspot — 发现 postgres 扩展脚本中的漏洞。查找 PostgreSQL 扩展脚本或任何其他 PostgreSQL SQL 代码中不安全的 search_path 用法和不安全的对象创建。

  • sleek — Sleek 是一个用于格式化 SQL 的 CLI 工具。它帮助您在 SQL 代码中保持一致的风格,提高可读性和生产力。繁重的工作由 sqlformat crate 完成。

  • sqlcheck ⚠️ — 自动识别 SQL 查询中的反模式。

  • SQLFluff — 多方言 SQL linter 和格式化工具。

  • sqlint — 简单的 SQL linter。- squawk — 面向 PostgreSQL 的 linter,专注于数据库迁移。可防止因数据库迁移导致的意外停机,并鼓励围绕 Postgres 模式与 SQL 采用最佳实践。

  • tsqllint ⚠️ — 专用于 T-SQL 的 linter。

  • TSqlRules ⚠️ — 用于 SQL Server 的 TSQL 静态代码分析规则。

  • Visual Expert ©️ — 面向 PowerBuilder、Oracle 和 SQL Server 的代码分析工具,可探索、分析并记录代码

Scala

  • linter ⚠️ — Linter 是一个 Scala 静态分析编译器插件,可为各种可能的 bug、低效问题和风格问题添加编译时检查。

  • Scalastyle — Scalastyle 检查你的 Scala 代码并指出其中潜在的问题。

  • scapegoat — 用于静态代码分析的 Scala 编译器插件。

  • WartRemover — 一个灵活的 Scala 代码 lint 工具。

Shell

  • bashate — 用于 bash 程序的代码风格强制检查工具。其输出格式旨在遵循 pycodestyle(pep8)的默认输出格式。

  • i-Code CNES for Shell ⚠️ — 面向 Shell 和 Fortran(77 和 90)的开源静态代码分析工具。

  • kmdr — 用于在终端中学习命令的 CLI 工具。kmdr 会分解命令并解释每个属性。

  • sh — 支持 bash 的 shell 解析器、格式化器和解释器;包含 shfmt

  • shellcheck — ShellCheck,一个为 bash/sh shell 脚本提供警告和建议的静态分析工具。

  • shellharden — 一个语法高亮器,也是一个半自动将脚本重写为符合 ShellCheck 要求的工具,主要关注引号处理。

Swift

  • SwiftFormat — 一个用于重新格式化 Swift 代码的库和命令行格式化工具。

  • SwiftLint — 用于强制执行 Swift 风格和约定的工具。

  • Tailor ⚠️ — 针对使用 Apple Swift 编程语言编写的源代码的静态分析和 lint 工具。

Tcl

  • Frink — 一个 Tcl 格式化和静态检查程序(可以美化、压缩、混淆程序,或仅对其进行健全性检查)。

  • Nagelfar — 用于 Tcl 的静态语法检查器。

  • tclchecker — 一个静态语法分析模块(作为 TDK 的一部分)。

TypeScript

  • Angular ESLint — 用于 Angular 项目的 linter

  • Codelyzer ⚠️ — 用于 Angular 2 TypeScript 项目静态代码分析的一组 tslint 规则。

  • ENRE-ts ⚠️ — ENRE(ENtity Relationship Extractor,实体关系提取器)是一种从源代码中提取代码实体依赖或关系的工具。ENRE-ts 是基于 @babel/parser 的 ECMAScript 和 TypeScript 实体关系提取器。

  • fta — 基于 Rust 的 TypeScript 项目静态分析

  • stc ⚠️ — 用 Rust 编写的快速 TypeScript 类型检查器

  • tslint ⚠️ — TSLint 自 2019 年起已被弃用。请参阅此问题了解更多详情。typescript-eslint 现在是你对 TypeScript 进行 lint 的最佳选择。 TSLint 是一个可扩展的静态分析工具,用于检查 TypeScript 代码的可读性、可维护性和功能性错误。它受到现代编辑器和构建系统的广泛支持,并且可以使用你自己的 lint 规则、配置和格式化器进行自定义。

  • tslint-clean-code — 一套灵感来自《Clean Code》手册的 TSLint 规则。

  • tslint-microsoft-contrib ⚠️ — 一组由微软维护的用于 TypeScript 项目静态代码分析的 tslint 规则。

  • TypeScript Call Graph — 用于从你的 TypeScript 文件生成交互式函数和调用关系图的 CLI

  • TypeScript ESLint — 用于 eslint 的 TypeScript 语言扩展。

  • zod — 以 TypeScript 优先的模式验证,支持静态类型推断。其目标是消除重复的类型声明。使用 Zod,你只需声明一次验证器,Zod 就会自动推断出静态 TypeScript 类型。可以轻松地将较简单的类型组合成复杂的数据结构。

Verilog/SystemVerilog

  • Icarus Verilog ⚠️ — 一个 Verilog 仿真和综合工具,通过将使用 IEEE-1364 Verilog 编写的源代码编译为某种目标格式来运行

  • svls — 针对 Verilog 和 SystemVerilog 的 Language Server Protocol 实现,包含 lint 功能。

  • verible-linter-action ⚠️ — 借助 Verible 在 GitHub Actions 中自动进行 SystemVerilog lint。用于对 Verilog 和 SystemVerilog 源文件进行 lint,并在 Pull Request 中自动注释错误的代码行。

  • Verilator — 一个将 Verilog 转换为 C++ 或 SystemC 中周期精确行为模型的工具。可执行 lint 代码质量检查。

  • vscode-verilog-hdl-support — 为 VS Code 提供 Verilog HDL/SystemVerilog/Bluespec SystemVerilog 支持。提供来自 Icarus Verilog、Vivado Logical Simulation、Modelsim 和 Verilator 的语法高亮和 lint 支持

Vim Script

  • vint ⚠️ — 由 Python 实现的快速且高度可扩展的 Vim script 语言 lint 工具。

WebAssembly

  • Twiggy — 分析二进制的调用图以分析代码大小,目标是缩减 wasm 二进制文件的大小。

  • wasm-language-tools — WebAssembly Language Tools 旨在提供并改进 WebAssembly 文本格式的编辑体验。它还提供了开箱即用的 WebAssembly 文本格式格式化器(即 pretty printer)。

多种语言

  • ale — 适用于 Vim 和 NeoVim 的异步 lint 引擎,支持多种语言。

  • Android Studio — 基于 IntelliJ IDEA,并附带包括 Android Lint 在内的 Android 工具。

  • AppChecker ©️ — 面向 C/C++/C#、PHP 和 Java 的静态分析。

  • Application Inspector ©️ — 商业静态代码分析工具,可生成漏洞利用代码来验证漏洞。

  • ApplicationInspector — 生成超过 400 种规则模式的特征检测报告(例如应用中使用密码学或版本控制的情况)。

  • ArchUnit — 对 Java 或 Kotlin 架构进行单元测试。

  • ast-grep — ast-grep 是一个强大的工具,旨在使用抽象语法树(AST)大规模管理代码。可以把它看作是 grep、eslint 和 codemod 的混合体,能够基于代码结构而非纯文本进行搜索、lint 和重写。 它支持多种语言,并且设计为可扩展的,允许你注册自定义语言。

  • Atom-Beautify ⚠️ — 在 Atom 编辑器中美化 HTML、CSS、JavaScript、PHP、Python、Ruby、Java、C、C++、C#、Objective-C、CoffeeScript、TypeScript、Coldfusion、SQL 等代码。

  • autocorrect — 一个 linter 和格式化器,帮助你改进文案写作,修正中日韩(CJK)文字之间的空格、词语和标点。

  • Axivion Bauhaus Suite ©️ — 针对 C/C++、C#/.NET、Java 和 Ada 83/Ada 95,追踪易出错代码位置、风格违规、克隆或死代码、循环依赖等问题。

  • Bearer — 开源静态代码分析工具,用于发现、筛选并优先处理导致敏感数据泄露(PII、PHI、PD)的安全风险和漏洞。高度可配置且易于扩展,专为安全和工程团队打造。

  • Better Code Hub ©️ — Better Code Hub 会对照软件质量权威机构 Software Improvement Group 制定的 10 项工程准则检查你的 GitHub 代码库。

  • Betterscan CE ⚠️ — 检查你的代码和基础设施(支持各种 Git 仓库、云技术栈、CLI、Web 界面平台,并提供集成)中的安全和质量问题。使用众多工具/扫描器进行代码扫描/SAST/lint,并通过一份报告去重(可选 AI)。

  • biome — 一个面向 Web 项目的工具链,旨在提供维护 Web 项目的功能。Biome 能在不到一秒的时间内完成代码格式化和 lint。它是 Rome 的后继者,被设计为最终取代 Babel、ESLint、webpack、Prettier、Jest 等工具。

  • BlockWatch — 一个与语言无关的 linter,可保持代码、文档和配置同步,并强制执行严格的格式化和验证规则。

其他

.env

  • GitGuardian ggshield — ggshield 是一款 CLI 应用程序,可在您的本地环境或 CI 环境中运行,帮助您检测 350 多种类型的机密信息,以及影响您代码库的其他潜在安全漏洞或策略违规。

Ansible

  • kics — 在您的基础设施即代码中查找安全漏洞、合规性问题和基础设施错误配置。支持 Terraform、Kubernetes、Docker、AWS CloudFormation 和 Ansible

  • Steampunk Spotter ©️ — Ansible Playbook 扫描工具,可分析您的 playbook 并提供建议。

归档

  • alquitran ⚠️ — 检查 tar 归档文件,并尝试发现与 POSIX 2017 pax 规范和常见 tar 实现相关的可移植性问题。 该项目旨在供希望为尽可能多的系统提供可移植源代码归档的项目维护者使用。在发布 tar 归档之前使用 alquitran 进行检查,有助于在问题到达分发商和用户之前发现它们。

  • packj — Packj(发音为 package)是一个命令行(CLI)工具,用于审查开源软件包中使其容易遭受供应链攻击的"风险"属性。这是我们大规模安全分析平台 Packj.dev 背后的工具,该平台持续审查软件包并提供免费报告。

  • pure ⚠️ — Pure 是一个静态分析文件格式检查器,用于检查 ZIP 文件的危险压缩比、规范偏差、恶意归档签名、不匹配的本地和中央目录头、有歧义的 UTF-8 文件名、目录和符号链接遍历、无效的 MS-DOS 日期、重叠头、上溢、下溢、稀疏性、意外缓冲区泄漏等。

Azure Resource Manager

  • AzSK — Azure 安全 DevOps 工具包(AzSK)提供安全 IntelliSense、安全验证测试(SVT)、CICD 扫描漏洞、合规性问题以及基础设施即代码中的基础设施错误配置。通过 ARM 支持 Azure。

二进制

  • angr — 二进制代码分析工具,同时支持符号执行。

  • binbloom — 分析原始二进制固件并确定字节序或加载地址等特性。该工具兼容所有架构。 加载地址:binbloom 可以解析原始二进制固件并确定其加载地址。字节序:binbloom 可以使用启发式方法确定固件的字节序。UDS 数据库:binbloom 可以解析原始二进制固件,并检查其中是否包含一个由 UDS 命令 ID 组成的数组。

  • BinSkim — 一种二进制静态分析工具,为 Windows 可移植可执行文件提供安全性和正确性结果。

  • Black Duck ©️ — 分析源代码和二进制文件中可复用代码、必要许可证和潜在安全方面的工具。

  • bloaty — 有没有想过是什么让你的二进制文件变大?Bloaty McBloatface 会向您展示二进制文件的大小分布情况,让您了解内部占用空间的是什么。Bloaty 对二进制文件进行深度分析。利用自定义的 ELF、DWARF 和 Mach-O 解析器,Bloaty 旨在将二进制文件的每一个字节准确归因于产生它的符号或编译单元。它甚至会反汇编二进制文件以查找对匿名数据的引用。F

  • cargo-bloat ⚠️ — 找出可执行文件中占用空间最多的部分。支持 ELF(Linux、BSD)、Mach-O(macOS)和 PE(Windows)二进制文件。

  • cwe_checker — cwe_checker 在二进制可执行文件中查找易受攻击的模式。

  • Ghidra — 由 NSA 研究理事会开发的软件逆向工程(SRE)工具套件,以支持网络安全任务

  • Hopper ©️ — 适用于 macOS 和 Linux 的逆向工程工具,可让您反汇编、反编译和调试应用程序。Hopper 使用不同的表示形式显示代码,例如控制流图和过程的伪代码。支持 Apple Silicon。

  • IDA Free ©️ — 二进制代码分析工具。

  • Jakstab — Jakstab 是一个基于抽象解释的集成反汇编和静态分析框架,用于设计针对可执行文件的分析并恢复可靠的控制流图。

  • JEB Decompiler ©️ — 反编译和调试二进制代码。分解和分析文档文件。Android Dalvik、MIPS、ARM、Intel x86、Java、WebAssembly 和 Ethereum 反编译器。

  • Malcat ©️ — 用于恶意软件分析和二进制文件检查的十六进制编辑器和反汇编器。支持 50 多种文件格式和多种 CPU 架构(x86/x64、MIPS、.NET、Python、VB p-code)。具有快速分析、嵌入文件提取、Yara 签名扫描、异常检测和 Python 脚本功能。专为恶意软件分析师、SOC 操作员、事件响应人员和 CTF 玩家而设计。

  • Manalyze — 一个静态分析器,用于检查可移植可执行文件中是否包含恶意内容。

  • mcsema ⚠️ — 用于将 x86、amd64、aarch64、sparc32 和 sparc64 程序二进制文件提升到 LLVM 位码的框架。它将可执行二进制文件从本机机器码转换("提升")为 LLVM 位码,这对于执行程序分析方法非常有用。

构建工具

  • checkmake — Makefile 的代码检查工具/分析器。

  • portlint — FreeBSD 和 DragonFlyBSD 端口目录的验证器。

CSS/SASS/SCSS

  • CSS Stats — 可能值得关注的样式表统计信息。

  • CSScomb — CSS 的编码风格格式化工具。支持自定义配置,使样式表美观且一致。

  • CSSLint — 执行基本语法检查,并发现存在问题的模式或效率低下的迹象。

  • GraphMyCSS.com — CSS 特异性图生成器。

  • Nu Html Checker — 帮助您发现 HTML/CSS/SVG 中的问题

  • Parker ⚠️ — 样式表分析工具。

  • PostCSS — 一个使用 JS 插件转换样式的工具。这些插件可以检查您的 CSS、支持变量和 mixin、转译未来的 CSS 语法、内联图像等。

  • Project Wallace CSS Analyzer — CSS 分析工具,是 Project Wallace 的一部分。

  • sass-lint ⚠️ — 一个仅适用于 Node 的 Sass 代码检查工具,支持 sass 和 scss 语法。

  • scsslint ⚠️ — SCSS 文件的代码检查工具。

  • Specificity Graph — CSS 特异性图生成器。

  • Stylelint — SCSS/CSS 文件的代码检查工具。


阅读更多

下载工具
ABAPErlangPL/SQL
AdaF#Perl
汇编语言FortranPython
AwkGoR
CGroovyRego
C#HaskellRuby
C++HaxeRust
ClojureJavaSQL
CoffeeScriptJavaScriptScala
ColdFusionJuliaShell
CrystalKotlinSwift
DartLuaTcl
DelphiMATLABTypeScript
DlangNimVerilog/SystemVerilog
ElixirOcamlVim Script
ElmPHPWebAssembly
.envEmbedded Ruby(又称 ERB、eRuby)Prometheus
AnsibleGherkinProtocol Buffers
归档HTMLPuppet
Azure Resource ManagerJSONRails
二进制文件Kubernetes安全/SAST
构建工具LaTeX智能合约
CSS/SASS/SCSSLaravel支持
配置文件Makefiles模板语言
配置管理MarkdownTerraform
容器Metalinter翻译
持续集成移动端Vue.js
DenoNix写作
DockerfileNode.jsYAML
嵌入式软件包git
  • Goblint — 用于分析多线程 C 程序的静态分析器。它主要专注于数据竞争检测,同时也会报告其他运行时错误,如缓冲区溢出和空指针解引用。

  • Helix QAC ©️ — 面向嵌入式软件的企业级静态分析。支持 MISRA、CERT 和 AUTOSAR 编码标准。

  • IKOS — 基于 LLVM 的可靠 C/C++ 代码静态分析器。

  • KLEE — 构建于 LLVM 编译器基础设施之上的动态符号执行引擎。它可以为程序自动生成测试用例,使测试用例尽可能多地覆盖程序的执行路径。

  • LDRA ©️ — 一个工具套件,包含符合多种标准的静态分析(TBVISION),涵盖 MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++ 及自定义规则。

  • MATE ⚠️ — 一套用于交互式程序分析的工具,专注于在 C 和 C++ 代码中寻找 bug。MATE 使用代码属性图(CPG)统一了应用特定分析与底层漏洞分析,能够发现高度依赖实现细节和目标 C/C++ 程序高层语义的应用特定漏洞。

  • PC-lint ©️ — 面向 C/C++ 的静态分析。原生运行于 Windows/Linux/MacOS。可分析几乎所有平台的代码,支持 C11/C18 和 C++17。

  • Phasar — 一个基于 LLVM 的静态分析框架,附带污点分析和类型状态分析。

  • Polyspace Bug Finder ©️ — 识别 C 和 C++ 嵌入式软件中的运行时错误、并发问题、安全漏洞及其他缺陷。

  • Polyspace Code Prover ©️ — 提供代码验证,证明 C 和 C++ 源代码中不存在溢出、除零、数组越界访问及其他某些运行时错误。

  • scan-build — 通过常规构建驱动 Clang 内置静态分析器的前端工具。

  • splint — 注解辅助的静态程序检查器。

  • SVF — 一种静态工具,可为 C 和 C++ 程序实现可扩展且精确的过程间依赖分析。

  • TrustInSoft Analyzer ©️ — 全面检测编码错误及其相关的安全漏洞。这包括可靠的未定义行为检测(缓冲区溢出、数组越界访问、空指针解引用、释放后使用、除零、未初始化内存访问、有符号溢出、无效指针运算等)、数据流和控制流验证,以及形式化规范的完整功能验证。支持直至 C18 的所有 C 版本以及直至 C++20 的所有 C++ 版本。TrustInSoft Analyzer 将于 2023 年第二季度获得 ISO 26262 认证(TCL3)。同时捆绑了 MISRA C 检查器。

  • vera++ ⚠️ — Vera++ 是一个可编程工具,用于 C++ 源代码的验证、分析和转换。

  • IKOS — 基于 LLVM 的可靠 C/C++ 代码静态分析器。

  • KLEE — 构建于 LLVM 编译器基础设施之上的动态符号执行引擎。它可以为程序自动生成测试用例,使测试用例尽可能多地覆盖程序的执行路径。

  • LDRA ©️ — 一个工具套件,包含符合多种标准的静态分析(TBVISION),涵盖 MISRA C & C++、JSF++ AV、CWE、CERT C、CERT C++ 及自定义规则。

  • MATE ⚠️ — 一套用于交互式程序分析的工具,专注于在 C 和 C++ 代码中寻找 bug。MATE 使用代码属性图(CPG)统一了应用特定分析与底层漏洞分析,能够发现高度依赖实现细节和目标 C/C++ 程序高层语义的应用特定漏洞。

  • PC-lint ©️ — 面向 C/C++ 的静态分析。原生运行于 Windows/Linux/MacOS。可分析几乎所有平台的代码,支持 C11/C18 和 C++17。

  • Phasar — 一个基于 LLVM 的静态分析框架,附带污点分析和类型状态分析。

  • Polyspace Bug Finder ©️ — 识别 C 和 C++ 嵌入式软件中的运行时错误、并发问题、安全漏洞及其他缺陷。

  • Polyspace Code Prover ©️ — 提供代码验证,证明 C 和 C++ 源代码中不存在溢出、除零、数组越界访问及其他某些运行时错误。- scan-build — 用于通过常规构建驱动 Clang 内置静态分析器的前端工具。

  • splint — 基于注解辅助的静态程序检查器。

  • SVF — 一种静态工具,可为 C 和 C++ 程序提供可扩展且精确的跨过程依赖分析。

  • TrustInSoft Analyzer ©️ — 全面检测编码错误及其相关的安全漏洞。这包括可靠的未定义行为检测(缓冲区溢出、数组越界访问、空指针解引用、释放后使用、除零、未初始化内存访问、有符号溢出、无效指针运算等)、数据流与控制流验证,以及形式化规范的完整功能验证。支持直至 C18 的所有 C 版本和直至 C++20 的所有 C++ 版本。TrustInSoft Analyzer 将于 Q2'2023 获得 ISO 26262 认证(TCL3)。同时还捆绑了 MISRA C 检查器。

  • vera++ ⚠️ — Vera++ 是一款可编程工具,用于 C++ 源代码的验证、分析和转换。

  • gofmt -s — 检查代码格式是否正确,且无法进一步简化。

  • gofumpt — 强制执行比 gofmt 更严格的格式,同时保持向后兼容。也就是说,gofumpt 接受的格式是 gofmt 所接受格式的子集。 该工具是 Go 1.19 版 gofmt 的一个分支,需要 Go 1.18 或更高版本。它可以作为 gofmt 的直接替代品来格式化您的 Go 代码,且在 gofumpt 之后运行 gofmt 不应产生任何更改。 gofumpt 永远不会添加与 gofmt 格式不一致的规则。因此,我们是扩展 gofmt 而非与其竞争。

  • goimports — 检查缺失或未被引用的包导入。

  • gokart — 专注于最大限度减少误报的 Golang 安全分析。它能够追踪变量和函数参数的来源,以确定输入源是否安全。

  • GolangCI-Lint — Go 的快速代码检查器运行器。它聚合多个 Go 代码检查器,并提供统一的配置、缓存和输出格式。是 Go Meta Linter 的替代品。

  • golint — 输出 Go 源代码中的编码风格错误。

  • goreporter — 并发运行多个代码检查器,并将其输出规范化为报告。

  • goroutine-inspect — 一款用于分析 Golang goroutine 转储的交互式工具。

  • gosec (gas) — 通过扫描 Go AST 检查源代码中的安全问题。

  • gotype — 与 Go 编译器类似的语法和语义分析。

  • govulncheck — Govulncheck 报告影响 Go 代码的已知漏洞。它使用源代码或二进制文件符号表的静态分析,将报告缩小到仅影响应用程序的漏洞。 默认情况下,govulncheck 会向位于 https://vuln.go.dev 的 Go 漏洞数据库发出请求。对漏洞数据库的请求仅包含模块路径,不包含您的程序代码或其他属性。

  • ineffassign — 检测 Go 代码中的无效赋值。

  • interfacer ⚠️ — 建议可使用更窄的接口。

  • lll — 报告过长的代码行。

  • maligned ⚠️ — 检测那些如果对其字段进行排序可占用更少内存的结构体。

  • misspell — 查找常见拼写错误的英文单词。

  • nakedret ⚠️ — 查找裸返回。

  • nargs — 查找函数声明中未使用的参数。

  • OSV-Scanner — 用 Go 编写的漏洞扫描器,使用 OSV.dev 提供的数据。由 Google 开发,用于跨多种语言和包管理器扫描依赖项中的已知漏洞。支持容器扫描、许可证扫描和引导式修复。可配合锁文件、SBOM 和容器镜像来识别安全问题。

  • prealloc — 查找可能被预分配的切片声明。

  • Reviewdog — 一款用于在任何代码托管服务中发布来自任何代码检查器的审查评论的工具。

  • revive — 一款快速、可配置、可扩展、灵活且美观的 Go 代码检查器。可直接替代 golint。

  • safesql ⚠️ — 用于 Golang 的静态分析工具,可防范 SQL 注入。

  • shisho ⚠️ — 一款面向开发人员和安全团队的轻量级静态代码分析器。它允许您使用类似 sed 的直观 DSL 分析和转换源代码,但针对的是代码。

  • staticcheck — 专长于查找 bug、简化代码和提升性能的 Go 静态分析工具。

  • structcheck — 查找未使用的结构体字段。

  • structslop — Go 静态分析器,建议重新排列结构体字段以实现最大的空间/分配效率。

  • test — 显示 stdlib 测试模块中测试失败的位置。

  • unconvert ⚠️ — 检测冗余的类型转换。

  • unparam — 查找未使用的函数参数。

  • varcheck — 查找未使用的全局变量和常量。

  • wsl — 强制在正确的位置添加空行。

  • IntelliJ IDEA
  • JArchitect ©️ — 度量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。

  • JBMC — Java(字节码)的有界模型检查器,可验证用户自定义断言、标准断言,并进行多种覆盖率度量分析。

  • JLiSA — 一个构建于 LiSA 框架之上、基于抽象解释的 Java 静态分析器。

  • Mariana Trench — 我们面向 Android 和 Java 应用程序、以安全为重点的静态分析工具。Mariana Trench 分析 Dalvik 字节码,专为在大型代码库(数千万行代码)上快速运行而构建。它可以在代码变更落入您的代码仓库之前发现漏洞。

  • NullAway — 基于类型的空指针检查器,构建时开销低;是 Error Prone 的插件。

  • OWASP Dependency Check ⚠️ — 检查依赖项中已知的、已公开披露的漏洞。

  • qulice — 组合了若干(预配置的)静态分析工具(checkstyle、PMD、Findbugs 等)。

  • RefactorFirst — 识别 Java 代码库中应优先重构的上帝类和高耦合类,并确定其优先级。

  • Soot — 一个用于分析和转换 Java 和 Android 应用程序的框架。

  • Spoon — Spoon 是一个用于分析和转换 Java 源代码(包括 Java 9、10、11、12、13、14)的元编程库。它解析源文件以构建设计良好的 AST,并提供强大的分析和转换 API。可集成到 Maven 和 Gradle 中。

  • SpotBugs — SpotBugs 是 FindBugs 的继任者。一款通过静态分析查找 Java 代码中 bug 的工具。- steady ⚠️ — 分析您的 Java 应用程序中是否存在具有已知漏洞的开源依赖项,结合静态分析和测试来确定代码上下文和用法,以提高准确性。

  • Violations Lib — 用于解析静态代码分析报告文件的 Java 库。被许多 Jenkins、Maven 和 Gradle 插件使用。

  • standard — 一个 npm 模块,用于检查 JavaScript 风格指南问题。

  • tern — 一个 JavaScript 代码分析器,提供深入的跨编辑器语言支持。

  • TypL ⚠️ — 使用 TypL,您只需编写完全标准的 JS,该工具会通过强大的推断来确定您的类型。

  • xo — 一个固执己见但可配置的 ESLint 包装器,包含许多好东西。强制编写严格且可读的代码。

  • yardstick ⚠️ — JavaScript 代码度量。

  • PHP Assumptions
  • PHP Coding Standards Fixer — 根据 PSR-1、PSR-2 和 Symfony 标准等标准修复您的代码。

  • PHP Insights — 从您的控制台即时进行 PHP 质量检查。分析代码质量和编码风格,并概述代码架构及其复杂性。

  • Php Inspections (EA Extended) — 一个 PHP 静态代码分析器。

  • PHP Refactoring Browser — 重构助手。

  • PHP Semantic Versioning Checker — 根据语义化版本建议下一个版本。

  • PHP-Parser — 一个用 PHP 编写的 PHP 解析器。

  • php-speller — PHP 拼写检查库。

  • PHP-Token-Reflection ⚠️ — 模拟 PHP 内部反射的库。

  • php7cc ⚠️ — PHP 7 兼容性检查器。

  • php7mar ⚠️ — 协助开发人员快速将其代码移植到 PHP 7。

  • PHP_CodeSniffer ⚠️ — 检测违反定义的一组编码标准的行为。

  • PHPArkitect — PHPArkitect 通过在您的工作流程中添加一些架构约束检查,帮助您保持 PHP 代码库的一致性和稳固性。您可以用简单易读的 PHP 代码表达想要强制执行的约束。

  • phpca ⚠️ — 查找非内置扩展的使用。

  • phpcpd ⚠️ — PHP 代码的复制/粘贴检测器。

  • phpdcd ⚠️ — PHP 代码的死代码检测器 (DCD)。

  • PhpDependencyAnalysis ⚠️ — 为项目构建依赖关系图。

  • PhpDeprecationDetector ⚠️ — PHP 代码分析器,用于查找新解释器版本中已弃用功能的问题。它可发现已移除的对象(函数、变量、常量和 ini 指令)、已弃用的函数功能,以及禁止的名称或技巧的使用(例如新版本中的保留标识符)。

  • phpdoc-to-typehint ⚠️ — 使用 PHPDoc 注解为现有 PHP 项目添加标量类型提示和返回类型。

  • phpDocumentor — 分析 PHP 源代码以生成文档。

  • phploc ⚠️ — 一种快速测量 PHP 项目规模并分析其结构的工具。

  • PHPMD — 发现代码中可能存在的错误。

  • PhpMetrics — 计算并可视化各种代码质量度量。

  • phpmnd — 帮助检测魔法数字。

  • PHPQA — 一个用于运行 QA 工具(phploc、phpcpd、phpcs、pdepend、phpmd、phpmetrics)的工具。

  • phpqa - jakzal — 一个容器中包含许多 PHP 静态分析工具。

  • phpqa - jmolivas — PHPQA 一体化分析器 CLI 工具。

  • phpsa ⚠️ — PHP 静态分析工具。

  • PHPStan — PHP 静态分析工具 - 无需运行即可发现代码中的错误!

  • Progpilot — 一个用于安全目的的静态分析工具。

  • Psalm — 用于查找 PHP 应用程序中类型错误的静态分析工具。

  • Qafoo Quality Analyzer ⚠️ — 可视化度量和源代码。

  • rector — 对任何 PHP 5.3+ 代码进行即时升级和自动化重构。它可将您的代码升级到 PHP 7.4、8.0 及更高版本。Rector 承诺低误报率,因为它查找严格定义的 AST(抽象语法树)模式。主要用例是处理遗留代码中的技术债务和删除死代码。Rector 为 Symfony、Doctrine、PHPUnit 等提供一组特殊规则。

  • Reflection — 用于对 PHP 项目进行静态分析的反射库。

  • Symfony Insight ©️ — 检测安全风险、查找错误并为 PHP 项目提供可操作的度量。

  • Tuli — 一个静态分析引擎。

  • twig-lint — twig-lint 是用于您的 twig 文件的 lint 工具。

  • WAP — 用于检测和纠正 PHP(4.0 或更高版本)Web 应用程序中输入验证漏洞的工具,并通过结合静态分析和数据挖掘来预测误报。

  • flake8 — pyflakes、pycodestyle 和 mccabe 的包装器。

  • flakeheaven — flakeheaven 是一个围绕 flake8 构建的 Python linter,以实现可继承和复杂的 toml 配置。

  • Griffe — 整个 Python 程序的签名。提取项目的结构、框架和骨架,以生成 API 文档或发现 API 中的重大更改。

  • InspectorTiger ⚠️ — IT,即 Inspector Tiger,是一个现代的 Python 代码审查工具/框架。它附带了许多预定义的处理程序,可警告您改进机会和可能存在的错误。除了这些处理程序外,您还可以编写自己的处理程序或使用社区提供的处理程序。

  • jedi — 用于 Python 的自动补全/静态分析库。

  • linty fresh — 解析 lint 错误,并以拉取请求评论的形式将其报告到 Github。

  • mbake — mbake 是一个 Makefile 格式化程序和 linter。只花了 50 年!

  • mccabe ⚠️ — 检查 McCabe 复杂度。

  • multilint ⚠️ — flake8、isort 和 modernize 的包装器。

  • mypy — 一个静态类型检查器,旨在结合鸭子类型和静态类型的优点,常与 MonkeyType 一起使用。

  • pip-audit — 用于扫描 Python 包以查找已知漏洞的工具。由 Python 打包管理局 (PyPA) 开发,并得到 Trail of Bits 和 Google 的支持。扫描 Python 环境和 requirements 文件以识别易受攻击的包并建议修复措施。支持 GitHub Actions、pre-commit 钩子和多种漏洞服务集成。

  • prospector — pylint、pep8、mccabe 等的包装器。- py-find-injection ⚠️ — 查找 Python 代码中的 SQL 注入漏洞。

  • pyanalyze — 一种以编程方式检测 Python 代码中常见错误的工具,例如引用未定义变量和类型错误。它可以扩展以添加额外规则,并对特定函数执行针对性检查。

  • pycodestyle — (前身为 pep8)根据 PEP 8 中的部分样式约定检查 Python 代码。

  • pydocstyle ⚠️ — 检查是否符合 Python 文档字符串约定。

  • pyflakes — 检查 Python 源文件中的错误。

  • pylint — 查找编程错误,帮助强制执行编码标准,并找出一些代码坏味道。此外还包含 pyreverse(UML 图生成器)和 symilar(相似性检查器)。

  • pylyzers ⚠️ — 用 Rust 编写的 Python 静态代码分析器/语言服务器,专注于类型检查和可读性强的输出。

  • Pyra — Pyra 是一个用于数据科学应用的高级 linter 静态分析器,用 Python 编写,作为 Lyra 的扩展,帮助开发者发现其 Python 数据科学代码中的潜在问题。

  • pyre-check ⚠️ — 适用于大型 Python 代码库的快速、可扩展类型检查器。Pyre-check 已被其下一代产品 Pyrefly 取代。

  • pyrefly — 一个快速、增量的 Python 类型检查器和语言服务器,提供代码导航、语义高亮和代码补全等 IDE 功能。

  • pyright — Python 静态类型检查器,旨在弥补 mypy 等现有工具的不足。

  • pyroma — 评估 Python 项目在多大程度上符合 Python 打包生态系统的实践,并列出可以改进的问题。

  • Pysa — 基于 Facebook 的 pyre-check 构建的工具,通过污点分析识别 Python 代码中的潜在安全问题。

  • PyT - Python Taint ⚠️ — 用于检测 Python Web 应用中安全漏洞的静态分析工具。

  • pytype — 用于 Python 代码的静态类型分析器。

  • pyupgrade — 一个工具(及 pre-commit 钩子),用于自动将语法升级到较新的语言版本。

  • QuantifiedCode ⚠️ — 自动化代码审查与修复。它帮助您跟踪软件项目中的问题和指标,并且可以轻松扩展以支持新类型的分析。

  • radon ⚠️ — 一个从源代码计算各种指标的 Python 工具。

  • refurb — 一种用于翻新和现代化 Python 代码库的工具。Refurb 深受 Rust 内置 linter clippy 的启发。

  • ruff — 用 Rust 编写的快速 Python linter。比现有 linter 快 10-100 倍。兼容 Python 3.10。支持文件监视器。

  • Safety — Python 依赖漏洞扫描器,通过检测存在已知漏洞的软件包来增强软件供应链安全。将 Python 依赖项与已知安全漏洞数据库进行比对并提供详细报告。支持 CI/CD 集成和多种输出格式。

  • ty — 用 Rust 编写的极速 Python 类型检查器。

  • unimport — 一个用于查找和移除未使用导入语句的 linter 和格式化程序。

  • vulture — 查找 Python 代码中未使用的类、函数和变量。

  • wemake-python-styleguide — 有史以来最严格、最固执己见的 Python linter。

  • wily — 一个用于归档、探索和绘制 Python 源代码复杂度的命令行工具。

  • xenon ⚠️ — 使用 radon 监控代码复杂度。

  • yapf ⚠️ — 由 Google 创建的 Python 文件格式化工具 YAPF 遵循一种独特的方法论,源自 Daniel Jasper 创建的 “clang-format” 工具。本质上,该程序会将代码重新格式化为符合风格指南的最合适格式,即使原始代码已经遵循风格指南也是如此。这一概念与 Go 编程语言的 “gofmt” 工具类似,其目标是通过在每次修改时让项目的整个代码库都经过 YAPF 处理来终结关于格式化的争论,从而在整个项目中保持一致的风格,并消除在每次代码审查中争论风格的必要。

  • quality ⚠️ — 使用社区工具对您的代码运行质量检查,并确保您的指标不会随时间恶化。

  • Querly ⚠️ — 基于模式的 Ruby 检查工具。

  • Railroader ⚠️ — 针对 Ruby on Rails 应用的开源静态分析安全漏洞扫描器。

  • rails_best_practices — Rails 项目的代码度量工具

  • reek — Ruby 代码坏味道检测器。

  • Roodi — Roodi 代表 Ruby 面向对象设计推断仪。它解析您的 Ruby 代码,并根据已配置的检查向您发出设计问题警告。

  • RuboCop — 基于社区 Ruby 风格指南的 Ruby 静态代码分析器。

  • Rubrowser — Ruby 类交互式依赖关系图生成器。

  • ruby-lint ⚠️ — Ruby 静态代码分析。

  • rubycritic — Ruby 代码质量报告器。

  • rufo — 一个固执己见的 Ruby 格式化工具,旨在通过命令行作为文本编辑器插件使用,在保存时或按需自动格式化文件。

  • Saikuro ⚠️ — Ruby 圈复杂度分析器。

  • SandiMeter ⚠️ — 用于检查 Ruby 代码是否符合 Sandi Metz 规则的静态分析工具。

  • Skunk — Ruby 代码的 SkunkScore 计算器 —— 找出没有测试覆盖的最复杂代码!

  • Sorbet — 专为 Ruby 设计的快速、强大的类型检查器。

  • Standard Ruby — Ruby 风格指南,附带 linter 和自动代码修复器

  • Steep — Ruby 的渐进式类型检查。

  • Traceroute ⚠️ — 一个 Rake 任务 gem,帮助您找到 Rails 3+ 应用中未使用的路由和控制器动作。

  • cargo-unused-features ⚠️ — 查找可能未使用的已启用 feature 标志并将其清除。您可以从 json 生成简单的 HTML 报告,以便更轻松地检查结果。 它会移除依赖项的一个 feature,然后编译项目以查看是否仍能编译。如果仍然可以编译,则该 feature 标志可能可以移除,但这可能是误报。

  • clippy — 一个代码 linter,用于捕获常见错误并改进您的 Rust 代码。

  • diff.rs — Web 应用程序(WASM),用于渲染 Rust crate 版本之间的差异。

  • dylint — 一个从动态库运行 Rust lint 的工具。Dylint 使开发者能够轻松维护自己的个人 lint 集合。

  • electrolysis ⚠️ — 通过将 Rust 程序转译为 Lean 定理证明器中的定义来形式化验证它们的工具。

  • herbie ⚠️ — 当使用数值不稳定的浮点表达式时,向您的 crate 添加警告或错误。

  • kani — Kani Rust 验证器是 Rust 的位精确模型检查器。 Kani 特别适用于验证 Rust 中的 unsafe 代码块, 在这些代码块中,编译器不会检查“unsafe 超能力”。 Kani 验证:

  • BugProve ⚠️ ©️ — BugProve 是一个固件分析平台,结合了静态和动态分析技术,用于发现二进制代码中的内存破坏、命令注入以及其他常见弱点类别。它还能检测易受攻击的依赖项、弱加密参数、错误配置等问题。

  • callGraph — 以静态方式生成调用图图像并显示在屏幕上。

  • CAST Highlight ©️ — 商业静态代码分析工具,在本地运行,但会将结果上传到其云端进行展示。

  • Checkmarx CxSAST ©️ — 无需预编译的商业静态代码分析工具。

  • ClassGraph — 一个类路径和模块路径扫描器,用于查询或可视化类元数据或类之间的关联。

  • Clayton ©️ — 面向 Salesforce 的 AI 驱动代码审查。保护你的开发成果,强制执行最佳实践,并实时控制技术债务。

  • coala ⚠️ — 与语言无关的代码分析框架——默认支持 60 多种语言。

  • Cobra ©️ — 由 NASA 喷气推进实验室开发的结构化源代码分析器。

  • Codacy ©️ — 代码分析,助你更快交付更优质的代码。

  • Code Intelligence ©️ — 与 CI/CD 无关的 DevSecOps 平台,结合了业界领先的模糊测试引擎,用于发现 bug 并可视化代码覆盖率

  • Code Pathfinder — 面向安全团队的开源静态代码分析,具有跨文件数据流污点分析。专为发现漏洞、高级结构化搜索、获取洞察而构建,并支持 MCP 服务器。

  • Code-Graph-RAG — 使用 Tree-sitter AST 解析从多语言代码库构建知识图谱,并将其存储在 Memgraph 中。支持 11 种编程语言,采用统一的图谱模式,支持对代码结构和关系进行自然语言查询与编辑。可作为 MCP 服务器用于 AI 助手集成。

  • Codeac ©️ — 自动化代码审查工具,可与 GitHub、Bitbucket 和 GitLab(甚至自托管版本)集成。适用于 JavaScript、TypeScript、Python、Ruby、Go、PHP、Java、Docker 等。(开源免费)

  • codeburner — 提供统一的界面来对发现的问题进行分类和处理。

  • codechecker — 用于 Clang 静态分析器的缺陷数据库和查看器扩展,带有 Web GUI。

  • CodeFactor ©️ — 面向 GitHub 或 BitBucket 上仓库的自动化代码分析。

  • CodeFlow ©️ — 用于处理技术债务的自动化代码分析工具。可与 Bitbucket 和 Gitlab 集成。(对开源项目免费)

  • Codemodder — Codemodder 是一个可插拔框架,用于构建富有表现力的 codemod。当你需要的不仅仅是 linter 或代码格式化工具时,请使用 Codemodder。用它来修复不平凡的安全问题和其他代码质量问题。

  • codeql — 深度代码分析——支持多种语言的语义查询和数据流分析,并支持 VSCode 插件。

  • CodeQue — 用于结构化匹配 JavaScript 和 TypeScript 代码的生态系统。提供理解代码结构的搜索工具。可作为 CLI 工具和 Visual Studio Code 扩展使用。它有助于更快、更准确地搜索代码,让你的工作流程更高效。很快它将提供 ESLint 插件,让你在几分钟内创建自己的规则,以帮助确保代码库质量。

  • CodeRush ©️ — 在 Visual Studio 2015 及更高版本中使用 Roslyn 引擎的代码创建、调试、导航、重构、分析和可视化工具。

  • CodeScan ©️ — 面向 Salesforce 开发者的代码质量与安全解决方案。专为 Salesforce 平台打造,CodeScan 的代码分析解决方案让你全面了解代码健康状况。

  • CodeScene ©️ — CodeScene 是一个软件质量可视化工具。可对技术债务进行优先级排序、检测交付风险并衡量组织层面的因素。完全自动化。

  • CodeSee ©️ — CodeSee 正在绘制并自动化你的应用服务、目录、文件依赖和代码变更。它就像代码界的 Google 地图。

  • CodeSonar from GrammaTech ©️ — 对 C、C++、Java 和 C# 进行高级的、全程序的、深度路径静态分析,并提供易于理解的解释以及代码和路径可视化。

  • Codety ⚠️ ©️ — Codety Scanner 是一个全面的源代码扫描器,内置 5000 多条静态代码分析规则,旨在检测 20 多种编程语言和 IaC 工具的代码问题。

  • Codiga ©️ — 支持 12 种以上语言的自动化代码审查和技术债务管理平台。

  • Corgea ©️ — Corgea 是一个由 AI 驱动的 SAST 扫描器,帮助开发者发现并修复不安全的代码。它能以极低的误报率发现业务逻辑缺陷、身份验证失效、API 漏洞等问题。此外,它还会自动编写安全修复程序供开发者批准。Corgea 可与 GitHub、GitLab、Azure DevOps、IDE 和 CLI 集成。可以免费试用。

  • Corrode ⚠️ — 从 C 到 Rust 的半自动翻译工具。可通过显示 Rust 编译器的警告和错误来揭示原始实现中的 bug。已被 C2Rust 取代。

  • Coverity ©️ — Synopsys Coverity 支持 20 种语言和 70 多个框架,包括 Ruby on Rails、Scala、PHP、Python、JavaScript、TypeScript、Java、Fortran、C、C++、C#、VB.NET。

  • cpp-linter-action — 一个用于对 C/C++ 代码进行 lint 的 GitHub Action,集成了 clang-tidy 和 clang-format,以线程评论和/或注释的形式收集反馈。

  • cqc ⚠️ — 检查 js、jsx、vue、css、less、scss、sass 和 styl 文件的代码质量。

  • DeepCode ⚠️ ©️ — DeepCode 已被 Snyk 收购,现为 Snyk Code。

  • DeepSource ©️ — 深入进行静态分析,以发现 bug 风险、安全性、反模式、性能、文档和风格等方面的问题。原生集成 GitHub、GitLab 和 Bitbucket。误报率低于 5%。

  • deleaker ©️ — Deleaker 是一个面向 C++、.NET 和 Delphi 的内存泄漏检测工具,可与 Visual Studio、Qt Creator 和 RAD Studio 集成,也可作为独立应用程序运行。它帮助开发者高效地发现并修复内存、GDI 和句柄泄漏。

  • Depends — 分析 Java、C/C++、Ruby 代码元素的全面依赖关系。

  • DerScanner ©️ — 多语言静态应用安全测试(SAST)平台,可检测严重漏洞,包括硬编码机密、弱加密、后门、SQL 注入、不安全配置等。

  • DevSkim — 基于正则表达式的静态分析工具,适用于 Visual Studio、VS Code 和 Sublime Text——支持 C/C++、C#、PHP、ASP、Python、Ruby、Java 等语言。

  • diesel-guard — 用于检测 Diesel 和 SQLx 中危险的 Postgres 迁移模式的 linter。可防止因不安全的模式更改而导致的停机。

  • dotnet-format — 一个用于 .NET 的代码格式化器。如果存在 .editorconfig 文件,将从该文件读取偏好设置,否则将使用默认的偏好设置。目前 dotnet-format 能够使用所支持的一部分 .editorconfig 选项来格式化 C# 和 Visual Basic 项目。

  • Embold ©️ — 智能软件分析平台,可识别设计问题、代码问题、重复代码和度量指标。支持 Java、C、C++、C#、JavaScript、TypeScript、Python、Go、Kotlin 等。

  • emerge ⚠️ — Emerge 是一个源代码和依赖可视化工具,可用于深入了解软件项目的源代码结构、度量指标、依赖关系和复杂度。扫描项目源代码后,它会提供一个交互式 Web 界面,让你通过图结构来探索和分析项目。

  • Enforster AI ©️ — Enforster AI 执行上下文代码安全 SAST,利用 LLM 和人工智能来减少并增强对逻辑缺陷、机密信息、数据泄露、供应链和技术漏洞的检测。

  • ESLint — 遵循 ECMAScript 标准的可扩展 JS linter。

  • ezno — 用 Rust 编写的 JavaScript 编译器和 TypeScript 检查器,专注于静态分析和运行时性能。Ezno 的类型检查器是从零构建的。该检查器与 TypeScript 类型注解完全兼容,并且可以在完全没有类型注解的情况下工作。

  • Find Security Bugs — 用于 Java Web 应用程序和 Android 应用程序安全审计的 SpotBugs 插件。(也适用于 Kotlin、Groovy 和 Scala 项目)- Fortify ©️ — 一个商业静态分析平台,支持扫描 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 (1.9.3)、Swift、Scala、VB 和 XML。

  • Freeplane Code Explorer — Freeplane 中的 Code Explorer 模式专为分析编译为 JVM class 文件的代码结构和依赖关系而设计。如果 Freeplane 正在运行且 ArchUnit 在测试期间检测到规则违规,它还可以直接在 Freeplane 中显示 ArchUnit 测试结果。

  • Goodcheck — 基于正则表达式的可定制 linter。

  • goone ⚠️ — 查找 go 代码中的 N+1 查询(for 循环中的 SQL 调用)

  • graudit — Grep rough audit - 源代码审计工具。

  • HCL AppScan Source ©️ — 商业静态代码分析。

  • Hopper ⚠️ — 一款用 Scala 编写的静态分析工具,适用于在 JVM 上运行的语言。

  • Hound CI — 在 GitHub pull request 中对样式违规发表评论。支持 Coffeescript、Go、HAML、JavaScript、Ruby、SCSS 和 Swift。

  • imhotep ⚠️ — 对进入你仓库的提交发表评论,并检查语法错误和一般 lint 警告。

  • include-gardener ⚠️ — 一款面向 C/C++/Obj-C/Python/Ruby 的多语言静态分析器,用于创建图形(dot 或 graphml 格式),展示给定文件集合的所有 #include 关系。

  • Infer — 一款用于 Java、C 和 Objective-C 的静态分析器

  • Joern — Joern 是一个用于分析源代码、字节码和二进制可执行文件的平台。它生成代码属性图(CPG),这是一种用于跨语言代码分析的代码图表示。代码属性图存储在自定义图数据库中。这使得可以使用基于 Scala 的领域特定查询语言编写的搜索查询来挖掘代码。Joern 的开发目标是提供一个用于静态程序分析中漏洞发现和研究的实用工具。

  • jQAssistant — jQAssistant 是一个基于插件的软件分析平台,允许将仓库中的代码结构和元数据扫描到 Neo4j 图数据库中。收集的数据可用于通过查询进行临时探索、可视化,或定义规则以进行持续的架构验证。

  • keploy — Keploy 是一个开源测试平台,帮助开发人员自动化和简化测试流程。它提供 API 和集成测试代理,为 API 生成真正可用的测试、mock/stub。此外,Keploy 还提供由 AI 驱动的单元测试代理,可直接在你的 GitHub PR 和 VSCode 中生成稳定、有用的单元测试,帮助发现错误并提高代码质量。

  • Kiuwan ©️ — 在极速、协作的环境中识别并修复网络威胁,并无缝集成到你的 SDLC 中。支持 Python、C\C++、Java、C#、PHP 等。

  • Klocwork ©️ — 面向 C/C++、Java 和 C# 的质量与安全静态分析。

  • LangLint — 面向 20+ 文件类型的代码注释和 docstring 自动翻译平台。消除国际软件协作中的语言障碍。支持 100+ 语言对并具有语法保护。可像 Ruff 一样集成到 CI/CD 流水线中。并发处理速度快 10-20 倍。

  • LGTM ©️ — 使用 CodeQL 查询源代码,查找安全漏洞、变体和关键代码质量问题。自动 PR 代码审查;对开源免费。前身为 semmle。支持托管在 Bitbucket Cloud、GitHub.com、GitLab.com 上的公共 Git 仓库。

  • lizard — Lizard 是一个可扩展的圈复杂度分析器,适用于多种编程语言,包括 C/C++(不需要所有头文件或 Java imports)。它还进行复制粘贴检测(代码克隆检测/代码重复检测)以及许多其他形式的静态代码分析。统计不含注释的代码行数、CCN(圈复杂度数)、函数的 token 数、函数的参数数。

  • Mega-Linter — Mega-Linter 凭借其 70+ 内置 Linter 和高级报告功能,可以处理任何类型的项目,可在任何 CI 系统或本地运行,提供辅助安装和配置,能够应用格式化和修复

  • Mobb ©️ — Mobb 是一个值得信赖的自动漏洞修复工具,可保护应用程序安全、减少安全积压,并让开发人员专注于创新。Mobb 对开源项目免费。

  • MOPSA — 一个静态分析器,旨在跨差异很大的语言(如 C 和 Python)轻松复用抽象域。

  • Neurolint-CLI — 使用 AST 解析和基于规则的转换的确定性代码转换工具。自动修复 50+ 问题,包括可访问性违规、hydration 错误、React 19/Next.js 16 迁移和配置更新。具有 5 步故障安全编排,确保零破坏性变更。专为 React、Next.js 和 TypeScript 项目而设计。

  • oclint — 一个静态源代码分析工具,用于提高 C、C++ 和 Objective-C 的质量并减少缺陷。

  • Offensive 360 ©️ — 商业静态代码分析系统,不需要构建源代码或预编译。

  • OpenRewrite — OpenRewrite 修复常见的静态分析问题,这些问题通过 Sonar 和其他工具报告,使用 Maven 和 Gradle 插件或 Moderne CLI。

  • OpenStaticAnalyzer — OpenStaticAnalyzer 是一个源代码分析工具,可以对复杂系统的源代码执行深度静态分析。

  • oxc — The Oxidation Compiler 正在创建一套用 Rust 重写的 JavaScript/TypeScript 高性能工具。

  • parasoft ©️ — 用于单元测试、API 和 Web UI 测试的自动化软件测试解决方案。符合 MISRA、OWASP 等标准。

  • pfff — Facebook 的代码分析、可视化或多种语言的风格保持源代码转换工具。

  • Pixee ©️ — Pixeebot 查找代码中的安全和代码质量问题,并创建带有推荐修复的、可合并的 pull request。

  • PMD — 面向 Java、Salesforce Apex、Javascript、PLSQL、XML、XSL 等的源代码分析器。

  • pre-commit — 用于管理和维护多语言 pre-commit hooks 的框架。

  • Precaution — Precaution 是一个静态分析安全工具(SAST),旨在于生产环境之前发现源代码中潜在的关键漏洞。它提供 CLI、GitHub Action 和 GitHub App 形式。

  • Prettier — 一个有主见的代码格式化工具。

  • Pronto — 快速自动代码审查你的更改。支持 40+ 个针对各种语言的 runner,包括 Clang、Elixir、JavaScript、PHP、Ruby 等。

  • PT.PM ⚠️ — 一个基于 Unified AST 或 UST 在源代码中搜索模式的引擎。目前支持 C#、Java、PHP、PL/SQL、T-SQL 和 JavaScript。模式可以在代码中描述或使用 DSL 描述。

  • Putout — 可插拔且可配置的代码转换器,内置 eslint、babel 插件支持,支持 js、jsx typescript、flow、markdown、yaml 和 json。

  • PVS-Studio ©️ — 对 C、C++、C# 和 Java 代码的静态分析(对 FOSS 和个人开发者有条件免费)。出于广告目的,你可以提议一个大型 FOSS 项目供 PVS 员工分析。支持 CWE 映射、OWASP ASVS、MISRA、AUTOSAR 和 SEI CERT 编码标准。

  • pylama — 用于 Python 和 JavaScript 的代码审计工具。封装了 pycodestyle、pydocstyle、PyFlakes、Mccabe、Pylint 等

  • Qwiet AI ©️ — 在漏洞到达生产环境之前,识别你的代码库中独有的漏洞。利用代码属性图(CPG)在单个图之图中并发运行分析。自动发现开发中的业务逻辑缺陷,如硬编码密钥和逻辑炸弹

  • Refactoring Essentials — 免费的 Visual Studio 2015 扩展,用于 C# 和 VB.NET 重构,包括代码最佳实践分析器。

  • relint — 一个静态文件 linter,允许你使用正则表达式(RegEx)编写自定义规则。

  • ReSharper ©️ — 通过针对 C#、VB.NET、ASP.NET、JavaScript、TypeScript 和其他技术的即时代码检查来扩展 Visual Studio。

  • Rev-dep — 面向现代 JavaScript 和 TypeScript 项目的依赖分析与优化工具包。追踪导入、识别循环依赖、查找未使用代码、清理 node modules。

  • RIPS ©️ — 用于检测 PHP 脚本漏洞的静态源代码分析器。

  • Roslyn Analyzers — 基于 Roslyn 的 FxCop 分析器实现。

  • Roslyn Security Guard — 专注于识别潜在漏洞的项目,如 SQL 注入、跨站脚本(XSS)、CSRF、加密弱点、硬编码密码等。

  • SafeQL — 验证并从 PostgreSQL 中的原始 SQL 查询自动生成 TypeScript 类型。SafeQL 是一个 ESLint 插件,用于以类型安全的方式编写 SQL 查询。

  • SAST Online ©️ — 彻底检查 Android 源代码,以发现并解决潜在的安全问题和漏洞。在线静态应用安全测试(静态代码分析)工具

  • Scrutinizer ⚠️ ©️ — 一个专有代码质量检查器,可与 GitHub 集成。

  • Security Code Scan — 面向 C# 和 VB.NET 的安全代码分析器。检测各种安全漏洞模式:SQLi、XSS、CSRF、XXE、Open Redirect 等。集成到 Visual Studio 2015 及更高版本。检测各种安全漏洞模式:SQLi、XSS、CSRF、XXE、Open Redirect 等。

  • Semgrep — 一个快速、开源、静态分析工具,用于在编辑器、提交和 CI 时发现 bug 并强制执行代码标准。它的规则看起来就像你已经编写的代码;无需与抽象语法树或正则表达式搏斗。支持 17+ 语言。

  • Semgrep Supply Chain ©️ — 快速发现并修复高优先级安全问题。Semgrep Supply Chain 优先处理从你的代码可达的那 2% 漏洞。

  • Seqra — 面向 Java 和 Kotlin Web 应用的安全静态分析器。使用 Semgrep 风格的 YAML 规则和 CodeQL 级别的数据流(一流的 Spring 支持)分析字节码,以发现仅源码扫描器会遗漏的漏洞。

  • ShiftLeft Scan ⚠️ — Scan 是一个免费的开源 DevSecOps 平台,用于检测源代码和依赖项中的安全问题。它支持广泛的语言和 CI/CD 流水线。注意:ShiftLeft 于 2023 年更名为 Qwiet AI,随后于 2025 年 9 月被 Harness 收购。这个开源项目已不再维护。

  • shipshape ⚠️ — 静态程序分析平台,允许自定义分析器通过通用接口接入。

  • Sigrid ©️ — Sigrid 通过衡量你系统的代码质量来帮助你改进软件,然后将结果与数千个行业系统的基准进行比较,就你可以改进的领域给出具体建议。

  • Similarity Tester — 一个查找文件之间或文件内部相似性的工具,帮助你发现违反 DRY 原则的情况。

  • Skylos — 面向 Python、TypeScript 和 Go 的死代码检测、安全扫描、密钥检测和代码质量分析。框架感知分析,召回率达 98%。包含 CI/CD GitHub Action、VS Code 扩展,以及用于 AI 代理集成的 MCP server。

  • Snyk Code ©️ — Snyk Code 基于 AI 发现安全漏洞。其分析速度使我们能够实时分析你的代码,并在你在 IDE 中点击保存按钮时交付结果。支持的语言有 Java、JavaScript、Python、PHP、C#、Go 和 TypeScript。与 GitHub、BitBucket 和 Gitlab 集成。可免费试用,并且是 Snyk 平台的一部分,该平台还涵盖 SCA、容器和 IaC。

  • SonarQube Cloud ©️ — SonarQube Cloud 通过易于集成到云 DevOps 平台并扩展 CI/CD 工作流的代码审查工具,使你的团队能够持续高效地交付干净代码。SonarQube Cloud 提供免费计划。

  • SonarQube for IDE — SonarQube for IDE(原 SonarLint)是一个免费的 IDE 扩展,适用于 IntelliJ、VS Code、Visual Studio 和 Eclipse,可实时发现并修复编码问题,在你编码时标记问题,就像拼写检查器一样。它不仅仅是 linter,还提供丰富的上下文指导,帮助开发人员理解问题存在的原因、评估风险,并指导他们如何修复。

  • SonarQube Server — SonarQube 为开发团队提供深度集成到企业环境中的代码质量和安全解决方案,使你能够持续可靠地部署干净代码。SonarQube 提供免费开源的 Community Build。

  • Sonatype ©️ — 报告常见依赖项中的已知漏洞,并推荐更新的包以最大程度减少破坏性变更

  • Soto Platform ©️ — 一套静态分析工具,由三个组件组成:Sotoarc(架构分析)、Sotograph(质量分析)和 Sotoreport(质量报告)。帮助发现架构与实现之间的差异、接口违规(例如外部访问子系统的私有部分),检测所有通过循环关系强耦合的类、文件、包和子系统等。Sotograph 产品系列可在 Windows 和 Linux 上运行。

  • SourceMeter ©️ — 面向 C/C++、Java、C#、Python 以及 RPG III 和 RPG IV 版本(包括 free-form)的静态代码分析。

  • sqlvet — 对 Go 代码库中的原始 SQL 查询执行静态分析,以发现潜在的运行时错误。它检查 SQL 语法错误,识别可能导致 SQL 注入的不安全查询,确保 INSERT 语句中列数与值数匹配,并验证表名和列名。

  • StaticReviewer ©️ — Static Reviewer 按照最相关的安全编码标准(OWASP、CWE、CVE、CVSS、MISRA、CERT)对 40+ 编程语言执行代码检查,使用 1000+ 条内置的 Security、Deadcode & Best Practices 验证规则。提供软件成分分析(SCA)模块,用于查找开源和第三方库中的漏洞。

  • Super-Linter ⚠️ — 多个 linter 的组合,可作为 GitHub Action 安装。

  • Svace ©️ — 面向 Java、C、C++、C#、Go 的静态代码分析工具。

  • Synopsys ©️ — 一个商业静态分析平台,支持多种语言的扫描(C/C++、Android、C#、Java、JS、PHP、Python、Node.JS、Ruby、Fortran 和 Swift)。

  • Teamscale ©️ — 支持 25+ 种语言的静态和动态分析工具,并可直接集成 IDE。可根据要求为开源项目提供免费托管。提供免费学术许可证。

  • TencentCodeAnalysis ⚠️ — 腾讯云代码分析(简称 TCA,公司内部早期代号 CodeDog)是一个全面的代码分析和问题跟踪平台。TCA 由三个组件组成:server、web 和 client。它集成了多个自研工具,并支持动态集成各种编程语言的代码分析工具。

  • ThreatMapper — 针对容器、serverless 和主机的运行时漏洞扫描器和风险评估工具。ThreatMapper 从依赖项和操作系统包生成运行时 BOM,与多个威胁源进行匹配,扫描未受保护的密钥,并根据严重性和可利用风险对问题进行评分。

  • todocheck — 用于将带注释的 TODO 与你的问题跟踪器集成的 Linter

  • trivy — 一个简单而全面的容器和其他制品漏洞扫描器,适合 CI 使用。Trivy 检测 OS 包(Alpine、RHEL、CentOS 等)和应用依赖项(Bundler、Composer、npm、yarn 等)的漏洞。检查容器和文件系统。

  • trunk ©️ — 现代仓库包含许多技术,每种技术都有自己的 linter 集。凭借 30+ 且不断增加的 linter,Trunk 使识别、安装、配置和运行适合所有仓库的正确 linter、静态分析器和格式化工具变得极其简单。

  • TscanCode — 腾讯提供的面向 C/C++、C#、Lua 代码的快速准确静态分析解决方案。使用 GPLv3 许可证。

  • Undebt — 与语言无关的工具,用于基于简单模式定义的大规模、自动、可编程重构。

  • Understand ©️ — 代码可视化工具,为 Ada、VHDL 等提供代码分析、标准测试、度量、绘图、依赖分析等功能。

  • Unibeautify — 带有 GitHub app 的通用代码美化器。支持 HTML、CSS、JavaScript、TypeScript、JSX、Vue、C++、Go、Objective-C、Java、Python、PHP、GraphQL、Markdown 等。

  • Upsource ©️ — 代码审查工具,具有面向 Java、PHP、JavaScript 和 Kotlin 的静态代码分析和代码感知导航功能。- Veracode ©️ — 无需源码即可发现二进制文件和字节码中的缺陷。支持所有主流编程语言:Java、.NET、JavaScript、Swift、Objective-C、C、C++ 等。

  • WALA — 为 Java 字节码及相关语言和 JavaScript 提供静态分析能力。

  • weggli — 一个快速且健壮的 C 和 C++ 代码库语义搜索工具。它旨在帮助安全研究人员在大型代码库中识别有趣的功能。

  • WhiteHat Application Security Platform ©️ — WhiteHat Scout(面向开发人员)与 WhiteHat Sentinel Source(面向运维)相结合,支持 WhiteHat Top 40 和 OWASP Top 10。

  • Wotan ⚠️ — 可插拔的 TypeScript 和 JavaScript 代码检查工具。

  • XCode ©️ — XCode 为 Clang 的静态代码分析器(C/C++、Obj-C)提供了一个相当不错的界面。

  • Xygeni ©️ — Xygeni 是一个全面的软件供应链安全平台。它提供具有 AI 驱动修复功能的高级 SAST、具有实时恶意软件检测功能的软件成分分析(SCA)、基础设施即代码(IaC)扫描以及机密信息检测,以确保端到端的代码安全。

  • Nauz File Detector — 适用于 Windows、Linux 和 MacOS 的静态链接器/编译器/工具检测器。

  • rhabdomancer — IDA Pro 无头插件,用于定位二进制文件中对可能不安全的 API 函数的调用。

  • rust-audit — 审计 Rust 二进制文件是否存在已知错误或安全漏洞。其原理是将依赖树(Cargo.lock)的 JSON 格式数据嵌入到编译后可执行文件的专用链接器段中。

  • Twiggy — 分析二进制文件的调用图以分析代码大小。目标是缩减 wasm 二进制文件的大小。

  • VMware chap — chap 分析未插桩的 ELF 核心文件,以发现泄漏、内存增长和损坏。它足够可靠,可以在自动化中使用,以便在泄漏提交之前捕获它们。作为交互式工具,它有助于解释内存增长,可以识别某些形式的损坏,并通过提供各种内存位置的状态来补充调试器。

  • zydis — 快速且轻量级的 x86/x86-64 反汇编器库