Codiga 是一款覆盖软件开发生命周期的静态代码分析工具,官网将其定位为“Home of clean code”。它可以在 IDE、CI/CD 流程以及 GitHub、GitLab、Bitbucket 等平台中检查代码,帮助开发者发现编码问题、安全漏洞、重复代码、过长函数和复杂函数。与只提供固定检查项的工具不同,Codiga 支持从 Codiga Hub 使用规则集,也允许用户在浏览器中创建、测试和分享自己的静态分析规则;同时,它还把实时分析、自动修复、安全分析、自动化代码评审和代码片段整合到同一套开发流程中。官网开头说明 Codiga 已加入 Datadog。
核心功能
静态代码分析
Codiga 可以调用 Codiga Hub 中的规则集,也可以创建自定义静态代码分析规则。自定义规则能够在浏览器中创建和测试,官网称其过程可在 5 分钟内完成。分析能力可部署在 VS Code、JetBrains、VisualStudio 等 IDE 中,也能接入 GitHub、GitLab 和 Bitbucket,从编写代码到 CI/CD 流程都可以使用。分析结果会在 IDE 中实时出现,并提供一键修复代码问题和漏洞的能力。
自定义分析规则
用户可以编写属于自己的代码分析规则,并在创建后进行测试和分享。规则可以公开分享到 Codiga Hub,也可以在团队内部共享规则和规则集。官网提供 Playground 入口用于尝试自定义规则,页面示例展示了针对 SQL 注入风险的规则测试。该能力适合需要将团队编码规范、特定框架检查项或安全检查逻辑固化为规则的开发团队。
安全分析与漏洞修复
Codiga 提供面向软件安全的规则集,覆盖 OWASP 10、MITRE CWE 和 SANS/CWE Top 25 等安全标准或分类。安全分析用于检测常见威胁和软件漏洞,也可以识别代码中泄露的 SSH 密钥和 API token。对于基础设施代码,官网明确列出 Terraform 和 Docker 分析,用于检查相关代码的安全性;在 IDE 中还可以自动修复发现的安全问题。
自动化代码评审
Codiga 支持在代码评审阶段分析 Pull Request,标记代码违规、重复代码、过长函数和复杂函数。官网列出对 12 种以上语言的支持,并说明规则数量超过 1800 条。它支持多分支工作方式,可以配合 GitHub、GitLab 和 Bitbucket 使用,在代码合并前提供检查反馈。
代码片段
Codiga 提供代码片段功能,用户可以从 IDE 创建和查找代码片段,也可以一键创建新的代码片段。代码片段能够与团队共享,支持创建私有代码片段,并可以使用 Hub 中的代码片段集合。官网还提供 Windows、macOS 和 Linux 版本的获取入口,说明该功能可通过相应客户端环境使用。
软件开发生命周期视图
Codiga dashboard 用于展示代码质量相关指标,包括代码违规总数、重复代码、过长函数和复杂函数。官网将使用流程分为多个阶段:开发者在 IDE 中编写软件时获得实时问题提示和修复建议;Git Hooks 会在推送前检查代码,避免存在问题的分支被推送;代码评审阶段分析 Pull Request;代码部署到生产环境后,则保留每次提交错误的历史分析。
使用方式
Codiga 支持在 VS Code、JetBrains、VisualStudio 等 IDE 中进行实时分析,也支持 GitHub、GitLab、Bitbucket 等代码平台和 CI/CD 流程。用户可以从浏览器创建、测试和分享自定义规则,并通过 Playground 试用规则。官网还列出 Windows、macOS、Linux 和 Chrome 的获取入口。正文提供了 Sign up、Get Codiga 和 Try on Playground 等入口,但没有说明是否必须注册,也没有提到需要自备模型 Key、开放 API 或具体导入导出机制。
适用人群与场景
使用 VS Code、JetBrains 或 VisualStudio 编写代码的开发者,可以在编辑过程中获得实时问题提示和修复建议。负责安全开发的团队可以使用 OWASP、MITRE CWE 和 SANS/CWE Top 25 相关规则,检测漏洞、泄露的密钥及 API token。使用 GitHub、GitLab 或 Bitbucket 协作的团队,可以在 Git Hooks、Pull Request 和多分支流程中执行检查。需要统一编码规范的团队,则可以创建、测试并共享自己的规则和规则集。
注意事项
官网正文没有提供价格、免费额度或付费档位信息,因此无法据此判断具体收费方式。页面同时说明 Codiga 已加入 Datadog,并引导用户关注 Datadog Static Analysis。