The OpenStack community (https://www.openstack.org/) created a nice little security linter called Bandit to try to catch insecure code (https://wiki.openstack.org/wiki/Security/Projects/Bandit).
The tool uses the ast module to parse the code such as Flake8 or other linters. Bandit will scan for some known security issues in your code.
Once you've installed it with the pip install bandit command, you can run it against your Python module using the bandit command.
The following script is an example of three unsafe functions. The first one will let you load YAML content that might instantiate arbitrary objects, and the following ones are prone to injection attacks:
import subprocess from sqlalchemy import create_engine from ...