Source Code Analysis Tools (SAST)

 Dave Wichers, itamarlavender, will-obrien, Eitan Worcel, Prabhu Subramanian, kingthorin, coadaflorin, hblankenship, GovorovViva64, pfhorman, GouveaHeitor, Clint Gibler, DSotnikov, Ajin Abraham, Noam Rathaus, Mike Jang

Source code analysis tools, also known as Static Application Security Testing (SAST) Tools, can help analyze source code or compiled versions of code to help find security flaws.

SAST tools can be added into your IDE. Such tools can help you detect issues during software development. SAST tool feedback can save time and effort, especially when compared to finding vulnerabilities later in the development cycle.

Strengths and Weaknesses


  • Scales well – can be run on lots of software, and can be run repeatedly (as with nightly builds or continuous integration).
  • Identifies certain well-known vulnerabilities, such as:
    • Buffer overflows
    • SQL injection flaws
  • Output helps developers, as SAST tools highlight the problematic code, by filename, location, line number, and even the affected code snippet.


  • Difficult to automate searches for many types of security vulnerabilities, including:
    • Authentication problems
    • Access control issues
    • Insecure use of cryptography
  • Current SAST tools are limited. They can automatically identify only a relatively small percentage of application security flaws.
  • High numbers of false positives.
  • Frequently unable to find configuration issues, since they are not represented in the code.
  • Difficult to ‘prove’ that an identified security issue is an actual vulnerability.
  • Many SAST tools have difficulty analyzing code that can’t be compiled.
    • Analysts frequently cannot compile code unless they have:
      • Correct libraries
      • Compilation instructions
      • All required code

Important Selection Criteria

  • Prerequisite: Support your programming language.
  • Ability to detect vulnerabilities, based on:
  • Accuracy:
    • False Positive/False Negative rates
    • OWASP Benchmark score
  • Ability to understand the libraries/frameworks you need
  • Requirement for buildable source code
  • Ability to run against binaries (instead of source)
  • Availability as a plugin into preferred developer IDEs
  • Ease of setup/use
  • Ability to include in Continuous Integration/Deployment tools
  • License cost (May vary by user, organization, app, or lines of code)
  • Interoperability of output:


The tools listed in the tables below are presented in alphabetical order. OWASP does not endorse any of the vendors or tools by listing them in the table below. We have made every effort to provide this information as accurately as possible. If you are the vendor of a tool below and think that this information is incomplete or incorrect, please send an e-mail to our mailing list and we will make every effort to correct this information.

.NET Security GuardOpen Source or Free.NET, C\#,
42CrunchCommercialREST API security platform that includes Security Audit (SAST), dynamic conformance scan, runtime protection, and monitoring.
AgnitioOpen Source or FreeWindowsASP, ASP.NET, C\#, Java, Javascript, Perl, PHP, Python, Ruby, VB.NET, XML Security AuditOpen Source or Freeonline tool for OpenAPI / Swagger file static security analysis
Application InspectorPositive TechnologiesCommercialcombines SAST, DAST, IAST, SCA, configuration analysis and other technologies, incl. unique abstract interpretation; has capability to generate test queries (exploits) to verify detected vulnerabilities during SAST analysis; Supported languages include: Java, C\#, PHP, JavaScript, Objective C, VB.Net, PL/SQL, T-SQL, and others.
AppSweepGuardsquareOpen Source or FreeSaaSMobile application security testing tool for compiled Android apps with support of CI/CD integration
Automated Security HelperAWSOpen Source or FreeASH is a one stop shop for security scanners, and does not require any installation. It will identify the different frameworks, and download the relevant, up to date tools. ASH is running on isolated Docker containers, keeping the user environment clean, with a single aggregated report. The following frameworks are supported: Git, Python, Javascript, Cloudformation, Terraform and Jupyter.
BanditOpen Source or FreeBandit is a comprehensive source vulnerability scanner for Python
BearerBearerCommercialSaaS or On-PremisesMap sensitive data flows and identify security risks such as unauthorized data flow, missing encryption, unauthorized access, and more.
Betterscan CE (Community Edition)Marcin KozlowskiOpen SourceCode Scanning/SAST/Static Analysis/Linting using many tools/Scanners with One Report. Currently supports: PHP, Java, Scala, Python, Ruby, Javascript, GO, Secret Scanning, Dependency Confusion, Trojan Source, Open Source and Proprietary Checks (total ca. 1000 checks). Supports also Differential analysis. Goal is to have one report using many tools/scanners
Beyond Security beSOURCEBeyond SecurityCommercialStatic application security testing (SAST) used to be divorced from Code quality reviews, resulting in limited impact and value. beSOURCE addresses the code security quality of applications and thus integrates SecOps into DevOps.
BlueClosure BC DetectBlueClosureCommercialAnalyzes client-side JavaScript.
BrakemanOpen Source or FreeBrakeman is an open source vulnerability scanner specifically designed for Ruby on Rails applications
bugScoutNalbatech, Formerly BugurooCommercial
CAST AIPCommercialPerforms static and architectural analysis to identify numerous types of security issues. Supports over 30 languages. [AIP’s security specific coverage is here](
clj-holmesclj-holmesOpen SourceLinux and MacOsA CLI SAST (Static application security testing) tool which was built with the intent of finding vulnerable Clojure code via rules that use a simple pattern language.
CloudDefenseCloudDefenseCommercialSaaS or On-PremisesCloudDefense provides holistic threat intelligence across all attack surfaces – Containers, Kubernetes, Code, Open Source Libraries, APIs and more…
CodacyCommercialOffers security patterns for languages such as Python, Ruby, Scala, Java, JavaScript and more. Integrates with tools such as Brakeman, Bandit, FindBugs, and others. (free for open source projects)
CodeScan CloudCommercialA Salesforce focused, SaaS code quality tool leveraging SonarQube’s OWASP security hotspots to give security visibility on Apex, Visualforce, and Lightning proprietary languages.
CodeSonarGrammaTechCommercialtool that supports C, C++, Java and C# and maps against the OWASP top 10 vulnerabilities.
CodigaCodigaCommercialSaaS or On-PremisesCodiga scans your code and find security, safety, design, performance and maintainability issues in your code at each push or pull request. It integrates with GitHub, GitLab and Bitbucket.
CoGuardHeinle Solutions Inc.CommercialSaaS or On-PremisesA SAST tool for infrastructure configuration analysis. Support for common web servers, databases, streaming services, authentication services, container orchestration and Infrastructure-as-Code tools.
Contrast AssessCommercialContrast performs code security without actually doing static analysis. Contrast does Interactive Application Security Testing (IAST), correlating runtime code & data analysis. It provides code level results without actually relying on static analysis.
Coverity Static AnalysisSynopsysCommercialApex, C/C++, C#, CUDA, Java#, JavaScript, PHP, Python, .NET Core, ASP.NET, Objective-C, Go, JSP, Ruby, Swift, Fortran, Scala, VB.NET, iOS, Android, TypeScript, Kotlin
CxSASTCheckmarxCommercialSaas, or on-premises. Windows and Linux with CI/CD and IDE plugin integrationRun full or incremental source code security scans. Supported languages include Javascript, Java, Apex, PHP, Python, Swift, Scala, Perl, Groovy, Ruby, C++, C#.NET, PL/SQL, VB.NET, ASP.NET, HTML 5, Windows Mobile, Go, and Kotlin.
DawnscannerOpen Source or FreeDawnscanner is an open source security source code analyzer for Ruby, supporting major MVC frameworks like Ruby on Rails, Padrino, and Sinatra. It also works on non-web applications written in Ruby.
Deep DiveOpen Source or FreeByte code analysis tool for discovering vulnerabilities in Java deployments (EAR, WAR, JAR).
DeepSourceDeepSource Corp.CommercialSaaS or On-PremisesDeepSource helps companies ship clean and secure code with powerful static analysis, OWASP Top 10 compliance, and Autofix. Supports all major programming languages.
DerScannerDerScanner Ltd.CommercialCapable of identifying vulnerabilities and backdoors (undocumented features) in over 30 programming languages by analyzing source code or executables, without requiring debug info.
DevBugOpen Source or FreeWeb BasedPHP
ECGVoidSecCommercialSaaS TCL Static Source Code Analysis Tool able to detect real and complex security vulnerabilities in TCL/ADP source-code. Discovered vulnerabilities will be mapped against the OWASP top 10 vulnerabilities.
EnlightnEnlightn SoftwareOpen SourceEnlightn is a vulnerability scanner specifically designed for Laravel PHP applications that combines SAST, DAST, IAST and configuration analysis techniques to detect vulnerabilities.
Find Security BugsOpen Source or FreeJava, Scala, Groovy
FindBugsOpen Source or FreeFind bugs (including a few security flaws) in Java programs [Legacy – NOT Maintained – Use SpotBugs (see other entry) instead]
FindSecBugsOpen Source or FreeA security specific plugin for SpotBugs that significantly improves SpotBugs’s ability to find security vulnerabilities in Java programs. Works with the old FindBugs too.
FlawfinderOpen Source or FreeScans C and C++.
Fluid Attack’s ScannerFluid AttacksOpen SourceSAST, DAST and SCA vulnerability detection tool with perfect OWASP Benchmark score.
FortifyMicro FocusCommercialWindows, Linux, and MacOSXFree trial scan available. Supported languages include: ABAP/BSP, ActionScript/MXML (Flex), APEX, ASP.NET, VB.NET, C\# (.NET), C/C++, Classic ASP (w/VBScript), COBOL, ColdFusion CFML, Go, HTML, Java (including Android), JavaScript/AJAX, JSP, Kotlin, Objective-C, PHP, PL/SQL, Python, Typescript, T-SQL, Ruby, Scala, Swift, Visual Basic (VB.NET), Visual Basic 6, VBScript, XML
GitGuardian — Automated Secrets DetectionCommercialSaaS or On-PremisesSecure your software development with automated secrets detection & remediation for private or public source code.
GitHub Advanced SecurityGitHubOpen Source or FreeSaaS or On-PremisesGitHub Advanced Security uses CodeQL for Static Code Analysis, and GitHub Secret Scanning for identifying tokens. GitHub code scanning can import SARIF from any other SAST tool
GitLabGitLabCommercialSaaS, Linux, Windows
GolangCI-LintOpen Source or FreeA Go Linters aggregator – One of the Linters is [gosec (Go Security)](, which is off by default but can easily be enabled.
Google CodeSearchDiggityOpen Source or FreeUses Google Code Search to identify vulnerabilities in open source code projects hosted by Google Code, MS CodePlex, SourceForge, Github, and more. The tool comes with over 130 default searches that identify SQL injection, cross-site scripting (XSS), insecure remote and local file includes, hard-coded passwords, and much more. *Essentially, Google CodeSearchDiggity provides a source code security analysis of nearly every single open source code project in existence – simultaneously.*
GrauditOpen Source or FreeLinuxScans multiple languages for various security flaws. Basically security enhanced code Grep.
HCL AppScan CodeSweep – GitHub ActionHCL SoftwareOpen Source or FreeScan the new code on a push/pull request using a GitHub action. Findings are highlighted in the `Files Changed` view and details about the issue and mitigation steps can be found in the `Actions` page. Unrestricted usage allowed with a free trial account. The tool currently supports Python, Ruby, JS (Vue, React, Node, Angular, JQuery, etc), PHP, Perl, COBOL, APEX & a few more.
HCL AppScan CodeSweep – IDEHCL SoftwareOpen Source or FreeThis is the first Community edition version of AppScan. It is delivered as a VS Code [] and JetBrains [] (IntelliJ IDEA, CLion, GoLand, PhpStorm, PyCharm , Rider, RubyMine, WebStorm) plugin and scans files upon saving them. The results show the location of a finding, type and remediation advice. The tool currently supports Java, .Net, Go, Python, Ruby, JS (Node, Angular, JQuery, etc) , PHP, Perl, COBOL, APEX & a few more. Auto-fix for some of the issues is available with a free trial.
HCL AppScan on CloudHCL SoftwareOpen Source or FreeApex, ASP, C, C++, COBOL, ColdFusion, Go, Java, JavaScript(Client-side JavaScript, Kotlin, NodeJS, and AngularJS), .NET (C#, ASP.NET, VB.NET), .NET Core, Perl, PHP, PL/SQL, Python, Ruby, T-SQL, Swift, Visual Basic 6
HCL AppScan SourceHCL SoftwareCommercialAndroid, Apex, ASP, C, C++, COBOL, ColdFusion, Go, Java, JavaScript(Client-side JavaScript, NodeJS, and AngularJS), .NET (C#, ASP.NET, VB.NET), .NET Core, Perl, PHP, PL/SQL, Python, Ruby, T-SQL, Visual Basic 6
Hdiv DetectionHdiv SecurityCommercialHdiv performs code security without actually doing static analysis. Hdiv does Interactive Application Security Testing (IAST), correlating runtime code & data analysis. It provides code-level results without actually relying on static analysis.
HorusecOpen Source or FreeC#, Java, Kotlin, Python, Ruby, Golang, Terraform, Javascript, Typescript, Kubernetes, PHP, C, HTML, JSON, Dart, Elixir, Shell, Nginx, Swift
HuskyCIOpen Source or FreeHuskyCI is an open-source tool that orchestrates security tests inside CI pipelines of multiple projects and centralizes all results into a database for further analysis and metrics. HuskyCI can perform static security analysis in Python (Bandit and Safety), Ruby (Brakeman), JavaScript (Npm Audit and Yarn Audit), Golang (Gosec), and Java(SpotBugs plus Find Sec Bugs)
Insider CLIInsiderSecOpen Source or FreeA open source Static Application Security Testing tool (SAST) written in GoLang for Java Maven and Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C#, and Javascript (Node.js).
Kiuwana division of Idera, Inc.Commercialprovides an application security testing and analytics platform – including SAST and SCA solutions – that reduces risk and improves change management and DevOps processes
KlocworkPerforceCommercialStatic Code Analysis for C, C++, C#, Java, JavaScript, Python, Kotlin
KroogalCommercialC, C++
LGTMOpen Source or FreeA free for open source static analysis service that automatically monitors commits to publicly accessible code in Bitbucket Cloud, GitHub, or GitLab. Supports C/C++, C\#, Go, Java, JavaScript/TypeScript, Python.
LunaTrace by LunaSecLunaSecOpen Source or FreeSaaS or On-PremisesSoftware Composition Analysis (SCA) tool to generate SBOMs, identify vulnerabilities in dependencies, and generate patches. Leverages Static Analysis to reduce false positives by filtering non-exploitable CVEs.
Mend SASTMendCommercialStatic security analysis for 27+ languages.
Microsoft FxCopOpen Source or Free.NET
Microsoft PREFastOpen Source or FreeC, C++
MobSFOpen Source or FreeMobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.
MobSFOpen Source or FreeWindows, UnixAndroid Java, Objective C, Swift
NextGen Static AnalysisShiftLeftCommercialSaaSFree version available. Currently supports Java, JavaScript, C\#, TypeScript, Python, and Terraform. Create your free account at
nodejsscanOpen Source or FreeUnixNode.js
Nucleaus CoreNucleausCommercialSaaSScans Git repos daily and provides a web-based dashboard to track code and dependency vulnerabilities. Handles team-based access patterns, vulnerability exception lifecycle, and is built on API first principles.
Offensive360CommercialSAST technology that attacks the source code from all corners it has all in one. Malware, SCA, License, and deep source code analysis.
OversecuredOversecured IncCommercialiOS, AndroidEnterprise vulnerability scanner for Android and iOS apps. It offers app owners and developers the ability to secure each new version of a mobile app by integrating Oversecured into the development process.
OWASP ASST (Automated Software Security Toolkit)Tarik Seyceri & OWASPOpen Source or FreeUbuntu, MacOSX and WindowsAn Open Source, Source Code Scanning Tool, developed with JavaScript (Node.js framework), Scans for PHP & MySQL Security Vulnerabilities According to OWASP Top 10 and Some other OWASP’s famous vulnerabilities, and it teaches developers of how to secure their codes after scan.
OWASP Code CrawlerOWASPOpen Source.NET, Java
OWASP LAPSE ProjectOWASPOpen SourceJava
OWASP Orizon ProjectOWASPOpen SourceJava
OWASP WAP (Web Application Protection)OWASPOpen SourcePHP
ParaSoftOpen Source or FreeC, C++, Java, .NET
Parasoft TestParasoftCommercialTest tools for C/C++, .NET, Java
phpcs-security-auditOpen Source or FreeA set of PHP_CodeSniffer rules to finds flaws or weaknesses related to security in PHP and its popular CMS or frameworks. It currently has core PHP rules as well as Drupal 7 specific rules.
PITSS.CONPITTSCommercialScans Oracle Forms and Reports Applications
PMDOpen Source or FreePMD scans Java source code and looks for potential code problems (this is a code quality tool that does not focus on security issues).
Polyspace Static Analysis ToolsCommercialC, C++, Ada
PreFastMicrosoftOpen Source or FreePREfast is a static analysis tool that identifies defects in C/C++ programs. Last update 2006.
ProgpilotOpen Source or FreeProgpilot is a static analyzer tool for PHP that detects security vulnerabilities such as XSS and SQL Injection.
PsalmVimeo, Inc.Open SourceStatic code analysis for PHP projects, written in PHP.
PT Application InspectorPositive TechnologiesCommercialCombines SAST, DAST, IAST, SCA, configuration analysis and other technologies for high accuracy. Can generate special test queries (exploits) to verify detected vulnerabilities during SAST analysis. Supports Java, C\#, PHP, JavaScript, Objective C, VB.Net, PL/SQL, T-SQL, and others.
Puma ScanPuma SecurityCommercialA .NET C\# static source code analyzer that runs as a Visual Studio IDE extension, Azure DevOps extension, and Command Line (CLI) executable.
Puma Scan ProfessionalOpen Source or Free.NET, C\#
PVS-StudioOpen Source or FreeC, C++, C\#
PVS-Studio AnalyzerPVS-StudioCommercialStatic code security analysis for C, C++, C#, and Java. A commercial B2B solution, but provides several free [licensing options](
PyreOpen Source or FreeA performant type-checker for Python 3, that also has [limited security/data flow analysis]( capabilities.
reshiftCommercialA CI/CD static code security analysis tool for Java that uses machine learning to give a prediction on false positives.
SecureAssistSynopsysCommercialScans code for insecure coding and configurations automatically as an IDE plugin for Eclipse, IntelliJ, and Visual Studio, etc. Supports Java, .NET, PHP, and JavaScript.
Security Code ScanOpen Source or FreeStatic code analyzer for .NET. It will find SQL injections, LDAP injections, XXE, cryptography weakness, XSS and more.
SeekerSynopsysCommercialSeeker performs code security without actually doing static analysis. Seeker does Interactive Application Security Testing (IAST), correlating runtime code & data analysis with simulated attacks. It provides code level results without actually relying on static analysis.
SemgrepOpen Source or FreeLightweight static analysis for many languages. Find bug variants with patterns that look like source code. No compilation needed to scan source code. Supports Go, Java, JavaScript, JSON,Python, TypeScript, and more.
Sentinel SourceWhitehatCommercialStatic security analysis for 10+ languages.
ShiftLeft ScanOpen Source or FreeA free open-source DevSecOps platform for detecting security issues in source ode and dependencies. It supports a broad range of languages and CI/CD pipelines by bundling various open source scanners into the pipeline.
Sink TankOpen Source or FreeJava byte code static code analyzer for performing source/sink (taint) analysis.
Snyk CloudSnyk LimitedCommercial or FreeSaaS, IDE PluginDetects cloud security issues as soon as developers start designing configurations, providing expert guidance to cloud, platform, and security teams in the tools and workflows they use every day.
Snyk CodeSnyk LimitedCommercial or FreeSaaS, IDE PluginAI-powered code checker that analyzes your code for security issues, providing actionable advice directly from your IDE to help you fix vulnerabilities quickly
Snyk ContainerSnyk LimitedCommercial or FreeSaaS, IDE PluginContainer and Kubernetes security that helps developers and DevOps find and fix vulnerabilities throughout the SDLC.
Snyk IaCSnyk LimitedCommercial or FreeSaaS, IDE PluginReduce risk by automating Infrastructure as Code (IaC) security and compliance in development workflows pre-deployment and detecting drifted and missing resources post-deployment.
Snyk Open SourceSnyk LimitedCommercial or FreeSaaS, IDE PluginSoftware composition analysis (SCA) solution helping developers find, prioritize, and fix security vulnerabilities and license issues in open source dependencies.
SonarCloudOpen Source or FreeABAP, C, C++, Objective-C, COBOL, C\#, CSS, Flex, Go, HTML, Java, Javascript, Kotlin, PHP, PL/I, PL/SQL, Python, RPG, Ruby, Swift, T-SQL, TypeScript, VB6, VB, XML
SonarQubeOpen Source or FreeScans source code for 15 languages for Bugs, Vulnerabilities, and Code Smells. SonarQube IDE plugins for Eclipse, Visual Studio, and IntelliJ provided by [SonarLint](
SpectralSpectralOpsOpen Source or FreeMulti-platform & Multi-architecture. Linux/Windows/MacOSx/*nix. Programming-language agnosticDiscover, classify, and protect your codebases, logs, and other assets. Monitor and detect API keys, tokens, credentials, high-risk security misconfiguration and more.
SplintOpen Source or FreeC
SpotBugsOpen Source or FreeJava. This is the active fork replacement for FindBugs, which is not maintained anymore. Very little security. FindSecBugs plugin provides security rules.
Static ReviewerSecurity ReviewerCommercialWindows and Linux; on-Premises and in Cloud; Desktop, CLI and CI/CD & IDE plugin integrationStatic Reviewer executes code checks according to the most relevant Secure Coding Standards for 40+ programming languages, using 1000+ built-in validation rules.
UnderstandSciToolsCommercialWindows, MacOSX, LinuxIDE that provides static code analysis using graphs, documentation, and metrics. Scans code to check for vulnerabilities and ensures compliance with standards like MISRA and AUTOSAR. Works with 20 languages including C, C++, C#, JavaScript, Python, and Java.
VeracodeOpen Source or FreeAndroid, ASP.NET, C\#, C, C++, Classic ASP, COBOL, ColdFusion/Java, Go, Groovy, iOS, Java, JavaScript, Perl, PhoneGap/Cordova, PHP, Python, React Native, RPG, Ruby on Rails, Scala, Titanium, TypeScript, VB.NET, Visual Basic 6, Xamarin
Veracode Static AnalysisVeracodeCommercial
VisualCodeGrepperOpen Source or FreeWindowsC/C++, C\#, VB, PHP, Java, PL/SQL
VisualCodeGrepper (VCG)Open Source or FreeScans C/C++, C\#, VB, PHP, Java, PL/SQL, and COBOL for security issues and for comments which may indicate defective code. The config files can be used to carry out additional checks for banned functions or functions which commonly cause security issues.
VS Code OpenAPI (Swagger) Editor extensionOpen Source or FreePlugin to Microsoft Visual Studio Code that enables rich editing capabilities for REST API contracts and also includes linting and Security Audit (static security analysis).
XanitizerXanitizerCommercialCLI and plugin integrationA SAST tool for Java, Scala, and JavaScript/TypeScript, mainly via taint analysis. Per this pricing page, it is free for Open Source projects if you contact the vendor.

More info

Trả lời

Bạn cần phải đăng nhập để gửi bình luận: Logo

Bạn đang bình luận bằng tài khoản Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s