An ongoing & curated collection of awesome software best practices and techniques, libraries and frameworks, E-books and videos, websites, blog posts, links to github Repositories, technical guidelines and important resources about Static Application Security Testing (SAST) Tools.
Thanks to all contributors, you're awesome and wouldn't be possible without you! Our goal is to build a categorized community-driven collection of very well-known resources.
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.
- 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
- Analysts frequently cannot compile code unless they have:
- Prerequisite: Support your programming language.
- Ability to detect vulnerabilities, based on:
- The OWASP Top Ten
- Other criteria such as:
- 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:
- See OASIS [SARIF (Static Analysis Results Interchange Format)](https://rawgit.com/sarif-standard/sarif-spec/master/ standard)
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.
Name/Link | Owner | License | Platforms | Note |
---|---|---|---|---|
.NET Security Guard | Open Source or Free | .NET, C#, VB.net | ||
42Crunch | Commercial | REST API security platform that includes Security Audit (SAST), dynamic conformance scan, runtime protection, and monitoring. | ||
Agnitio | Open Source or Free | Windows | ASP, ASP.NET, C#, Java, Javascript, Perl, PHP, Python, Ruby, VB.NET, XML | |
APIsecurity.io Security Audit | Open Source or Free | online tool for OpenAPI / Swagger file static security analysis | ||
Application Inspector | Positive Technologies | Commercial | combines 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. | |
Bandit | Open Source or Free | Bandit is a comprehensive source vulnerability scanner for Python | ||
Bearer | Bearer | Commercial | SaaS or On-Premises | Map sensitive data flows and identify security risks such as unauthorized data flow, missing encryption, unauthorized access, and more. |
Beyond Security beSOURCE | Beyond Security | Commercial | Static 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 Detect | BlueClosure | Commercial | Analyzes client-side JavaScript. | |
Brakeman | Open Source or Free | Brakeman is an open source vulnerability scanner specifically designed for Ruby on Rails applications | ||
bugScout | Nalbatech, Formerly Buguroo | Commercial | ||
CAST AIP | Commercial | Performs static and architectural analysis to identify numerous types of security issues. Supports over 30 languages. AIP's security specific coverage is here. | ||
clj-holmes | clj-holmes | Open Source | Linux and MacOs | A 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. |
CloudDefense | CloudDefense | Commercial | SaaS or On-Premises | CloudDefense provides holistic threat intelligence across all attack surfaces - Containers, Kubernetes, Code, Open Source Libraries, APIs and more... |
Codacy | Commercial | Offers 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 Cloud | Commercial | A Salesforce focused, SaaS code quality tool leveraging SonarQube's OWASP security hotspots to give security visibility on Apex, Visualforce, and Lightning proprietary languages. | ||
CodeSonar | Commercial | tool that supports C, C++, Java and C# and maps against the OWASP top 10 vulnerabilities. | ||
CodeSonar | Open Source or Free | C, C++, Java | ||
Codiga | Codiga | Commercial | SaaS or On-Premises | Codiga 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. |
CoGuard | Heinle Solutions Inc. | Commercial | SaaS or On-Premises | A SAST tool for infrastructure configuration analysis. Support for common web servers, databases, streaming services, authentication services, container orchestration and Infrastructure-as-Code tools. |
Contrast Assess | Commercial | Contrast 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 | Open Source or Free | Android, C#, C, C++, Java, JavaScript, Node.js, Objective-C, PHP, Python, Ruby, Scala, Swift, VB.NET | ||
Coverity Static Analysis | Synopsys | Commercial | ||
CxSAST | Checkmarx | Commercial | Saas, or on-premises. Windows and Linux with CI/CD and IDE plugin integration | Run 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. |
Dawnscanner | Open Source or Free | Dawnscanner 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 Dive | Open Source or Free | Byte code analysis tool for discovering vulnerabilities in Java deployments (EAR, WAR, JAR). | ||
DeepSource | DeepSource Corp. | Commercial | SaaS or On-Premises | DeepSource helps you automatically find and fix issues in your code during code reviews, such as bug risks, anti-patterns, performance issues, and security flaws. It takes less than 5 minutes to set up with your Bitbucket, GitHub, or GitLab account. It works for Python, Go, Ruby, and JavaScript. |
DerScanner | DerScanner Ltd. | Commercial | Capable of identifying vulnerabilities and backdoors (undocumented features) in over 30 programming languages by analyzing source code or executables, without requiring debug info. | |
DevBug | Open Source or Free | Web Based | PHP | |
ECG | VoidSec | Commercial | SaaS 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. | |
Enlightn | Enlightn Software | Open Source | Enlightn is a vulnerability scanner specifically designed for Laravel PHP applications that combines SAST, DAST, IAST and configuration analysis techniques to detect vulnerabilities. | |
Find Security Bugs | Open Source or Free | Java, Scala, Groovy | ||
FindBugs | Open Source or Free | Find bugs (including a few security flaws) in Java programs [Legacy - NOT Maintained - Use SpotBugs (see other entry) instead] | ||
FindSecBugs | Open Source or Free | A security specific plugin for SpotBugs that significantly improves SpotBugs's ability to find security vulnerabilities in Java programs. Works with the old FindBugs too. | ||
Flawfinder | Open Source or Free | Scans C and C++. | ||
Fluid Attack's Scanner | Fluid Attacks | Open Source | SAST, DAST and SCA vulnerability detection tool with perfect OWASP Benchmark score. | |
Fortify | Micro Focus | Commercial | Windows, Linux, and MacOSX | Free 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 Detection | Commercial | SaaS or On-Premises | Secure your software development with automated secrets detection & remediation for private or public source code. | |
GitHub Advanced Security | GitHub | Open Source or Free | SaaS or On-Premises | GitHub 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 |
GitLab | GitLab | Commercial | SaaS, Linux, Windows | |
GolangCI-Lint | Open Source or Free | A Go Linters aggregator - One of the Linters is gosec (Go Security), which is off by default but can easily be enabled. | ||
Google CodeSearchDiggity | Open Source or Free | Uses 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. | ||
Graudit | Open Source or Free | Linux | Scans multiple languages for various security flaws. Basically security enhanced code Grep. | |
HCL AppScan CodeSweep - GitHub Action | HCL Software | Open Source or Free | Scan 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 - VS Code | HCL Software | Open Source or Free | This is the first Community edition version of AppScan. It is delivered as a VS Code plugin and scans files upon saving them. The results show the location of a finding, type and remediation advice. The tool currently supports Python, Ruby, JS (Node, Angular, JQuery, etc) , PHP, Perl, COBOL, APEX & a few more. | |
HCL AppScan on Cloud | HCL Software | Open Source or Free | Apex, 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 Source | HCL Software | Commercial | Android, 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 Detection | Hdiv Security | Commercial | Hdiv 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. | |
Horusec | Open Source or Free | Python(3.x), Ruby, Javascript, GoLang, .NetCore(3.x), Java, Kotlin, Terraform | ||
HuskyCI | Open Source or Free | HuskyCI 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 CLI | InsiderSec | Open Source or Free | A 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). | |
Kiuwan | a division of Idera, Inc. | Commercial | provides an application security testing and analytics platform – including SAST and SCA solutions – that reduces risk and improves change management and DevOps processes | |
Klocwork | Perforce | Commercial | Static Code Analysis for C, C++, C#, and Java | |
Klocwork | Open Source or Free | C, C++, C#, Java | ||
Kroogal | Commercial | C, C++ | ||
LGTM | Open Source or Free | A 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. | ||
Microsoft FxCop | Open Source or Free | .NET | ||
Microsoft PREFast | Open Source or Free | C, C++ | ||
MobSF | Open Source or Free | Mobile 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. | ||
MobSF | Open Source or Free | Windows, Unix | Android Java, Objective C, Swift | |
NextGen Static Analysis | ShiftLeft | Commercial | SaaS | Free version available. Currently supports Java, JavaScript, C#, TypeScript, Python, and Terraform. Create your free account at https://shiftleft.io/register. |
nodejsscan | Open Source or Free | Unix | Node.js | |
Nucleaus Core | Nucleaus | Commercial | SaaS | Scans 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. |
Offensive360 | Commercial | SAST technology that attacks the source code from all corners it has all in one. Malware, SCA, License, and deep source code analysis. | ||
Oversecured | Oversecured Inc | Commercial | iOS, Android | Enterprise 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 & OWASP | Open Source or Free | Ubuntu, MacOSX and Windows | An 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 Crawler | OWASP | Open Source | .NET, Java | |
OWASP LAPSE Project | OWASP | Open Source | Java | |
OWASP Orizon Project | OWASP | Open Source | Java | |
OWASP WAP (Web Application Protection) | OWASP | Open Source | PHP | |
ParaSoft | Open Source or Free | C, C++, Java, .NET | ||
Parasoft Test | Parasoft | Commercial | Test tools for C/C++, .NET, Java | |
phpcs-security-audit | Open Source or Free | A 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.CON | PITTS | Commercial | Scans Oracle Forms and Reports Applications | |
PMD | Open Source or Free | PMD 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 | Open Source or Free | C, C++, Ada | ||
PreFast | Microsoft | Open Source or Free | PREfast is a static analysis tool that identifies defects in C/C++ programs. Last update 2006. | |
Progpilot | Open Source or Free | Progpilot is a static analyzer tool for PHP that detects security vulnerabilities such as XSS and SQL Injection. | ||
Psalm | Vimeo, Inc. | Open Source | Static code analysis for PHP projects, written in PHP. | |
PT Application Inspector | Positive Technologies | Commercial | Combines 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 Scan | Puma Security | Commercial | A .NET C# static source code analyzer that runs as a Visual Studio IDE extension, Azure DevOps extension, and Command Line (CLI) executable. | |
Puma Scan Professional | Open Source or Free | .NET, C# | ||
PVS-Studio | Open Source or Free | C, C++, C# | ||
PVS-Studio Analyzer | PVS-Studio | Commercial | Static code security analysis for C, C++, C#, and Java. A commercial B2B solution, but provides several free licensing options. | |
Pyre | Open Source or Free | A performant type-checker for Python 3, that also has limited security/data flow analysis capabilities. | ||
reshift | Commercial | A CI/CD static code security analysis tool for Java that uses machine learning to give a prediction on false positives. | ||
RIPS Code Analysis | RIPS Technologies - Acquired by SonarSource | Commercial | Static security analyzer for Java and PHP. | |
ScanMyCode CE (Community Edition) | Marcin Kozlowski | Open Source | Code 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 | |
SecureAssist | Synopsys | Commercial | Scans 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 Scan | Open Source or Free | Static code analyzer for .NET. It will find SQL injections, LDAP injections, XXE, cryptography weakness, XSS and more. | ||
Seeker | Synopsys | Commercial | Seeker 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. | |
Semgrep | Open Source or Free | Lightweight 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 Source | Whitehat | Commercial | Static security analysis for 10+ languages. | |
ShiftLeft Scan | Open Source or Free | A 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 Tank | Open Source or Free | Java byte code static code analyzer for performing source/sink (taint) analysis. | ||
Snyk | Snyk Limited | Commercial or Free | SaaS, IDE Plugin | Find, learn and fix vulnerabilities in open source dependencies, in your application code, in container images or insecure configurations in Terraform and Kubernetes. |
SonarCloud | Open Source or Free | ABAP, 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 | ||
SonarQube | Open Source or Free | Scans source code for 15 languages for Bugs, Vulnerabilities, and Code Smells. SonarQube IDE plugins for Eclipse, Visual Studio, and IntelliJ provided by SonarLint. | ||
Spectral | SpectralOps | Open Source or Free | Multi-platform & Multi-architecture. Linux/Windows/MacOSx/*nix. Programming-language agnostic | Discover, classify, and protect your codebases, logs, and other assets. Monitor and detect API keys, tokens, credentials, high-risk security misconfiguration and more. |
Splint | Open Source or Free | C | ||
SpotBugs | Open Source or Free | Java. This is the active fork replacement for FindBugs, which is not maintained anymore. Very little security. FindSecBugs plugin provides security rules. | ||
Static Reviewer | Security Reviewer | Commercial | Windows and Linux; on-Premises and in Cloud; Desktop, CLI and CI/CD & IDE plugin integration | Static Reviewer executes code checks according to the most relevant Secure Coding Standards for 40+ programming languages, using 1000+ built-in validation rules. |
Thunderscan SAST | DefenseCode | Commercial | Static security analysis for 27+ languages. | |
Veracode | Open Source or Free | Android, 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 Analysis | Veracode | Commercial | ||
VisualCodeGrepper | Open Source or Free | Windows | C/C++, C#, VB, PHP, Java, PL/SQL | |
VisualCodeGrepper (VCG) | Open Source or Free | Scans 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 extension | Open Source or Free | Plugin to Microsoft Visual Studio Code that enables rich editing capabilities for REST API contracts and also includes linting and Security Audit (static security analysis). | ||
Xanitizer | Xanitizer | Commercial | CLI and plugin integration | A 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. |
contributors:
- Dave Wichers, itamarlavender, will-obrien, Eitan Worcel, Prabhu Subramanian, kingthorin, coadaflorin, hblankenship, GovorovViva64, pfhorman, GouveaHeitor, Clint Gibler, DSotnikov, Ajin Abraham, Noam Rathaus, Mike Jang tags: source code analysis, static code analysis, tools permalink: /Source_Code_Analysis_Tool
-
DAST Tools - Similar info on Dynamic Application Security Testing (DAST) Tools.
-
Free for Open Source Application Security Tools - This page lists the Commercial Source Code Analysis Tools (SAST) we know of that are free for Open Source.
MIT License & cc license
This work is licensed under a Creative Commons Attribution 4.0 International License.
To the extent possible under law, Paul Veillard has waived all copyright and related or neighboring rights to this work. The underlying source code used to format and display that content is licensed under the MIT licens