Skip to content
testcritic

CodeQL vs OWASP ZAP

Feature checklists rarely decide anything. What decides it is the pricing metric, who has to write the tests, and which limitation you can live with.

Entry price

From $30 per active committer/month (GitHub Code Security)

Free tier

Free and open source

Open source

What drives the bill

The metric that actually scales your invoice.

Free on public repos. For private repositories GitHub split Advanced Security into two products in April 2025: Code Security at $30 and Secret Protection at $19 per active committer/month, both now available on Team plans as well as Enterprise. CodeQL sits in Code Security. Billing counts active committers, not seats, which can surprise teams with many occasional contributors.

Free and open source. You pay in engineering time and CI minutes.

Free tier

Free for public repositories on GitHub.

Everything, self-hosted

Open source

MIT (queries)

Apache-2.0

Self-hostable

No-code authoring

Languages

JavaScriptTypeScriptPythonJavaC#GoRubySwiftKotlin
JavaPythonJavaScriptCodeless

Platforms

WebAPIDesktop
WebAPI

Fits teams

StartupScale-up / mid-marketEnterprise
Solo / side projectStartupScale-up / mid-marketEnterprise

Adoption

Widely used

GitHub (Microsoft) · since 2019

Category standard

Checkmarx / OWASP · since 2010

Strengths

  • Interprocedural dataflow analysis finds real vulnerabilities that regex- and pattern-based tools cannot see.
  • Free on public repositories, with results in the GitHub security tab.
  • Custom queries let you encode organisation-specific security rules.
  • Free, with no licence limits on scanning or users.
  • The baseline scan runs in CI in a couple of minutes and catches real misconfiguration.
  • Active community and extensive add-on marketplace.

Limitations

  • Writing custom CodeQL queries is a specialist skill with a steep learning curve.
  • Analysis is slow — minutes to tens of minutes, so it fits nightly better than per-commit.
  • Private-repo licensing through Advanced Security is expensive at scale.
  • Higher false-positive rate than commercial DAST tools.
  • Scanning authenticated, JavaScript-heavy applications requires meaningful configuration effort.
  • The interface is dated and the learning curve is real.

Best for

GitHub-hosted projects wanting deep static security analysis, free if the repo is public.

Any team that currently does no dynamic security testing at all.

All of these integrate with: GitHub Actions, Jenkins.

Pricing last reviewed August 2026 and is indicative only — confirm on each vendor’s own page.