Cppcheck alternatives
Looking for an alternative tool to replace Cppcheck? During the review of Cppcheck we looked at other open source tools. Based on their category, tags, and text, these are the ones that have the best match.
Top 3
- gosec (Golang security checker)
- graudit (static code analysis tool)
- Shellharden (linting tool for shell scripts)
These tools are ranked as the best alternatives to Cppcheck.
Alternatives (by score)
gosec
Introduction
Gosec is a security tool that performs a static code analysis for Golang projects for security flaws. The scan is performed on the so-called abstract syntax tree (AST). Gosec checks for common flaws that may be part of the selected project.
Project details
gosec is written in Golang.
Strengths and weaknesses
- + More than 25 contributors
- + More than 1000 GitHub stars
- + The source code of this software is available
Typical usage
- Code analysis
- Safe software development
graudit
Introduction
Analysis of source code helps to find programming flaws including those that can lead to software vulnerabilities. Graudit helps to uncover these by searching through the files and discover possible flaws. The tool supports languages like ASP, C, Perl, PHP, Python, and others.
Project details
graudit is written in shell script.
Strengths and weaknesses
- + The source code is easy to read and understand
- + Tool is easy to use
- + Used language is shell script
- + The source code of this software is available
Typical usage
- Code analysis
Shellharden
Introduction
Shellharden helps to detect flaws in shell scripts that may result in vulnerabilities. While being similar to Shellcheck, this tool can apply the suggested changes to a shell script.
Project details
Shellharden is written in Rust.
Strengths and weaknesses
- + Tool is easy to use
- + More than 3000 GitHub stars
- + The source code of this software is available
- - Full name of author is unknown
Typical usage
- Code analysis
Bandit
Introduction
Bandit is a tool that can be used during development or afterward. Typically this is used by developers to find common security issues in Python code before putting the code in production. Another use-case would be to use this tool to analyze existing projects and find possible flaws.
Project details
Bandit is written in Python.
Strengths and weaknesses
- + More than 50 contributors
- + The source code of this software is available
- + Supported by a large company
Typical usage
- Code analysis
PyT (Python Taint)
Introduction
Python Taint (or PyT) is a static code analyzer for Python scripts and applications. It tries to discover vulnerabilities or other possible weaknesses.Project details
PyT is written in Python.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Code analysis
angr
Introduction
Tools like angr are great for performing in-depth analysis of binaries. This could be the analysis of an unknown binary, like a collected malware sample.
Project details
angr is written in Python.
Strengths and weaknesses
- + More than 50 contributors
- + More than 1000 GitHub stars
- + The source code of this software is available
Typical usage
- Binary analysis
- Malware analysis
gauntlt
Introduction
Gauntlt allows you to run different attacks on your code with the goal to build better software and withstand the biggest threats in existence.
Project details
gauntlt is written in Ruby.
Strengths and weaknesses
- + More than 10 contributors
- + More than 500 GitHub stars
- + The source code of this software is available
Typical usage
- Code analysis
Brakeman
Introduction
Brakeman is a static code analysis tool for Ruby on Rails to perform a security review. It comes as an open source project with optional commercial support.
Project details
Brakeman is written in Ruby.
Strengths and weaknesses
- + Commercial support available
- + More than 5000 GitHub stars
- + The source code of this software is available
- - Commercial usage is restricted to some extent
Typical usage
- Code analysis
Jackhammer
Introduction
The tool uses RBAC (Role Based Access Control) with different levels of access. Jackhammer uses several tools to do dynamic and static code analysis (e.g. for Java, Ruby, Python, and Nodejs). It checks also for vulnerabilities in libraries. Due to its modular architecture, it can use several scanners out of the box, with options to add your own.
The Jackhammer project was initially added to GitHub on the 8th of May, 2017.
Project details
Jackhammer is written in Ruby.
Strengths and weaknesses
- + The source code of this software is available
Typical usage
- Collaboration
- Information sharing
Shellyzer
Introduction
Shell scripts are easy to create and often used by system administrator and developers. Although the language is fairly easy, there is a good number of best practices when creating them. Tools like Shellyzer can help auditing these scripts and improve the code or discover vulnerabilities.
Project details
Shellyzer is written in Python.
Strengths and weaknesses
- + The source code of this software is available
- - Unknown project license
Typical usage
- Code analysis
Some relevant tool missing as an alternative to Cppcheck? Please contact us with your suggestion.