2026年最新清单:50+编程语言静态分析工具一图速查(analysis-tools.dev)
【免费下载链接】static-analysis⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.项目地址: https://gitcode.com/gh_mirrors/st/static-analysis
📌 想快速找到静态分析工具 ?analysis-tools.dev(即本仓库)收录了覆盖 47 种编程语言和 40 余种配置文件、构建工具、云原生场景的 700+ 静态代码分析工具(SAST)与 linter,按语言分类整理,帮你 1 分钟定位适合项目的代码质量检查器。 市面上零散的工具列表很多,但这份清单的独特之处在于: 清单里每个工具旁可能出现 3 个特殊符号,理解它们能帮你避开踩坑: 完整工具列表位于 README.md,由数据文件自动生成,请勿手动编辑。 以下是各语言的代表性工具速查(完整列表见 README.md 的对应章节): 💡 查表小技巧:在 README.md 顶部的目录表格里点语言名即可跳转,「Show Deprecated」折叠区里还能看到历史工具,方便理解工具演进。 1️⃣ Python:ruff 打底 + mypy 补类型 + bandit 查安全 ruff.yml 数据文件中 ruff 被标注为「比现有 linter 快 10-100 倍」,新项目直接以它为核心即可。 2️⃣ Go:一个 GolangCI-Lint 顶十个 清单里 Go 工具多达 40+ 个,新手不必逐个装——GolangCI-Lint 提供统一配置、缓存和输出格式,是官方推荐的聚合方案。 3️⃣ 前端:ESLint 生态 or Biome 一体化 ESLint 的 YAML 数据文件里可以看到它附带官方教程视频和 Playground 等 resources 字段——这是清单的一个亮点:每个工具不仅给链接,还给教程、演示、第三方评价页。 清单的「Other」分类同样实用,覆盖这些场景: 分类标签统一维护在 data/tags.yml,新增工具时可从中选择标签。 本仓库的 README 完全由数据驱动,整体架构非常清爽: 这种「数据即文档」的设计,也是它能为 analysis-tools.dev 网站持续供数的原因。 想收录你发现的好工具?三步走: 另外,data/collections/ 目录收录了兄弟合集(如 linters.yml 收录的静态代码分析入门系列),适合想系统学习静态分析的新手延伸阅读。 打开 README.md 即可按语言速查;需要程序化获取工具数据时,直接使用 data/api/tools.json。 这份清单的价值在于:用统一的筛选标准 + 透明的废弃标记 + 机器可读的 JSON 输出 ,把「选 linter」这件碎片化的事变成查表就能完成的操作。无论你是接手新项目要搭 CI 检查,还是想给团队定代码规范,从语言速查表入手,10 分钟内就能锁定 1-3 个合适的静态分析工具。🎯 【免费下载链接】static-analysis⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.项目地址: https://gitcode.com/gh_mirrors/st/static-analysis这份静态分析工具清单有什么不一样?
.env、Kubernetes、Dockerfile、Terraform 都有专区三个符号,先读懂再查表 🔍
符号 含义 新手建议 © 商业/专有软件 开源项目优先看其他选项 ℹ️ 社区不推荐新项目使用 谨慎选型,可先看对应讨论 ⚠️ 超一年未更新或已归档 新项目不建议依赖 50+ 语言静态分析工具一图速查表
语言 代表工具 一句话定位 Python ruff、pylint、mypy、bandit ruff 极速 lint,mypy 类型检查,bandit 查安全 JavaScript/TypeScript ESLint、Biome、flow、JSLint ESLint 生态最全,Biome 快且零配置 Java Error Prone、SpotBugs、checkstyle 编译期抓错 + 字节码找 Bug + 规范检查 Go GolangCI-Lint、staticcheck、go vet、gosec GolangCI-Lint 聚合多 linter 一把梭 Rust clippy、cargo-audit、rustfmt clippy 是官方推荐的 lint 首选 C/C++ cppcheck、clang-tidy、Coverity、CBMC 嵌入式场景看 MISRA 支持 C# SonarAnalyzer.CSharp、Meziantou.Analyzer、ArchUnitNET Roslyn 分析器生态 PHP PHPStan、Psalm、PHPMD、rector PHPStan 不开跑也能发现 Bug Ruby RuboCop、brakeman、Sorbet Rails 安全扫描首选 brakeman Kotlin detekt、ktlint、ktfmt 防 bikeshedding 的 Kotlin linter Elixir credo、dialyxir credo 兼顾教学与一致性 Haskell HLint、Liquid Haskell 类型精炼检查很独特 Lua luacheck Lua 静态分析标准配置 Erlang dialyzer、elvis dialyzer 无假阳性保证 Fortran Fortitude、fprettify Fortitude 基于 Ruff 构建 Swift SwiftLint(见清单 Swift 章节) 苹果生态规范检查 热门语言新手怎么选?3 条实操建议
不只是语言:配置文件与云原生专区 🚀
ai-generated-code标签)与调用 LLM 的分析工具(uses-llm标签)幕后揭秘:YAML 数据 + Rust 渲染管线 ⚙️
data/tools/*.yml → Rust 渲染器(ci/render) → README.md + JSON APImake render一键重新生成 README 与 data/api/ 下的 JSON 数据(含 tools.json 和 tags.json)如何向清单贡献新工具?
data/tools/下新建.yml,描述控制在 500 字符内,尽量多选标签make render自检后提交 PR;README 自动生成,不要手动编辑README.md快速上手:把清单拉到本地
git clone https://gitcode.com/gh_mirrors/st/static-analysis cd static-analysis总结
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考