Safeguard
Application Security•

Open Source SAST Tools Compared: 8 Options and Their Limits

Semgrep CE, SonarQube Community Build, Bandit, gosec, Find Security Bugs and more, compared by language, license and limits, using each project's own docs.

Safeguard Security Team
6 min read

The main open source SAST tools are Semgrep Community Edition for many languages, SonarQube Community Build for quality and basic security, and language-specific scanners: Bandit for Python, gosec for Go, Find Security Bugs for Java and eslint-plugin-security for Node.js. They differ in license, depth and how much noise they produce.

Safeguard publishes this guide and sells a competing product, so we describe other tools only from their own documentation. Details are as of 19 October 2026.

Key takeaways

  • Open source engines are free to run, but "open source" does not always cover the rules: Semgrep-maintained rules carry a separate license.
  • General tools cover many languages with shallower analysis. Language-specific tools cover one language in more detail.
  • Several of these tools state their own false positive limits. Plan for triage.
  • Most can emit SARIF or integrate with CI, so you can combine them.

Which open source SAST tools exist?

OWASP's source code analysis tools page lists many open source scanners, including Bandit, Brakeman, FindSecBugs, Semgrep, SonarQube, SpotBugs, PMD, Psalm and nodejsscan. This guide compares the ones with current documentation we could fetch. Listing on OWASP does not mean a tool is maintained today, so check the repository activity before you adopt one.

How do they compare?

Use this table as a starting filter. Every cell comes from the project's docs or repository page.

ToolLanguagesLicenseHow it analyzesCI and outputStated limits
Semgrep CE30+ languages including Python, JavaScript, TypeScript, Java, Go, Ruby and CEngine LGPL-2.1. Semgrep-maintained rules under Semgrep Rules License v1.0 for internal business usePattern rules, run locally with semgrep ci or a one-off scanCI job with diff-aware optionCommunity Edition analyzes within a single function or file
SonarQube Community Build40+ languages per its docsFree and open source, self-managedRules for maintainability, reliability and securityIntegrates with CI and DevOps platformsSonar lists taint analysis and PR analysis under paid editions
BanditPythonSee the project repositoryBuilds an AST per file and runs plugins on nodesCLI, baseline file, SARIF extraPython only
gosecGoApache-2.0Go AST and SSA, plus taint rulesGitHub Action, SARIF, JUnit and other formatsGo only
Find Security BugsJava web applicationsLGPLSpotBugs plugin with 144 vulnerability typesMaven, Ant, IDE plugins, Jenkins, SonarQubeVersion 1.14.0 dated April 2025
eslint-plugin-securityJavaScript on Node.jsApache-2.015 ESLint rulesRuns as part of ESLintREADME says it finds many false positives that need human triage
CodeQL (engine)C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby, Rust, SwiftPrivate repo use needs a GitHub Code Security licenseBuilds a database and runs queriesGitHub Actions or external CIDoes not support PHP or Scala

CodeQL is included because people often ask about it. GitHub's docs say private repository use of code scanning needs a license, so it is not free in every case.

What is the difference between a general and a language-specific tool?

General tools such as Semgrep use one engine across many languages, so you get one workflow and one report. Language-specific tools know their ecosystem. gosec ships rule groups for Go crypto, file handling and injection. Bandit has plugins built for Python constructs. Find Security Bugs recognizes more than 826 Java API signatures.

A common approach is one general tool plus the language-specific scanner for your main language, then dropping whichever finds nothing your team acts on.

Is open source SAST really free for commercial use?

The Semgrep engine is LGPL-2.1, and Semgrep's FAQ says you can use it on private and proprietary code at work. The rules are different: Semgrep-maintained rules are for internal business purposes and cannot be resold. If you scan code for clients as a paid service, read that FAQ first. For every tool, read the license file in the repository rather than relying on a summary.

What are the real limits of open source SAST?

OWASP lists the shared weaknesses: high false positives, difficulty proving a finding is exploitable, and trouble with code that cannot be built without its libraries. On top of that, community editions often hold back deeper analysis. Semgrep's README says Community Edition analyzes within a function or file, and Sonar's downloads page lists taint analysis in paid editions.

How do I choose?

  1. Pick the tools whose docs list your language.
  2. Check the license for rules as well as engine.
  3. Confirm output formats match your CI. SARIF lets GitHub code scanning display results from any tool that emits it.
  4. Run each on one repository and have a developer triage 20 findings.
  5. Keep the tools whose findings were fixed, and remove the rest.

For dependencies, which SAST does not cover, try the free in-browser dependency scan. It needs no login and keeps the file on your machine, up to 100 dependencies.

Frequently asked questions

What is the best open source SAST tool?

There is no sourced single winner. Semgrep is the broadest by language count, and language-specific tools go deeper on one language. Trial on your own code.

Is SonarQube Community Build a SAST tool?

Its docs describe rules for maintainability, reliability and security. Sonar's downloads page lists taint analysis only under paid editions, so it is closer to code quality with basic vulnerability checks.

Is Semgrep free?

The engine is LGPL-2.1 and free to run. The AppSec Platform Team tier is free for up to 10 contributors on private repositories, per Semgrep's FAQ.

Can I run several open source SAST tools together?

Yes. Many output SARIF or JSON, and GitHub shows each tool's results separately on a pull request.

Does open source SAST find dependency vulnerabilities?

No. That is software composition analysis, a separate scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.