Bandit alternatives

Looking for an alternative tool to replace Bandit? During the review of Bandit 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. PyT (static code analyzer for Python)
  2. graudit (static code analysis tool)
  3. gosec (Golang security checker)

These tools are ranked as the best alternatives to Bandit.

Alternatives (by score)

68

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

    78

    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

      84

      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

        Cppcheck

        Introduction

        Cppcheck is a static code analysis tool for C and C++ code. It helps to discover bugs that would not be picked up by compilers, yet avoid any false positives.

        Project details

        Cppcheck is written in C++.

        Strengths and weaknesses

        • + Project is mature (10+ years)
        • + The source code of this software is available

          Typical usage

          • Code analysis

          Cppcheck review

          74

          Yosai

          Introduction

          Yosai is a security framework for Python applications and adds authentication, authorization, and session management capabilities. Features include Role-Based Access Control (RBAC), two-factor authentication, and Time-based One-Time Passwords (TOTP). Besides a focus on the authentication and authorization, Yosai enables an audit trail of all relevant events.

          As each framework comes with some overhead, Yosai aims to leverage caching and serialization where possible.

          Project details

          Yosai is written in Python.

          Strengths and weaknesses

          • + The source code of this software is available

            Typical usage

            • Application security
            • Audit logging
            • Identity and access management

            Yosai review

            74

            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

              68

              yasca (Yet Another Source Code Analyzer)

              Introduction

              Yasca is a tool to perform code analysis and linting. It can be used by developers and security professionals to evaluate the code quality.

              Project details

              yasca is written in PHP.

              Strengths and weaknesses

              • + The source code of this software is available

                Typical usage

                • Code analysis

                yasca review

                89

                Safety

                Introduction

                When having applications deployed in your environment, not all of those may be installed via a package manager. When your infrastructure grows, it becomes even harder to know which tools are properly patched and which ones are not. For Python applications, this is where Safety comes in that can help scan installed software components via pip. It will also look at any of the dependencies that are installed.

                Project details

                Safety is written in Python.

                Strengths and weaknesses

                • + More than 10 contributors
                • + The source code of this software is available

                  Typical usage

                  • Penetration testing
                  • Security assessment
                  • Security monitoring
                  • Vulnerability scanning

                  Safety 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

                  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

                    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

                      60

                      pyelftools

                      Introduction

                      This toolkit is used by other software, or standalone. Its main purpose is to parse binary ELF files and DWARF debugging information. This can be useful during malware analysis or troubleshooting issues with programs.

                      Project details

                      pyelftools is written in Python.

                      Strengths and weaknesses

                      • + More than 25 contributors
                      • + More than 500 GitHub stars
                      • + The source code of this software is available

                        Typical usage

                        • Binary analysis
                        • Malware analysis

                        pyelftools review

                        85

                        uncompyle6

                        Introduction

                        A decompiler like uncompyle6 can be used to investigate Python-based software components that are compiled. These files can be recognized by their .pyc file extension.

                        This tool has been written as several other decompilers were no longer maintained. So far this software seems to have a good number of contributors and regular updates.

                        Project details

                        Strengths and weaknesses

                        • + More than 10 contributors
                        • + The source code of this software is available

                          Typical usage

                          • Binary analysis
                          • Code analysis

                          uncompyle6 review

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