- Joined
- May 15, 2017
- Messages
- 982
- Likes
- 760
- Points
- 1,045
Bandit is a tool designed to find common security issues in Python code. To do this Bandit processes each file, builds an AST from it, and runs appropriate plugins against the AST nodes. Once Bandit has finished scanning all the files it generates a report. Bandit was originally developed within the OpenStack Security Project and later rehomed to PyCQA.
Installation
Bandit is distributed on PyPI. The best way to install it is with pip:
Create a virtual environment (optional):
Install Bandit:
Run Bandit:
Usage
Example usage across a code tree:
Installation
Bandit is distributed on PyPI. The best way to install it is with pip:
Create a virtual environment (optional):
Code:
virtualenv bandit-env
Install Bandit:
# Or if you're working with a Python 3 projectCode:
pip install bandit
Code:
pip3 install bandit
Run Bandit:
Bandit can also be installed from source. To do so, download the source tarball from PyPI, then install it:Code:
bandit -r path/to/your/code
Code:
python setup.py install
Usage
Example usage across a code tree:
Example usage across the examples/ directory, showing three lines of context and only reporting on the high-severity issues:Code:
bandit -r ~/your_repos/project
Bandit can be run with profiles. To run Bandit against the examples directory using only the plugins listed in the ShellInjectionprofile:Code:
bandit examples/*.py -n 3 -lll
Bandit also supports passing lines of code to scan using standard input. To run Bandit with standard input:Code:
bandit examples/*.py -p ShellInjection
Download BanditCode:
cat examples/imports.py | bandit -