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

  1. gosec (Golang security checker)
  2. graudit (static code analysis tool)
  3. Shellharden (linting tool for shell scripts)

These tools are ranked as the best alternatives to Cppcheck.

Alternatives (by score)

85

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

    gosec review

    93

    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

      graudit review

      85

      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

      Shellharden review

      85

      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

        Bandit review

        60

        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

          PyT review

          93

          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

            angr review

            74

            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

              gauntlt review

              100

              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

              Brakeman review

              60

              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

                Jackhammer review

                56

                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

                Shellyzer review

                Some relevant tool missing as an alternative to Cppcheck? Please contact us with your suggestion.