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 分钟定位适合项目的代码质量检查器。
这份静态分析工具清单有什么不一样?
市面上零散的工具列表很多,但这份清单的独特之处在于:
- ✅覆盖广:从 Python、Java、Go 到 ABAP、Ada、Verilog 等冷门语言,连
.env、Kubernetes、Dockerfile、Terraform 都有专区 - ✅质量门槛:每个入选工具需满足「存在满 6 个月 + 20 个 star + 至少 2 名人类贡献者」,详见 CONTRIBUTING.md
- ✅状态透明:过时工具会明确标记废弃,而非悄悄删除
- ✅机器可读:除了 Markdown 清单,还输出 JSON API 供程序消费
三个符号,先读懂再查表 🔍
清单里每个工具旁可能出现 3 个特殊符号,理解它们能帮你避开踩坑:
| 符号 | 含义 | 新手建议 |
|---|---|---|
| © | 商业/专有软件 | 开源项目优先看其他选项 |
| ℹ️ | 社区不推荐新项目使用 | 谨慎选型,可先看对应讨论 |
| ⚠️ | 超一年未更新或已归档 | 新项目不建议依赖 |
完整工具列表位于 README.md,由数据文件自动生成,请勿手动编辑。
50+ 语言静态分析工具一图速查表
以下是各语言的代表性工具速查(完整列表见 README.md 的对应章节):
| 语言 | 代表工具 | 一句话定位 |
|---|---|---|
| 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 章节) | 苹果生态规范检查 |
💡 查表小技巧:在 README.md 顶部的目录表格里点语言名即可跳转,「Show Deprecated」折叠区里还能看到历史工具,方便理解工具演进。
热门语言新手怎么选?3 条实操建议
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」分类同样实用,覆盖这些场景:
- 基础设施:Kubernetes、Terraform、Dockerfile、Ansible、Prometheus
- 配置文件:YAML、JSON、.env、Makefile、Protocol Buffers
- Web 资产:HTML、CSS/SASS/SCSS、Markdown、LaTeX
- 安全专项:Security/SAST 专区集中了 CodeQL、Coverity、Fortify 等深度扫描平台
- 新兴方向:AI 生成代码分析(
ai-generated-code标签)与调用 LLM 的分析工具(uses-llm标签)
分类标签统一维护在 data/tags.yml,新增工具时可从中选择标签。
幕后揭秘:YAML 数据 + Rust 渲染管线 ⚙️
本仓库的 README 完全由数据驱动,整体架构非常清爽:
data/tools/*.yml → Rust 渲染器(ci/render) → README.md + JSON API- 数据层:每个工具一个 YAML 文件,共 700+ 个,如 data/tools/eslint.yml 包含名称、标签、许可、描述、评价页与教程
- 渲染层:Rust 编写的渲染器位于 ci/render/,核心逻辑在 ci/render/src/lib.rs,ci/render/src/lints.rs 负责校验数据合法性
- 构建入口:Makefile 中的
make render一键重新生成 README 与 data/api/ 下的 JSON 数据(含 tools.json 和 tags.json) - 模板层:README 的文案结构在 ci/render/templates/README.md,改模板而非改生成物
这种「数据即文档」的设计,也是它能为 analysis-tools.dev 网站持续供数的原因。
如何向清单贡献新工具?
想收录你发现的好工具?三步走:
- 先核对 CONTRIBUTING.md 的三条硬性标准(6 个月历史、20 star、2 名以上人类贡献者),不达标会被 CI 机器人礼貌关闭
- 在
data/tools/下新建<toolname>.yml,描述控制在 500 字符内,尽量多选标签 - 本地执行
make render自检后提交 PR;README 自动生成,不要手动编辑README.md
另外,data/collections/ 目录收录了兄弟合集(如 linters.yml 收录的静态代码分析入门系列),适合想系统学习静态分析的新手延伸阅读。
快速上手:把清单拉到本地
git clone https://gitcode.com/gh_mirrors/st/static-analysis cd static-analysis打开 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考